You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2011/04/28 22:24:11 UTC
svn commit: r1097598 - in /subversion/trunk/subversion:
libsvn_client/merge.c tests/cmdline/tree_conflict_tests.py
Author: pburba
Date: Thu Apr 28 20:24:11 2011
New Revision: 1097598
URL: http://svn.apache.org/viewvc?rev=1097598&view=rev
Log:
Follow-up to r1096921: Don't try to record override mergeinfo on skipped
paths that are externals.
* subversion/libsvn_client/merge.c
(record_skips): Use perform_obstruction_check() in place of
svn_wc_status3() to detect externals as well as more mundane
obstructions and missing subtrees.
* subversion/tests/cmdline/tree_conflict_tests.py
(at_directory_external): Remove XFail.
Modified:
subversion/trunk/subversion/libsvn_client/merge.c
subversion/trunk/subversion/tests/cmdline/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=1097598&r1=1097597&r2=1097598&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Thu Apr 28 20:24:11 2011
@@ -4584,14 +4584,16 @@ record_skips(const char *mergeinfo_path,
hi = apr_hash_next(hi))
{
const char *skipped_abspath = svn__apr_hash_index_key(hi);
- svn_wc_status3_t *status;
+ svn_wc_notify_state_t obstruction_state;
- /* Before we override, make sure this is a versioned path, it
- might be an unversioned obstruction. */
- SVN_ERR(svn_wc_status3(&status, merge_b->ctx->wc_ctx,
- skipped_abspath, pool, pool));
- if (status->node_status == svn_wc_status_none
- || status->node_status == svn_wc_status_unversioned)
+ /* Before we override, make sure this is a versioned path, it might
+ be an external or missing from disk due to authz restrictions. */
+ SVN_ERR(perform_obstruction_check(&obstruction_state,
+ NULL, NULL, NULL, NULL, NULL,
+ merge_b, skipped_abspath,
+ svn_node_unknown, pool));
+ if (obstruction_state == svn_wc_notify_state_obstructed
+ || obstruction_state == svn_wc_notify_state_missing)
continue;
/* Add an empty range list for this path.
Modified: subversion/trunk/subversion/tests/cmdline/tree_conflict_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/tree_conflict_tests.py?rev=1097598&r1=1097597&r2=1097598&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/tree_conflict_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/tree_conflict_tests.py Thu Apr 28 20:24:11 2011
@@ -1077,14 +1077,7 @@ def lock_update_only(sbox):
#----------------------------------------------------------------------
-# This used to at the merge that adds a file:
-# subversion/libsvn_client/repos_diff.c:984: (apr_err=155005)
-# subversion/libsvn_client/merge.c:1708: (apr_err=155005)
-# subversion/libsvn_wc/update_editor.c:5055: (apr_err=155005)
-# subversion/libsvn_wc/lock.c:1437: (apr_err=155005)
-# svn: E155005: No write-lock in '/.../svn-test-work/working_copies/tree_conflict_tests-22/E'
@Issue(3469)
-@XFail()
def at_directory_external(sbox):
"tree conflict at directory external"