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 2012/03/06 16:25:20 UTC

svn commit: r1297522 - in /subversion/trunk/subversion: libsvn_wc/adm_crawler.c tests/cmdline/depth_tests.py

Author: rhuijben
Date: Tue Mar  6 15:25:19 2012
New Revision: 1297522

URL: http://svn.apache.org/viewvc?rev=1297522&view=rev
Log:
In the adm crawler report the leave-directories as depth empty when doing a
depth immediate crawl. This ensures that we don't accidentally get unneeded
editor operations on children. This resolves issue #4136.

Found by: Derek Wallace <del.wallace{__AT__}gmail.com>
Suggested by: cmpilato

* subversion/libsvn_wc/adm_crawler.c
  (report_revisions_and_depths): Report the to be used depth instead of just the
    stored depth.

* subversion/tests/cmdline/depth_tests.py
  (commit_then_immediates_update): Remove XFail marker.

Modified:
    subversion/trunk/subversion/libsvn_wc/adm_crawler.c
    subversion/trunk/subversion/tests/cmdline/depth_tests.py

Modified: subversion/trunk/subversion/libsvn_wc/adm_crawler.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/adm_crawler.c?rev=1297522&r1=1297521&r2=1297522&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/adm_crawler.c (original)
+++ subversion/trunk/subversion/libsvn_wc/adm_crawler.c Tue Mar  6 15:25:19 2012
@@ -494,10 +494,14 @@ report_revisions_and_depths(svn_wc__db_t
         {
           svn_boolean_t is_incomplete;
           svn_boolean_t start_empty;
+          svn_depth_t report_depth = ths->depth;
 
           is_incomplete = (ths->status == svn_wc__db_status_incomplete);
           start_empty = is_incomplete;
 
+          if (!SVN_DEPTH_IS_RECURSIVE(depth))
+            report_depth = svn_depth_empty;
+
           /* When a <= 1.6 working copy is upgraded without some of its
              subdirectories we miss some information in the database. If we
              report the revision as -1, the update editor will receive an
@@ -525,7 +529,7 @@ report_revisions_and_depths(svn_wc__db_t
                                                 dir_repos_root,
                                                 ths->repos_relpath, iterpool),
                                             ths->revnum,
-                                            ths->depth,
+                                            report_depth,
                                             start_empty,
                                             ths->lock ? ths->lock->token
                                                       : NULL,
@@ -534,7 +538,7 @@ report_revisions_and_depths(svn_wc__db_t
                 SVN_ERR(reporter->set_path(report_baton,
                                            this_report_relpath,
                                            ths->revnum,
-                                           ths->depth,
+                                           report_depth,
                                            start_empty,
                                            ths->lock ? ths->lock->token : NULL,
                                            iterpool));
@@ -548,7 +552,7 @@ report_revisions_and_depths(svn_wc__db_t
                                               dir_repos_root,
                                               ths->repos_relpath, iterpool),
                                           ths->revnum,
-                                          ths->depth,
+                                          report_depth,
                                           start_empty,
                                           ths->lock ? ths->lock->token : NULL,
                                           iterpool));
@@ -572,7 +576,7 @@ report_revisions_and_depths(svn_wc__db_t
               SVN_ERR(reporter->set_path(report_baton,
                                          this_report_relpath,
                                          ths->revnum,
-                                         ths->depth,
+                                         report_depth,
                                          start_empty,
                                          ths->lock ? ths->lock->token : NULL,
                                          iterpool));

Modified: subversion/trunk/subversion/tests/cmdline/depth_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/depth_tests.py?rev=1297522&r1=1297521&r2=1297522&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/depth_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/depth_tests.py Tue Mar  6 15:25:19 2012
@@ -2843,7 +2843,6 @@ def update_below_depth_empty(sbox):
                                         None, None)
 
 # Test for issue #4136.
-@XFail()
 @Issue(4136)
 def commit_then_immediates_update(sbox):
   "deep commit followed by update --depth immediates"