You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ph...@apache.org on 2011/05/26 12:00:22 UTC

svn commit: r1127853 - in /subversion/trunk/subversion: libsvn_wc/entries.c tests/cmdline/upgrade_tests.py

Author: philip
Date: Thu May 26 10:00:21 2011
New Revision: 1127853

URL: http://svn.apache.org/viewvc?rev=1127853&view=rev
Log:
Fix another case for issue 3901, upgrade with depth=exclude inside delete.

* subversion/libsvn_wc/entries.c
  (write_entry): Remove failing assert, add earlier asserts, allocate
   excluded base node inside delete.

* subversion/tests/cmdline/upgrade_tests.py
  (depth_exclude_2): Remove XFAIL.


Modified:
    subversion/trunk/subversion/libsvn_wc/entries.c
    subversion/trunk/subversion/tests/cmdline/upgrade_tests.py

Modified: subversion/trunk/subversion/libsvn_wc/entries.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/entries.c?rev=1127853&r1=1127852&r2=1127853&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/entries.c (original)
+++ subversion/trunk/subversion/libsvn_wc/entries.c Thu May 26 10:00:21 2011
@@ -1620,18 +1620,16 @@ write_entry(struct write_baton **entry_n
      replace+copied   replace+copied     [base|work]+work  [base|work]+work
   */
 
+  SVN_ERR_ASSERT(parent_node || entry->schedule == svn_wc_schedule_normal);
+  SVN_ERR_ASSERT(!parent_node || parent_node->base
+                 || parent_node->below_work || parent_node->work);
+
   switch (entry->schedule)
     {
       case svn_wc_schedule_normal:
-        SVN_ERR_ASSERT(!parent_node
-                       || (parent_node->base && !parent_node->work
-                           && !entry->copied)
-                       || (!parent_node->base && parent_node->work
-                           && (entry->copied ||
-                               entry->depth == svn_depth_exclude)));
         if (entry->copied ||
-            (entry->depth == svn_depth_exclude && parent_node &&
-             parent_node->work))
+            (entry->depth == svn_depth_exclude
+             && parent_node && !parent_node->base && parent_node->work))
           working_node = MAYBE_ALLOC(working_node, result_pool);
         else
           base_node = MAYBE_ALLOC(base_node, result_pool);

Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1127853&r1=1127852&r2=1127853&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Thu May 26 10:00:21 2011
@@ -960,7 +960,6 @@ def depth_exclude(sbox):
       'X'                 : Item(status='A ', copied='+', wc_rev='-'),
     })
 
-@XFail()
 @Issue(3901)
 def depth_exclude_2(sbox):
   "1.6.x wc that has depth=exclude inside a delete"