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"