Hi,
Thank you for BC3. It's a great tool!
I am using SVN 1.7 and use BC3 3-way diff in order to resolve conflicts upon merging in the following method:
LEFT=BASE version
RIGHT=MINE (local) version
CENTER=THEIR version
RESULT=SVN's <target file>.tmp.merged file (SVN expects this file to contain my resolutions prior to hitting 'r' - resolved)
The merge direction is "THEIRS"-->"MINE".
There are problems, though:
(1)
SVN applies its own merge and creates the .tmp.merged file for the user's edit. But when loading .tmp.merged as the result of the 3-way diff, BC3 overrides SVN's changes and shows its own resolution (preferring BASE, which is almost always the wrong choice). So instead of reviewing only conflicts discovered by SVN, the user goes over the entire differences set and selects MINE or THEIRS between them, one by one.
SVN already did it and now the user repeats it. It creates more work and is prone to mistakes.
(2)
In order to bypass the problem described in (1), I loaded these files in BC3:
LEFT=SVN's <target file>.tmp.merged file
RIGHT=MINE (local) version
CENTER=THEIR version
RESULT=SVN's <target file>.tmp.merged file
As you can see, the BC3 LEFT and RESULT windows view the same file, which is the SVN's merge resolution file. It holds the merged MINE and THEIRS changes and has notations where text conflicts are.
I noticed there are differences between RESULT and LEFT windows. These are changes that appear only in LEFT and CENTER windows. These changes are not written in the RESULT window unless I take them from LEFT or CENTER, even if I use the -favorleft switch.
Any idea of how to solve (1) and why my workaround in (2) is not working with BC3?
Much thanks!
Ohn Tsarfati
Thank you for BC3. It's a great tool!
I am using SVN 1.7 and use BC3 3-way diff in order to resolve conflicts upon merging in the following method:
LEFT=BASE version
RIGHT=MINE (local) version
CENTER=THEIR version
RESULT=SVN's <target file>.tmp.merged file (SVN expects this file to contain my resolutions prior to hitting 'r' - resolved)
The merge direction is "THEIRS"-->"MINE".
There are problems, though:
(1)
SVN applies its own merge and creates the .tmp.merged file for the user's edit. But when loading .tmp.merged as the result of the 3-way diff, BC3 overrides SVN's changes and shows its own resolution (preferring BASE, which is almost always the wrong choice). So instead of reviewing only conflicts discovered by SVN, the user goes over the entire differences set and selects MINE or THEIRS between them, one by one.
SVN already did it and now the user repeats it. It creates more work and is prone to mistakes.
(2)
In order to bypass the problem described in (1), I loaded these files in BC3:
LEFT=SVN's <target file>.tmp.merged file
RIGHT=MINE (local) version
CENTER=THEIR version
RESULT=SVN's <target file>.tmp.merged file
As you can see, the BC3 LEFT and RESULT windows view the same file, which is the SVN's merge resolution file. It holds the merged MINE and THEIRS changes and has notations where text conflicts are.
I noticed there are differences between RESULT and LEFT windows. These are changes that appear only in LEFT and CENTER windows. These changes are not written in the RESULT window unless I take them from LEFT or CENTER, even if I use the -favorleft switch.
Any idea of how to solve (1) and why my workaround in (2) is not working with BC3?
Much thanks!
Ohn Tsarfati
Comment