You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2016/11/29 11:59:37 UTC

svn commit: r1771891 - /subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c

Author: stsp
Date: Tue Nov 29 11:59:37 2016
New Revision: 1771891

URL: http://svn.apache.org/viewvc?rev=1771891&view=rev
Log:
Fix paths recorded in tree conflicts while updating incoming moves.

* subversion/libsvn_wc/wc_db_update_move.c
  (update_incoming_move): Destination op-depth must be set to the relpath
   depth of the incoming move instead of zero. This allows paths recorded
   in new tree conflicts to be constructed correctly.

Modified:
    subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c

Modified: subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c?rev=1771891&r1=1771890&r2=1771891&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c Tue Nov 29 11:59:37 2016
@@ -2631,9 +2631,14 @@ update_incoming_move(svn_revnum_t *old_r
    * recorded for any tree conflicts created during the editor drive.
    * We assume this path contains no local changes, and create local changes
    * in DST_RELPATH corresponding to changes contained in the conflict victim.
+   * 
+   * DST_OP_DEPTH is used to infer the "op-root" of the incoming move. This
+   * "op-root" is virtual because all nodes belonging to the incoming move
+   * live in the BASE tree. It is used for constructing repository paths
+   * when new tree conflicts need to be raised.
    */
   umb.src_op_depth = relpath_depth(local_relpath); /* SRC of diff */
-  umb.dst_op_depth = 0;
+  umb.dst_op_depth = relpath_depth(dst_relpath); /* virtual DST op-root */
 
   SVN_ERR(verify_write_lock(wcroot, local_relpath, scratch_pool));
   SVN_ERR(verify_write_lock(wcroot, dst_relpath, scratch_pool));