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
Received on 2012-03-22 13:16:40 CET