[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] svn status --non-recursive should not recurse

From: D.J. Heap <dj_at_shadyvale.net>
Date: 2004-03-02 03:30:22 CET

After more testing and some debugging I found one small problem
(trivially fixed) with the patch.

When getting the non-recursive status of a child of the working copy
directory, the anchor selected is the parent of the target directory.
This means the depth passed on down needs to be 2 rather than 1 so that
it can find the status of the target's children that are themselves
directories.

This will preserve the current behavior of the API which is slightly
altered if you use a depth of 1 -- the child directories' status entries
are not fully filled out (cmt_rev and revision are -1, for example).

So, the call to 'svn_wc_adm_probe_open_depth' on line 126 of
'subversion/libsvn_client/status.c' needs to pass 2 rather than 1 if
'descend' is true (tweaked portion of previous patch):

Index: subversion/libsvn_client/status.c
===================================================================
--- subversion/libsvn_client/status.c (revision 8870)
+++ subversion/libsvn_client/status.c (working copy)
@@ -121,10 +121,11 @@
    /* Close up our ADM area. We'll be re-opening soon. */
    SVN_ERR (svn_wc_adm_close (adm_access));

- /* Need to lock the tree as even a non-recursive status requires the
- immediate directories to be locked. */
- SVN_ERR (svn_wc_adm_probe_open (&adm_access, NULL, anchor,
- FALSE, TRUE, pool));
+ /* Need to lock the tree. A non-recursive status requires the
+ immediate subdirectories to be locked. A recursive status
+ requires us to lock the whole tree. */
+ SVN_ERR (svn_wc_adm_probe_open_depth (&adm_access, NULL, anchor,
+ FALSE, (descend ? -1 : 2), pool));

    /* Get the status edit, and use our wrapping status function/baton
       as the callback pair. */

DJ

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Mar 2 03:29:42 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.