I (Julian Foad) wrote:

> By the way, my intent is to remove the '--symmetric' option and have the 
> code just run inside the original 'sync' and 'reintegrate' code 
> paths.  There's no reason, other than for testing, to expose this at the UI.
>> 
>>  If anyone wants to try the new symmetric merge code, it's basically in 
>>  place.  It's not finished.  It's enabled with '--symmetric' 
>>  command-line option.  I've just tried running it in place of 
>>  'reintegrate, using the following patch to the test suite, and this 
>> much seems to work...

With this patch, all tests seem to pass for me (Neon, BDB, running 
{resolve,merge_authz,merge_reintegrate,merge_tree_conflict,merge,tree_conflict}_tests.py):

Index: subversion/tests/cmdline/svntest/actions.py
===================================================================
--- subversion/tests/cmdline/svntest/actions.py    (revision 1303481)
+++ subversion/tests/cmdline/svntest/actions.py    (working copy)
@@ -1039,6 +1039,15 @@run_and_verify_merge(
     merge_command.append(dir)
   merge_command = tuple(merge_command)
 
+  if '--reintegrate' in args:
+    args += ('--symmetric',)
+  elif not [arg for arg in merge_command + args
+            if arg.startswith('-r') or arg.startswith('--revision')
+               or arg.startswith('-c') or arg.startswith('--change')]:
+    if len([arg for arg in merge_command + args if not arg.startswith('-')]) 
<= 2:
+      print '## sync merge' + ' '.join(args)
+      args += ('--symmetric',)
+
   if dry_run:
     pre_disk = tree.build_tree_from_wc(dir)
     dry_run_command = merge_command + ('--dry-run',)

Of course, this doesn't prove that the results of the merge are the same as (or 
better than) before.  I would expect them to be just the same, but haven't 
checked yet.

- Julian

Reply via email to