Hi,
Recently we have been having multiple instances of a problem that doesn't seem
to be going away. The easiest way to see it is to reproduce the following steps.
1) check out a working copy of one of our development branches:
svn co svn://svn.nublado.org/cloudy/branches/backtrace
Changes from the trunk were last merged to this branch in r11144. This checkout
looks fine and I want to merge the more recent changes from the trunk. So cd
into it and proceed.
2) First take a look at which revisions are eligible:
svn mergeinfo --show-revs eligible ^/trunk .
r11156
r11159
r11160
r11165
r11166
r11167
[ snip... ]
r11337
r11338
r11339
r11340
r11341
This all looks very plausible. The first commit to the trunk after r11144 is
r11156 and the last is r11341. All numbers shown above are correct. I didn't
check all the numbers I cut out, but I assume they are correct as well.
3) All looks fine, so do the merge:
svn merge ^/trunk .
--- Merging r8669 into 'source':
C source/rt_continuum_shield_fcn.cpp
--- Recording mergeinfo for merge of r8667 through r8669 into '.':
U .
--- Recording mergeinfo for merge of r8667 through r8669 into 'source':
U source
Summary of conflicts:
Text conflicts: 1
Conflict discovered in file 'source/rt_continuum_shield_fcn.cpp'.
Select: (p) postpone, (df) show diff, (e) edit file, (m) merge,
(mc) my side of conflict, (tc) their side of conflict,
(s) show all options: ^CSummary of conflicts:
Text conflicts: 1
svn: E155027: Unable to resolve conflicts on
'/home/pvh/noot/backtrace/source/rt_continuum_shield_fcn.cpp'
I hit ^C here. So all of a sudden svn wants to merge r8669, even though it was
not marked as eligible before (and was already merged a long time ago)...
So what is this? Corrupted information in the svn:mergeinfo propety? A bug in
svn? Or both?
And more importantly how do I fix this? I tried doing this brute-force approach
svn revert -R .
svn merge --record-only -r1:11144 ^/trunk .
--- Merging r2 through r11144 into '.':
G tsuite/auto
G tsuite
G .
--- Recording mergeinfo for merge of r2 through r11144 into '.':
U .
--- Recording mergeinfo for merge of r2 through r11144 into
'data/lamda/masterlist/Lamda.ini':
U data/lamda/masterlist/Lamda.ini
--- Recording mergeinfo for merge of r2 through r11144 into
'data/stout/zn/zn_19/zn_19.coll':
U data/stout/zn/zn_19/zn_19.coll
--- Eliding mergeinfo from 'data/stout/zn/zn_19/zn_19.coll':
U data/stout/zn/zn_19/zn_19.coll
--- Recording mergeinfo for merge of r2 through r11144 into
'data/stout/zn/zn_19/zn_19.nrg':
U data/stout/zn/zn_19/zn_19.nrg
--- Eliding mergeinfo from 'data/stout/zn/zn_19/zn_19.nrg':
U data/stout/zn/zn_19/zn_19.nrg
--- Recording mergeinfo for merge of r2 through r11144 into
'data/stout/zn/zn_19/zn_19.tp':
U data/stout/zn/zn_19/zn_19.tp
--- Eliding mergeinfo from 'data/stout/zn/zn_19/zn_19.tp':
U data/stout/zn/zn_19/zn_19.tp
--- Recording mergeinfo for merge of r2 through r11144 into 'source':
U source
--- Recording mergeinfo for merge of r2 through r11144 into 'tsuite':
U tsuite
--- Recording mergeinfo for merge of r2 through r11144 into 'tsuite/auto':
U tsuite/auto
--- Recording mergeinfo for merge of r2 through r11144 into
'tsuite/auto/chianti_all_cool.dat':
U tsuite/auto/chianti_all_cool.dat
--- Recording mergeinfo for merge of r2 through r11144 into
'tsuite/auto/chianti_all_cool.in':
U tsuite/auto/chianti_all_cool.in
svn merge ^/trunk .
--- Merging r11145 through r11342 into '.':
U data/chianti/masterlist/CloudyChianti.ini
G data/lamda/masterlist/Lamda.ini
U data/stout/c/c_3/c_3.coll
[ snip... ]
C data/stout/zn/zn_19/zn_19.coll
C data/stout/zn/zn_19/zn_19.nrg
C data/stout/zn/zn_19/zn_19.tp
[ snip... ]
G tsuite
G .
--- Recording mergeinfo for merge of r11145 through r11342 into '.':
G .
--- Recording mergeinfo for merge of r11145 through r11342 into
'data/lamda/masterlist/Lamda.ini':
G data/lamda/masterlist/Lamda.ini
--- Recording mergeinfo for merge of r11145 through r11342 into 'source':
G source
--- Recording mergeinfo for merge of r11145 through r11342 into 'tsuite':
G tsuite
--- Recording mergeinfo for merge of r11145 through r11342 into 'tsuite/auto':
G tsuite/auto
--- Recording mergeinfo for merge of r11145 through r11342 into
'tsuite/auto/chianti_all_cool.dat':
G tsuite/auto/chianti_all_cool.dat
--- Recording mergeinfo for merge of r11145 through r11342 into
'tsuite/auto/chianti_all_cool.in':
G tsuite/auto/chianti_all_cool.in
Summary of conflicts:
Property conflicts: 3
Conflict for property 'svn:mergeinfo' discovered on
'data/stout/zn/zn_19/zn_19.coll'.
local delete, incoming edit upon merge
Select: (p) postpone, (mf) my version, (tf) their version,
(dc) display conflict, (e) edit property, (q) quit resolution,
(h) help:
Here I hit ^C again. So this starts promising enough, but then I am faced with a
conflict in the svn:mergeinfo property and I have no idea how to resolve that.
This kind of problem seems to be spreading to more and more development
branches, so I am really keen on finding a definitive solution for this. This is
starting to interfere quite seriously with our workflow. So any help is appreciated!
The client I am using is version 1.9.4 (r1740329) from openSUSE Tumbleweed and
our server was recently upgraded to 1.9.4 from CollabNet. It was 1.8.5 from
CollabNet before.
Cheers,
Peter.
Received on 2016-10-27 12:25:33 CEST