You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Neels J Hofmeyr <ne...@elego.de> on 2012/06/13 13:53:30 UTC

Re: (df) diff full

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