Ran into a new mergetracking problem today while doing some sync/catch-up merges
on one of my branches.
There are three branches of interest here:
1) ^/subversion/trunk
2) ^/subversion/branches/inheritable-props
3) ^/subversion/branches/auto-props-sdc
#2 is a vanilla feature branch and #3 is a branch of #2. I fully synced #3 with
#1, then reintegrated #2 back to #1. We *should* be able to start syncing
directly from #1 to #3 (and ultimately reintegrate #3 back to #1.
___trunk@1297079_____________________________@1395109_______________________>
\ /
copy reintegrate
\ /
inheritable-props@1297080___@1384105______/
\ \
copy sync merge
\ \
auto-props-sdc___1395146____>
Unfortunately I'm seeing conflicts during #1-->#3 sync merges:
C:\SVN\src-trunk-4>svn merge ^^/subversion/trunk .
Conflict discovered in 'C:/SVN/src-trunk-4/tools/dist/make-deps-tarball.sh'.
Select: (p) postpone, (df) diff-full, (e) edit,
(mc) mine-conflict, (tc) theirs-conflict,
(s) show all options: p
--- Merging r1304318 into 'tools\dist\make-deps-tarball.sh':
C tools\dist\make-deps-tarball.sh
--- Recording mergeinfo for merge of r1297080 through r1304318 into '.':
U .
Summary of conflicts:
Text conflicts: 1
svn: E155015: One or more conflicts were produced while merging
r1304317:1304318 into 'C:\SVN\src-trunk-4' --
resolve all conflicts and rerun the merge to apply the remaining
unmerged revisions
Now this is entirely unexpected because 'tools\dist\make-deps-tarball.sh' was
never modified on either branch #2 or #3.
Traced this back to incorrect mergeinfo created in r1395146, a sync merge
between #2 and #3 -- http://svn.apache.org/viewvc?view=revision&revision=1395146
### Recreating this merge (keeping it simple by doing a file merge to the
offending make-deps-tarball.sh file, a merge to the root of the branch produces
the same results):
C:\SVN\src-trunk-4>svn info
Path: .
Working Copy Root Path: C:\SVN\src-trunk-4
URL: https://svn.apache.org/repos/asf/subversion/branches/auto-props-sdc
Repository Root: https://svn.apache.org/repos/asf
Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68
Revision: 1395145
Node Kind: directory
Schedule: normal
Last Changed Author: pburba
Last Changed Rev: 1394851
Last Changed Date: 2012-10-05 18:43:45 -0400 (Fri, 05 Oct 2012)
### Note that the target has no mergeinfo history from
^/subversion/trunk/tools/dist/make-deps-tarball.sh of "1304315-1383997", which
makes sense since
make-deps-tarball.sh was added to trunk in r1304315, added to branch #2 in a
sync merge from trunk and subseqently updated again in a second sync merge from
trunk (through r138997).
C:\SVN\src-trunk-4>svn pg svn:mergeinfo -v tools\dist\make-deps-tarball.sh
Properties on 'tools\dist\make-deps-tarball.sh':
svn:mergeinfo
/subversion/branches/1.5.x-r30215/tools/dist/construct-rolling-environment.sh:870312
/subversion/branches/bdb-reverse-deltas/tools/dist/construct-rolling-environment.sh:872050-872529
/subversion/branches/diff-callbacks3/tools/dist/construct-rolling-environment.sh:870059-870761
/subversion/branches/dont-save-plaintext-passwords-by-default/tools/dist/construct-rolling-environment.sh:870728-871118
/subversion/branches/double-delete/tools/dist/construct-rolling-environment.sh:870511-872970
/subversion/branches/explore-wc/tools/dist/construct-rolling-environment.sh:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875
611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,87
5864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997
/subversion/branches/file-externals/tools/dist/construct-rolling-environment.sh:871779-873302
/subversion/branches/fs-rep-sharing/tools/dist/construct-rolling-environment.sh:869036-873803
/subversion/branches/fsfs-pack/tools/dist/construct-rolling-environment.sh:873717-874575
/subversion/branches/gnome-keyring/tools/dist/construct-rolling-environment.sh:870558-871410
/subversion/branches/http-protocol-v2/tools/dist/construct-rolling-environment.sh:874395-876041
/subversion/branches/in-memory-cache/tools/dist/construct-rolling-environment.sh:869829-871452
/subversion/branches/issue-2843-dev/tools/dist/construct-rolling-environment.sh:871432-874179
/subversion/branches/issue-3000/tools/dist/construct-rolling-environment.sh:871713,871716-871719,871721-871726,871728,871734
/subversion/branches/issue-3067-deleted-subtrees/tools/dist/construct-rolling-environment.sh:873375-874084
/subversion/branches/issue-3148-dev/tools/dist/construct-rolling-environment.sh:875193-875204
/subversion/branches/issue-3220-dev/tools/dist/construct-rolling-environment.sh:872210-872226
/subversion/branches/issue-3242-dev/tools/dist/construct-rolling-environment.sh:879653-896436
/subversion/branches/issue-3334-dirs/tools/dist/construct-rolling-environment.sh:875156-875867
/subversion/branches/kwallet/tools/dist/construct-rolling-environment.sh:870785-871314
/subversion/branches/log-g-performance/tools/dist/construct-rolling-environment.sh:870941-871032
/subversion/branches/merge-skips-obstructions/tools/dist/construct-rolling-environment.sh:874525-874615
/subversion/branches/ra_serf-digest-authn/tools/dist/construct-rolling-environment.sh:875693-876404
/subversion/branches/reintegrate-improvements/tools/dist/construct-rolling-environment.sh:873853-874164
/subversion/branches/subtree-mergeinfo/tools/dist/construct-rolling-environment.sh:876734-878766
/subversion/branches/svn-mergeinfo-enhancements/tools/dist/construct-rolling-environment.sh:870119-870195,870197-870288
/subversion/branches/svn-patch-improvements/tools/dist/construct-rolling-environment.sh:918519-934609
/subversion/branches/svnpatch-diff/tools/dist/construct-rolling-environment.sh:865738-876477
/subversion/branches/svnraisetc/tools/dist/construct-rolling-environment.sh:874709-875149
/subversion/branches/svnserve-logging/tools/dist/construct-rolling-environment.sh:869828-870893
/subversion/branches/tc-issue-3334/tools/dist/construct-rolling-environment.sh:874697-874773
/subversion/branches/tc-merge-notify/tools/dist/construct-rolling-environment.sh:874017-874062
/subversion/branches/tc-resolve/tools/dist/construct-rolling-environment.sh:874191-874239
/subversion/branches/tc_url_rev/tools/dist/construct-rolling-environment.sh:874351-874483
/subversion/branches/tree-conflicts/tools/dist/construct-rolling-environment.sh:868291-873154
/subversion/branches/tree-conflicts-notify/tools/dist/construct-rolling-environment.sh:873926-874008
/subversion/trunk/tools/dist/make-deps-tarball.sh:1304315-1383997
### Note the diff of the range we are about to merge:
C:\SVN\src-trunk-4>svn diff -r1389501:1395088
^^/subversion/branches/inheritable-props/tools/dist/make-deps-tarball.sh
Index: make-deps-tarball.sh
===================================================================
--- make-deps-tarball.sh (revision 1389501)
+++ make-deps-tarball.sh (revision 1395088)
Property changes on: make-deps-tarball.sh
___________________________________________________________________
Modified: svn:mergeinfo
Merged /subversion/trunk/tools/dist/make-deps-tarball.sh:r1383998-1394910
Merged
/subversion/branches/10Gb/tools/dist/make-deps-tarball.sh:r1388394,1388636,1388639,1388644,1388654,1388720,1388789,1388795,1388801,1388805,1388810,138
8816,1389044,1389276,1389289,1389662,1389867,1390017,1390216,1390407
### But when we perform a merge to apply the above diff, a valid chunk of the
mergeinfo from trunk is removed:
C:\SVN\src-trunk-4>svn merge -r1389501:1395088
^^/subversion/branches/inheritable-props/tools/dist/make-deps-tarball.sh
tools\dist\make-deps-tarball.sh
--- Merging r1389502 through r1395088 into 'tools\dist\make-deps-tarball.sh':
UU tools\dist\make-deps-tarball.sh
--- Recording mergeinfo for merge of r1389502 through r1395088 into
'tools\dist\make-deps-tarball.sh':
G tools\dist\make-deps-tarball.sh
C:\SVN\src-trunk-4>svn diff
Index: tools/dist/make-deps-tarball.sh
===================================================================
--- tools/dist/make-deps-tarball.sh (revision 1395145)
+++ tools/dist/make-deps-tarball.sh (working copy)
Property changes on: tools/dist/make-deps-tarball.sh
___________________________________________________________________
Modified: svn:mergeinfo
Reverse-merged /subversion/trunk/tools/dist/make-deps-tarball.sh:r1304315-1305659
Merged
/subversion/branches/inheritable-props/tools/dist/make-deps-tarball.sh:r1389502-1395088
Merged
/subversion/branches/10Gb/tools/dist/make-deps-tarball.sh:r1388394,1388636,1388639,1388644,1388654,1388720,1388789,1388795,1388801,1388805,1388810,138
8816,1389044,1389276,1389289,1389662,1389867,1390017,1390216,1390407
Merged /subversion/trunk/tools/dist/make-deps-tarball.sh:r1383998-1394910
C:\SVN\src-trunk-4>svn pg svn:mergeinfo -v tools\dist\make-deps-tarball.sh
Properties on 'tools\dist\make-deps-tarball.sh':
svn:mergeinfo
/subversion/branches/1.5.x-r30215/tools/dist/construct-rolling-environment.sh:870312
/subversion/branches/10Gb/tools/dist/make-deps-tarball.sh:1388394,1388636,1388639,1388644,1388654,1388720,1388789,1388795,1388801,1388805,1388810,1388816,13
89044,1389276,1389289,1389662,1389867,1390017,1390216,1390407
/subversion/branches/bdb-reverse-deltas/tools/dist/construct-rolling-environment.sh:872050-872529
/subversion/branches/diff-callbacks3/tools/dist/construct-rolling-environment.sh:870059-870761
/subversion/branches/dont-save-plaintext-passwords-by-default/tools/dist/construct-rolling-environment.sh:870728-871118
/subversion/branches/double-delete/tools/dist/construct-rolling-environment.sh:870511-872970
/subversion/branches/explore-wc/tools/dist/construct-rolling-environment.sh:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875
611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,87
5864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997
/subversion/branches/file-externals/tools/dist/construct-rolling-environment.sh:871779-873302
/subversion/branches/fs-rep-sharing/tools/dist/construct-rolling-environment.sh:869036-873803
/subversion/branches/fsfs-pack/tools/dist/construct-rolling-environment.sh:873717-874575
/subversion/branches/gnome-keyring/tools/dist/construct-rolling-environment.sh:870558-871410
/subversion/branches/http-protocol-v2/tools/dist/construct-rolling-environment.sh:874395-876041
/subversion/branches/in-memory-cache/tools/dist/construct-rolling-environment.sh:869829-871452
/subversion/branches/inheritable-props/tools/dist/make-deps-tarball.sh:1389502-1395088
/subversion/branches/issue-2843-dev/tools/dist/construct-rolling-environment.sh:871432-874179
/subversion/branches/issue-3000/tools/dist/construct-rolling-environment.sh:871713,871716-871719,871721-871726,871728,871734
/subversion/branches/issue-3067-deleted-subtrees/tools/dist/construct-rolling-environment.sh:873375-874084
/subversion/branches/issue-3148-dev/tools/dist/construct-rolling-environment.sh:875193-875204
/subversion/branches/issue-3220-dev/tools/dist/construct-rolling-environment.sh:872210-872226
/subversion/branches/issue-3242-dev/tools/dist/construct-rolling-environment.sh:879653-896436
/subversion/branches/issue-3334-dirs/tools/dist/construct-rolling-environment.sh:875156-875867
/subversion/branches/kwallet/tools/dist/construct-rolling-environment.sh:870785-871314
/subversion/branches/log-g-performance/tools/dist/construct-rolling-environment.sh:870941-871032
/subversion/branches/merge-skips-obstructions/tools/dist/construct-rolling-environment.sh:874525-874615
/subversion/branches/ra_serf-digest-authn/tools/dist/construct-rolling-environment.sh:875693-876404
/subversion/branches/reintegrate-improvements/tools/dist/construct-rolling-environment.sh:873853-874164
/subversion/branches/subtree-mergeinfo/tools/dist/construct-rolling-environment.sh:876734-878766
/subversion/branches/svn-mergeinfo-enhancements/tools/dist/construct-rolling-environment.sh:870119-870195,870197-870288
/subversion/branches/svn-patch-improvements/tools/dist/construct-rolling-environment.sh:918519-934609
/subversion/branches/svnpatch-diff/tools/dist/construct-rolling-environment.sh:865738-876477
/subversion/branches/svnraisetc/tools/dist/construct-rolling-environment.sh:874709-875149
/subversion/branches/svnserve-logging/tools/dist/construct-rolling-environment.sh:869828-870893
/subversion/branches/tc-issue-3334/tools/dist/construct-rolling-environment.sh:874697-874773
/subversion/branches/tc-merge-notify/tools/dist/construct-rolling-environment.sh:874017-874062
/subversion/branches/tc-resolve/tools/dist/construct-rolling-environment.sh:874191-874239
/subversion/branches/tc_url_rev/tools/dist/construct-rolling-environment.sh:874351-874483
/subversion/branches/tree-conflicts/tools/dist/construct-rolling-environment.sh:868291-873154
/subversion/branches/tree-conflicts-notify/tools/dist/construct-rolling-environment.sh:873926-874008
/subversion/trunk/tools/dist/make-deps-tarball.sh:1305660-1394910
^^^^^^^^^^^^^^^
What happened to r1304315-1305659?
This is a problem because subsequent sync merges from trunk will try to merge
this missing block resulting in spurious conflicts.