Dustin J. Mitchell <dustin@zmanda.com> (dustin)
r32857 | dustin | 2008-09-02 12:07:08 -0500 (Tue, 02 Sep 2008)
Fix svnmerge to run when input is not from a tty.
* contrib/client-side/svnmerge/svnmerge.py
(console_width): Condition on isatty().
Patch by: Simon Brunning <simon@brunningonline.net>
Reviewed by: Dustin J. Mitchell <dustin@zmanda.com>
Giovanni Bajo <rasky@develer.com>
r31773 | dustin | 2008-06-18 10:05:23 -0500 (Wed, 18 Jun 2008)
* svnmerge.py
(main): allow the use of the avail command against a URL instead of
the current rigid requirement that a subversion working copy be
referenced.
* svnmerge_test.py
(testAvailURL): test avail with a URL
Patch by: Shaddy Baddah <shaddy_baddah@hotmail.com>
Dustin J. Mitchell <dustin@zmanda.com>
r31772 | dustin | 2008-06-17 21:08:45 -0500 (Tue, 17 Jun 2008)
* svnmerge.py
(main): fix selection of merge source as a repository relative pathid
Patch by: Shaddy Baddah <shaddy_baddah@hotmail.com>
Review by: Dustin Mitchell <dustin@zmanda.com>
r30181 | rocketraman | 2008-04-02 08:48:18 -0500 (Wed, 02 Apr 2008)
svnmerge.py: Fix a problem with r29666 for older versions of
python that do not have the encoding attribute on the sys.stdout
object.
* contrib/client-side/svnmerge/svnmerge.py
(recode_stdout_to_file): Treat as a no-op when sys.stdout does not
have the encoding attribute.
Found by: Justin Akehurst <justin.akehurst@isilon.com>
Patch by: Justin Akehurst <justin.akehurst@isilon.com>
me
Review by: Dustin J. Mitchell <dustin@zmanda.com>
r26032 | giovannibajo | 2007-08-10 13:34:45 -0500 (Fri, 10 Aug 2007)
analyze_source_revs() gets the latest revision of the *branch*
repository, then proceeds to use that value against the *source*
repository; it should get the latest revision of the *source*.
This of course is not a bug in the common scenario of merges
within the same repository, but it is blocking our way to
inter-repository merges.
* svnmerge.py
(analyze_source_revs): Get latest rev of source_url.
Patch by: Dustin J. Mitchell <dustin@zmanda.com>
Review by: Giovanni Bajo <rasky@develer.com>
r25944 | dustin | 2007-08-03 11:59:44 -0500 (Fri, 03 Aug 2007)
* svnmerge_test.py
replace single quotes in self.launch() with double-quotes (Windows compatibility)
replace multiline expected_output with a regex
(TestCase_launch): use 'attrib' instead of 'dir' (which is not an executable)
* svnmerge.py
(construct_merged_log_message) normalize line endings in log message
Patch by: Luke Call <lsuvkne@onemodel.org>
Patch by: Dustin Mitchell <dustin@zmanda.com>
Patch by: Michael Willmott <mwillmott@leadgenpro.co.uk>
Review by: Hernan Martinez Foffani <hernan.martinez@ecc.es>
Review by: Dustin Mitchell <dustin@zmanda.com>
r25873 | dustin | 2007-07-28 10:52:49 -0500 (Sat, 28 Jul 2007)
Finish work begun by r22788, to improve default revision range set by "svnmerge
init" if none provided by user, for scenario where merge source is a copy of
the merge target (i.e., merging from branch back to trunk) or vice-versa.
* contrib/client-side/svnmerge/svnmerge.py
(get_copyfrom): Add copy_committed_in_rev to returned values; add comments.
(action_init): Use copy_committed_in_rev from get_copyfrom call for
correct conditional default revision range; added logic to auto-calculate
revision range depending on merge source and target copy relationship; add
comments.
* contrib/client-side/svnmerge/svnmerge_test.py:
(testUninitForce): Change test so does not depend on specific initialized
revision number, as that is not the point of the test and this is
now handled in testInitScenarios. This was broken by the other
changes, thus fixed here.
(testInitScenarios): Added function to test how action_init behaves in
different circumstances.
(testCheckInitializeEverything): Removed (now redundant, and not testing for
the right behavior).
(testBidirectionalMerges): Changed to pass with newly correct init behavior.
Patch by: Luke Call <lsuvkne@onemodel.org>
Review by: Dustin J. Mitchell <dustin@zmanda.com>
Giovanni Bajo <rasky@develer.com>
r25813 | dustin | 2007-07-21 22:00:25 -0500 (Sat, 21 Jul 2007)
Uses new subprocess module for in launch(), when python version allows, for a
big performance benefit on some operating systems. Faster because doesn't
try to close all (unused) file descriptors.
* svnmerge/svnmerge.py
(launch): Use subprocess module when possible for better performance.
* svnmerge/svnmerge_test.py
(multilaunch): No longer passing empty cmd strings.
(testBlockMergeAndRollback, testMergeAndRollbackEmptyRevisionRange,
testMergeAndRollback, testMergeWithPotentialPropertyConflict): Change
quoting of log comment arguments for windows command parser, so they
are kept together.
Patch by: Luke Call <lsuvkne@onemodel.org>
Review by: Dustin J. Mitchell <dustin@zmanda.com>
Giovanni Bajo <rasky@develer.com>
(Dustin clarified comments; Dustin and Giovanni made helpful suggestions.)
r25683 | dustin | 2007-07-07 20:19:36 -0500 (Sat, 07 Jul 2007)
Prevent spurious conflicts on the merge and blocked property
when the source branch contains merge property information for
other branches i.e. a transitive merge A -> B -> C is executed.
Previously, this caused a property conflict because the initial
value on the source branch did not match the initial value on
the target branch.
This patch also prevents extra merge property information from
uninitialized branches being merged into the target. If merging
to those other branches was never initialized on the target by
the user, then the user probably does not expect to see that
information. Note that if that information *was* initialized by
the user, then the user is attempting to do graph-based merging
i.e. A -> B -> C -> A which is currently unsupported.
* contrib/client-side/svnmerge_test.py
(testTransitiveMerge): test a transitive merge
* contrib/client-side/svnmerge.py:
(action_merge): Before each merge, clear the integrated/blocked
properties. Reset these properties to known values after the
merge is complete.
Patch by: Raman Gupta <rocketraman@fastmail.fm>
Dustin J. Mitchell <dustin@zmanda.com>
Review by: Giovanni Bajo <rasky@develer.com>