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 2013/02/06 22:17:52 UTC

svn commit: r1443212 - /subversion/trunk/subversion/libsvn_wc/conflicts.c

Author: stsp
Date: Wed Feb  6 21:17:51 2013
New Revision: 1443212

URL: http://svn.apache.org/viewvc?rev=1443212&view=rev
Log:
* subversion/libsvn_wc/conflicts.c
  (resolve_conflict_on_node): Remove support for reverting the delete-half
   of a move from within the conflict resolver by choosing 'theirs-conflict'.
   Instead, make 'theirs-conflict' break the move. The revert can still be
   done manually if needed, and offering this option in addition to the
   others clutters the interactive conflict user interface too much.
   While here, add a comment explaining why 'choose_merged' breaks the move.

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

Modified: subversion/trunk/subversion/libsvn_wc/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/conflicts.c?rev=1443212&r1=1443211&r2=1443212&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_wc/conflicts.c Wed Feb  6 21:17:51 2013
@@ -2641,23 +2641,13 @@ resolve_conflict_on_node(svn_boolean_t *
                   *did_resolve = TRUE;
                 }
             }
-          else if (conflict_choice == svn_wc_conflict_choose_theirs_conflict)
-            {
-              /* Break the move by reverting the deleted half of
-               * the move, keeping the copied-half as a copy.
-               * Reverting a node requires write lock on parent. */
-              SVN_ERR(svn_wc__revert_internal(db, local_abspath,
-                                              svn_depth_infinity,
-                                              FALSE, 
-                                              cancel_func,
-                                              cancel_baton,
-                                              notify_func,
-                                              notify_baton,
-                                              scratch_pool));
-              *did_resolve = TRUE;
-            }
-          else if (conflict_choice == svn_wc_conflict_choose_merged)
+          else if (conflict_choice == svn_wc_conflict_choose_theirs_conflict ||
+                   conflict_choice == svn_wc_conflict_choose_merged)
             {
+              /* We must break the move even if the user accepts the current
+               * working copy state (choose_merged) instead of updating the
+               * move. Else the move would be left in an invalid state. */
+
               /* ### As above, this should also be combined with
                  ### svn_wc__db_op_mark_resolved. */
               SVN_ERR(svn_wc__db_resolve_break_moved_away(db, local_abspath,