Author: svn-role
Date: Wed Dec  4 04:00:21 2019
New Revision: 1870785

URL: http://svn.apache.org/viewvc?rev=1870785&view=rev
Log:
Merge r1853450 from trunk:

 * r1853450
   Enable 'incoming_move_file_merge' option only if local change is file edit.
   Justification:
     Conflict resolver misbehaves when it runs into move vs move conflicts.
   Votes:
     +1: stsp, rhuijben, jamessan

Modified:
    subversion/branches/1.11.x/   (props changed)
    subversion/branches/1.11.x/STATUS
    subversion/branches/1.11.x/subversion/libsvn_client/conflicts.c

Propchange: subversion/branches/1.11.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1853450

Modified: subversion/branches/1.11.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.11.x/STATUS?rev=1870785&r1=1870784&r2=1870785&view=diff
==============================================================================
--- subversion/branches/1.11.x/STATUS (original)
+++ subversion/branches/1.11.x/STATUS Wed Dec  4 04:00:21 2019
@@ -55,10 +55,3 @@ Veto-blocked changes:
 
 Approved changes:
 =================
-
- * r1853450
-   Enable 'incoming_move_file_merge' option only if local change is file edit.
-   Justification:
-     Conflict resolver misbehaves when it runs into move vs move conflicts.
-   Votes:
-     +1: stsp, rhuijben, jamessan

Modified: subversion/branches/1.11.x/subversion/libsvn_client/conflicts.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.11.x/subversion/libsvn_client/conflicts.c?rev=1870785&r1=1870784&r2=1870785&view=diff
==============================================================================
--- subversion/branches/1.11.x/subversion/libsvn_client/conflicts.c (original)
+++ subversion/branches/1.11.x/subversion/libsvn_client/conflicts.c Wed Dec  4 
04:00:21 2019
@@ -10306,6 +10306,7 @@ configure_option_incoming_move_file_merg
 {
   svn_node_kind_t victim_node_kind;
   svn_wc_conflict_action_t incoming_change;
+  svn_wc_conflict_reason_t local_change;
   const char *incoming_old_repos_relpath;
   svn_revnum_t incoming_old_pegrev;
   svn_node_kind_t incoming_old_kind;
@@ -10313,6 +10314,7 @@ configure_option_incoming_move_file_merg
   svn_revnum_t incoming_new_pegrev;
   svn_node_kind_t incoming_new_kind;
   incoming_change = svn_client_conflict_get_incoming_change(conflict);
+  local_change = svn_client_conflict_get_local_change(conflict);
   victim_node_kind = svn_client_conflict_tree_get_victim_node_kind(conflict);
   SVN_ERR(svn_client_conflict_get_incoming_old_repos_location(
             &incoming_old_repos_relpath, &incoming_old_pegrev,
@@ -10326,7 +10328,8 @@ configure_option_incoming_move_file_merg
   if (victim_node_kind == svn_node_file &&
       incoming_old_kind == svn_node_file &&
       incoming_new_kind == svn_node_none &&
-      incoming_change == svn_wc_conflict_action_delete)
+      incoming_change == svn_wc_conflict_action_delete &&
+      local_change == svn_wc_conflict_reason_edited)
     {
       struct conflict_tree_incoming_delete_details *details;
       const char *description;


Reply via email to