Log Message: |
Make svnsync strip out any r0 mergeinfo references, for issue #4476
"Mergeinfo containing r0 makes svnsync and dump and load fail".
This means svnsync can succeed even when a mergeinfo property received from
the source repository references r0. Such mergeinfo cannot be committed to a
target repository whose server version is >= 1.6.18 for HTTP or >= 1.6.17
otherwise. This fix makes svnsync remove the r0 reference before trying to
commit.
* subversion/svnsync/sync.c
(remove_r0_mergeinfo): New function.
(edit_baton_t): Add a flag to report if mergeinfo was fixed.
(change_file_prop,
change_dir_prop): Strip r0 mergeinfo.
(close_edit): Notify the user if any mergeinfo was adjusted in this
revision, like we do if any property values were normalized.
* subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump,
subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.expected.dump
New test files.
* subversion/tests/cmdline/svnsync_tests.py
(mergeinfo_contains_r0): New test.
(test_list): Run it.
|