On 06/12/2012 11:52 PM, C. Michael Pilato wrote:
> Per subversion/svn/conflict-callbacks.c:show_diff():
>
> if (desc->merged_file && desc->base_abspath)
> {
> /* Show the conflict markers to the user */
> path1 = desc->base_abspath;
> path2 = desc->merged_file;
> }
> else
> {
> /* There's no base file, but we can show the
> difference between mine and theirs. */
> path1 = desc->their_abspath;
> path2 = desc->my_abspath;
> }
>
> Neither of those looks especially "weird", so I'm not sure what you were
> seeing in your situation.
>
In attached test case, I get this with svn 1.7:
[[[
+ svn merge -c5 '^/branch' trunk/
Conflict discovered in '/tmp/diff-full-minimal.57U/wc/trunk/a'.
Select: (p) postpone, (df) diff-full, (e) edit,
(mc) mine-conflict, (tc) theirs-conflict,
(s) show all options: df
--- /tmp/svn-U7fgdO Wed Jun 13 13:45:59 2012
+++ /tmp/diff-full-minimal.57U/wc/.svn/tmp/a.tmp Wed Jun 13 13:45:59 2012
@@ -1,6 +1,10 @@
-apples
+<<<<<<< .working
+r3
+=======
+r5 <<< r5 conflicts with WC
+>>>>>>> .merge-right.r5
oranges
tomatoes
-r4
+cheese <<< r4 is also shown in the diff!?
potatoes
]]]
then postpone and svn diff shows:
[[[
[...]
Index: trunk/a
===================================================================
--- trunk/a (revision 5)
+++ trunk/a (working copy)
@@ -1,4 +1,8 @@
+<<<<<<< .working
r3
+=======
+r5
+>>>>>>> .merge-right.r5
oranges
tomatoes
cheese <<< no r4, as expected
]]]
So it's definitely different.
So in the diff-full above, I get an unrelated change of an earlier revision
that took place on the branch (r4) even though I'm cherry-picking only r5
from the branch. Definitely wrong.
~Neels
Received on 2012-06-13 13:54:12 CEST