You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2012/07/02 19:42:18 UTC
svn commit: r1356374 - in /subversion/trunk/subversion:
libsvn_client/merge.c tests/cmdline/merge_tree_conflict_tests.py
Author: rhuijben
Date: Mon Jul 2 17:42:17 2012
New Revision: 1356374
URL: http://svn.apache.org/viewvc?rev=1356374&view=rev
Log:
When merging a directory addition on top of a copied/added directory we should
just set a tree conflict instead of *also* applying the property changes of
the incoming directory.
This specific case was found via the conflict handling test that I'll add in a
separate commit.
* subversion/libsvn_client/merge.c
(merge_dir_added): Skip changes on descendants on an add-add conflict.
* subversion/tests/cmdline/merge_tree_conflict_tests.py
(merge_replace_causes_tree_conflict): Update expected result. Remove
comment that the original result is unexpected.
Modified:
subversion/trunk/subversion/libsvn_client/merge.c
subversion/trunk/subversion/tests/cmdline/merge_tree_conflict_tests.py
Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=1356374&r1=1356373&r2=1356374&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Mon Jul 2 17:42:17 2012
@@ -2396,6 +2396,10 @@ merge_dir_added(svn_wc_notify_state_t *s
reason));
if (tree_conflicted)
*tree_conflicted = TRUE;
+ if (skip)
+ *skip = TRUE;
+ if (skip_children)
+ *skip_children = TRUE;
if (state)
*state = svn_wc_notify_state_obstructed;
}
Modified: subversion/trunk/subversion/tests/cmdline/merge_tree_conflict_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/merge_tree_conflict_tests.py?rev=1356374&r1=1356373&r2=1356374&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_tree_conflict_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/merge_tree_conflict_tests.py Mon Jul 2 17:42:17 2012
@@ -1738,8 +1738,7 @@ def merge_replace_causes_tree_conflict(s
expected_status.tweak('A', status=' M')
expected_status.tweak('A/D/G/pi', 'A/mu', status='M ', treeconflict='C')
expected_status.tweak('A/D/H', status=' M', treeconflict='C')
- ### A/B/E gets both a property and tree conflict flagged. Is this OK?
- expected_status.tweak('A/B/E', status=' C', treeconflict='C')
+ expected_status.tweak('A/B/E', status=' M', treeconflict='C')
actions.run_and_verify_status(wc_dir, expected_status)