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

[PATCH] show locked dirs in `svn st' non-verbose output

From: <cmpilato_at_collab.net>
Date: 2002-02-21 23:14:16 CET

I'm sending this as a patch because I don't want to rock the fragile
boat on which we've built some sort of consensus about the output of
`svn st`. If folks are against it, no sweat.

Log:
* subversion/libsvn_wc/status.c

  (assemble_status): Include locked directories in the list of
  intesting items returned by non-version status requests.

Patch:
Index: ./subversion/libsvn_wc/status.c
===================================================================
--- ./subversion/libsvn_wc/status.c
+++ ./subversion/libsvn_wc/status.c Thu Feb 21 16:02:32 2002
@@ -116,6 +116,7 @@
   svn_boolean_t has_props;
   svn_boolean_t text_modified_p = FALSE;
   svn_boolean_t prop_modified_p = FALSE;
+ svn_boolean_t locked_p = FALSE;
 
   /* Defaults for two main variables. */
   enum svn_wc_status_kind final_text_status = svn_wc_status_normal;
@@ -230,26 +231,34 @@
         missing. This overrides every possible state *except*
         deletion. (If something is deleted or scheduled for it, we
         don't care if the working file exists.) */
+
   if ((path_kind == svn_node_none)
       && (final_text_status != svn_wc_status_deleted))
     final_text_status = svn_wc_status_absent;
 
 
- /* 4. Easy out: unless we're fetching -every- entry, don't bother
+ /* 4. Check for locked directory. */
+
+ if (entry->kind == svn_node_dir)
+ SVN_ERR (svn_wc__locked (&locked_p, path, pool));
+
+
+ /* 5. Easy out: unless we're fetching -every- entry, don't bother
      to allocate a struct for an uninteresting entry. */
 
   if (! get_all)
     if (((final_text_status == svn_wc_status_none)
          || (final_text_status == svn_wc_status_normal))
         && ((final_prop_status == svn_wc_status_none)
- || (final_prop_status == svn_wc_status_normal)))
+ || (final_prop_status == svn_wc_status_normal))
+ && (! locked_p))
       {
         *status = NULL;
         return SVN_NO_ERROR;
       }
 
 
- /* 5. Build and return a status structure. */
+ /* 6. Build and return a status structure. */
 
   stat = apr_pcalloc (pool, sizeof(**status));
   stat->entry = svn_wc__entry_dup (entry, pool);
@@ -257,15 +266,8 @@
   stat->prop_status = final_prop_status;
   stat->repos_text_status = svn_wc_status_none; /* default */
   stat->repos_prop_status = svn_wc_status_none; /* default */
- stat->locked = FALSE;
- stat->copied = FALSE;
-
- /* 6. Check for locked directory, or if the item is 'copied'. */
-
- if (entry->kind == svn_node_dir)
- SVN_ERR (svn_wc__locked (&(stat->locked), path, pool));
- if (entry->copied)
- stat->copied = TRUE;
+ stat->locked = locked_p;
+ stat->copied = entry->copied;
 
   *status = stat;
 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:37:09 2006

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.