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