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

RE: svn commit: rev 2949 - trunk/subversion/include trunk/subversion/libsvn_wc trunk/subversion/libsvn_client trunk/subversion/clients/cmdline

From: Sander Striker <striker_at_apache.org>
Date: 2002-08-13 01:48:10 CEST

> From: Karl Fogel [mailto:kfogel@newton.ch.collab.net]
> Sent: 13 August 2002 00:30

> S'okay, it's certainly not a regression from what we had. At the
> worst, it just doesn't quite solve the problem yet.
>
> -K

This patch should do the trick.

We can probably safely set STRICT to FALSE in svn_client_status,
since STRICT didn't do anything before the changes.

Sander

Index: subversion/libsvn_wc/status.c
===================================================================
--- subversion/libsvn_wc/status.c
+++ subversion/libsvn_wc/status.c Tue Aug 13 01:43:44 2002
@@ -555,40 +555,29 @@
                 {
                   /* Directory entries are incomplete. We must get
                      their full entry from their own THIS_DIR entry.
- svn_wc_entry does this for us if it can.
-
- Don't error out if svn_wc_entry can't get the
- entry for us because the path is not a (working
- copy) directory. Instead pass the incomplete
- entry to add_status_structure, since that contains
- enough information to determine the actual state
- of this entry. */
-
- svn_wc_entry_t *subdir = NULL;
- svn_error_t *svn_err;
-
- svn_err = svn_wc_entry (&subdir, fullpath, FALSE, pool);
- if (svn_err)
- {
- if (svn_err->apr_err != SVN_ERR_WC_NOT_DIRECTORY)
- return svn_err;
-
- svn_error_clear_all (svn_err);
- subdir = entry;
- }
+ svn_wc_entry does this for us if it can. */

+ SVN_ERR (svn_wc_entry (&entry, fullpath, FALSE, pool));
                   SVN_ERR (add_status_structure (statushash, fullpath,
- subdir, get_all,
+ entry, get_all,
                                                  strict, pool));

                   /* Descend only if the subdirectory is a working copy
                      directory (and DESCEND is non-zero ofcourse) */

- if (descend && subdir != entry)
+ if (descend)
                     {
- SVN_ERR (svn_wc_statuses (statushash, fullpath, descend,
- get_all, strict, no_ignore,
- pool));
+ svn_boolean_t is_wc;
+
+ SVN_ERR (svn_wc_check_wc (fullpath, &is_wc, pool));
+
+ if (is_wc)
+ {
+ SVN_ERR (svn_wc_statuses (statushash, fullpath,
+ descend, get_all,
+ strict, no_ignore,
+ pool));
+ }
                     }
                 }
               else if ((kind == svn_node_file) || (kind == svn_node_none))
Index: subversion/libsvn_client/status.c
===================================================================
--- subversion/libsvn_client/status.c
+++ subversion/libsvn_client/status.c Tue Aug 13 01:29:42 2002
@@ -150,16 +150,6 @@
                    apr_pool_t *pool)
 {
   apr_hash_t *hash = apr_hash_make (pool);
- svn_boolean_t strict;
-
- /* If we're not updating, we might be getting new paths from the
- repository, and we don't want svn_wc_statuses to error on these
- paths. However, if we're not updating and we see a path that
- doesn't exist in the wc, we should throw an error */
- if (update)
- strict = FALSE;
- else
- strict = TRUE;

   /* Ask the wc to give us a list of svn_wc_status_t structures.
      These structures contain nothing but information found in the
@@ -169,7 +159,7 @@
      function understands these flags too, and will return the correct
      set of structures. */
   SVN_ERR (svn_wc_statuses (hash, path, descend, get_all,
- strict, no_ignore, pool));
+ FALSE, no_ignore, pool));

   /* If the caller wants us to contact the repository also... */

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Aug 13 01:38:31 2002

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.