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;
|