Hey Paul,
I know you're working on this, too, but I just to let you know that
I quickly tested my theory for the fix and it seems to work.
See the diff below.
This fixes the non-interactive case (--accept postpone), and the
interactive case still works. Tested with my reproduction script.
update test 52 still has a problem with this patch: It complains that
alpha.moved.copied was missing from the actual tree on disk.
Either the expected disk status is incorrect, or the patch below is not
all that's needed.
Thanks,
Stefan
Index: subversion/libsvn_wc/merge.c
===================================================================
--- subversion/libsvn_wc/merge.c (revision 35385)
+++ subversion/libsvn_wc/merge.c (working copy)
@@ -539,16 +539,6 @@
case svn_wc_conflict_choose_postpone:
default:
{
- /* Issue #3354: We need to install the copyfrom_text,
- * which now carries conflicts, into ACTUAL, by copying
- * it to the merge target. */
- if (copyfrom_text)
- {
- SVN_ERR(svn_wc__loggy_copy(log_accum, adm_access,
- copyfrom_text, merge_target,
- pool));
- }
-
/* Assume conflict remains. */
return SVN_NO_ERROR;
}
@@ -808,6 +798,17 @@
}
/* The conflicts have not been dealt with. */
+
+ /* Issue #3354: We need to install the copyfrom_text,
+ * which now carries conflicts, into ACTUAL, by copying
+ * it to the merge target. */
+ if (copyfrom_text)
+ {
+ SVN_ERR(svn_wc__loggy_copy(log_accum, adm_access,
+ copyfrom_text, merge_target,
+ pool));
+ }
+
SVN_ERR(preserve_pre_merge_files(log_accum,
left,
right,
Received on 2009-01-22 14:51:40 CET