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 2015/03/15 20:44:14 UTC

svn commit: r1666832 - /subversion/trunk/subversion/libsvn_wc/update_editor.c

Author: rhuijben
Date: Sun Mar 15 19:44:14 2015
New Revision: 1666832

URL: http://svn.apache.org/r1666832
Log:
In the working copy update-editor: handle finding incomplete nodes where no
BASE node is expected the same as finding status 'normal' nodes: by checking
for driving errors and obstructing working copies.

This avoids an assertion in the tree conflict detection code when a
bad update driver tries to add something that is already there.
It looks like restarting a cancelled checkout from github can trigger this
problem. In this case just partially skipping the checkout allows the checkout
to complete the parent directory; likely fixing the working copy.

* subversion/libsvn_wc/update_editor.c
  (add_directory,
   add_file): Handle incomplete like normal.

Modified:
    subversion/trunk/subversion/libsvn_wc/update_editor.c

Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/update_editor.c?rev=1666832&r1=1666831&r2=1666832&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/update_editor.c (original)
+++ subversion/trunk/subversion/libsvn_wc/update_editor.c Sun Mar 15 19:44:14 2015
@@ -1935,7 +1935,8 @@ add_directory(const char *path,
       SVN_ERR_ASSERT(conflicted);
       versioned_locally_and_present = FALSE; /* Tree conflict ACTUAL-only node */
     }
-  else if (status == svn_wc__db_status_normal)
+  else if (status == svn_wc__db_status_normal
+           || status == svn_wc__db_status_incomplete)
     {
       svn_boolean_t root;
 
@@ -3119,7 +3120,8 @@ add_file(const char *path,
       SVN_ERR_ASSERT(conflicted);
       versioned_locally_and_present = FALSE; /* Tree conflict ACTUAL-only node */
     }
-  else if (status == svn_wc__db_status_normal)
+  else if (status == svn_wc__db_status_normal
+           || status == svn_wc__db_status_incomplete)
     {
       svn_boolean_t root;