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 2013/01/31 20:13:46 UTC
svn commit: r1441143 - in /subversion/trunk/subversion:
libsvn_client/merge.c tests/cmdline/merge_authz_tests.py
Author: rhuijben
Date: Thu Jan 31 19:13:46 2013
New Revision: 1441143
URL: http://svn.apache.org/viewvc?rev=1441143&view=rev
Log:
Don't unconditionally put to be skipped paths in the skipped hash of the merge
handling as that affects the mergeinfo recording.
This fixes a merge_authz test failure.
* subversion/libsvn_client/merge.c
(mark_dir_edited,
mark_file_edited): When skipping, remember we skipped.
(merge_file_opened,
merge_dir_opened): Don't remember a skip on depth filtered roots
directly.
* subversion/tests/cmdline/merge_authz_tests.py
(mergeinfo_and_skipped_paths): Tweak expected notifications.
Modified:
subversion/trunk/subversion/libsvn_client/merge.c
subversion/trunk/subversion/tests/cmdline/merge_authz_tests.py
Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=1441143&r1=1441142&r2=1441143&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Thu Jan 31 19:13:46 2013
@@ -1775,8 +1775,11 @@ mark_dir_edited(merge_cmd_baton_t *merge
scratch_pool);
}
- /* We don't register the node in merge_b->skipped_abspaths here, as the
- node itself is not skipped: the operation on a descendant is */
+ if (merge_b->merge_source.ancestral
+ || merge_b->reintegrate_merge)
+ {
+ store_path(merge_b->skipped_abspaths, local_abspath);
+ }
}
else if (db->tree_conflict_reason == CONFLICT_REASON_EXCLUDED)
{
@@ -1873,6 +1876,12 @@ mark_file_edited(merge_cmd_baton_t *merg
notify,
scratch_pool);
}
+
+ if (merge_b->merge_source.ancestral
+ || merge_b->reintegrate_merge)
+ {
+ store_path(merge_b->skipped_abspaths, local_abspath);
+ }
}
else if (fb->tree_conflict_reason != CONFLICT_REASON_NONE
&& fb->tree_conflict_reason != CONFLICT_REASON_EXCLUDED)
@@ -2007,13 +2016,6 @@ merge_file_opened(void **new_file_baton,
fb->tree_conflict_reason = CONFLICT_REASON_SKIP;
fb->skip_reason = svn_wc_notify_state_missing;
-
- if (merge_b->merge_source.ancestral
- || merge_b->reintegrate_merge)
- {
- store_path(merge_b->skipped_abspaths, local_abspath);
- }
-
return SVN_NO_ERROR;
}
}
@@ -2724,12 +2726,6 @@ merge_dir_opened(void **new_dir_baton,
db->tree_conflict_reason = CONFLICT_REASON_SKIP;
db->skip_reason = svn_wc_notify_state_missing;
- if (merge_b->merge_source.ancestral
- || merge_b->reintegrate_merge)
- {
- store_path(merge_b->skipped_abspaths, local_abspath);
- }
-
return SVN_NO_ERROR;
}
}
@@ -9567,9 +9563,6 @@ do_merge(apr_hash_t **modified_subtrees,
*modified_subtrees =
apr_hash_overlay(result_pool, *modified_subtrees,
merge_cmd_baton.skipped_abspaths);
- *modified_subtrees =
- apr_hash_overlay(result_pool, *modified_subtrees,
- merge_cmd_baton.tree_conflicted_abspaths);
}
}
Modified: subversion/trunk/subversion/tests/cmdline/merge_authz_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/merge_authz_tests.py?rev=1441143&r1=1441142&r2=1441143&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_authz_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/merge_authz_tests.py Thu Jan 31 19:13:46 2013
@@ -212,6 +212,8 @@ def mergeinfo_and_skipped_paths(sbox):
# always takes precedence in terms of getting *non*-inheritable mergeinfo.
expected_output = wc.State(A_COPY_2_path, {
'D/H/omega' : Item(status='U '),
+ # Below the skip
+ 'D/G/rho' : Item(status=' ', treeconflict='U'),
})
expected_mergeinfo_output = wc.State(A_COPY_2_path, {
'' : Item(status=' U'),
@@ -258,7 +260,6 @@ def mergeinfo_and_skipped_paths(sbox):
expected_skip = wc.State(A_COPY_2_path, {
'B/E' : Item(verb='Skipped missing target'),
'D/G' : Item(verb='Skipped missing target'),
- 'D/G/rho' : Item(verb='Skipped missing target'),
'D/H/psi' : Item(verb='Skipped missing target'),
})
svntest.actions.run_and_verify_merge(A_COPY_2_path, '4', '8',