You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2011/05/25 16:42:37 UTC

svn commit: r1127545 - /subversion/trunk/subversion/libsvn_wc/entries.c

Author: stsp
Date: Wed May 25 14:42:36 2011
New Revision: 1127545

URL: http://svn.apache.org/viewvc?rev=1127545&view=rev
Log:
Fix issue #3901, "upgrade doesn't handle depth=exclude"

* subversion/libsvn_wc/entries.c
  (write_entry): Don't reset the base node's presence to 'incomplete'
   if it's already been set to 'excluded'. While here transform an else
   block containing a single if statement into an else-if block.

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

Modified: subversion/trunk/subversion/libsvn_wc/entries.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/entries.c?rev=1127545&r1=1127544&r2=1127545&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/entries.c (original)
+++ subversion/trunk/subversion/libsvn_wc/entries.c Wed May 25 14:42:36 2011
@@ -1816,18 +1816,17 @@ write_entry(struct write_baton **entry_n
         {
           base_node->kind = entry->kind;
 
-          /* All subdirs are initially incomplete, they stop being
-             incomplete when the entries file in the subdir is
-             upgraded and remain incomplete if that doesn't happen. */
-          if (entry->kind == svn_node_dir
-              && strcmp(entry->name, SVN_WC_ENTRY_THIS_DIR))
+          if (base_node->presence != svn_wc__db_status_excluded)
             {
-              base_node->presence = svn_wc__db_status_incomplete;
-            }
-          else
-            {
-
-              if (entry->incomplete)
+              /* All subdirs are initially incomplete, they stop being
+                 incomplete when the entries file in the subdir is
+                 upgraded and remain incomplete if that doesn't happen. */
+              if (entry->kind == svn_node_dir
+                  && strcmp(entry->name, SVN_WC_ENTRY_THIS_DIR))
+                {
+                  base_node->presence = svn_wc__db_status_incomplete;
+                }
+              else if (entry->incomplete)
                 {
                   /* ### nobody should have set the presence.  */
                   SVN_ERR_ASSERT(base_node->presence