Author: cmpilato
Date: Fri Nov 18 15:12:03 2011
New Revision: 1203687
URL: http://svn.apache.org/viewvc?rev=1203687&view=rev
Log:
For issue #1935 ("svn status too verbose with svn:externals
definitions"), continue trying to refile the filtering of "X" lines.
* subversion/svn/status.c
(svn_cl__print_status): Iterate on the logic which filters out
boring "X" lines.
Reported by: rhuijben
Modified:
subversion/trunk/subversion/svn/status.c
Modified: subversion/trunk/subversion/svn/status.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/status.c?rev=1203687&r1=1203686&r2=1203687&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/status.c (original)
+++ subversion/trunk/subversion/svn/status.c Fri Nov 18 15:12:03 2011
@@ -548,12 +548,27 @@ svn_cl__print_status(const char *cwd_abs
&& status->repos_node_status == svn_wc_status_none))
return SVN_NO_ERROR;
+ /* If we're trying not to print boring "X /path/to/external"
+ lines..." */
if (suppress_externals_placeholders)
{
- if (status->node_status == svn_wc_status_external)
+ /* ... skip regular externals unmodified in the repository. */
+ if ((status->node_status == svn_wc_status_external)
+ && (status->repos_node_status == svn_wc_status_none))
return SVN_NO_ERROR;
- if ((status->node_status == svn_wc_status_normal)
- && (status->file_external))
+
+ /* ... skip file externals that aren't modified locally or
+ remotely, changelisted, or locked (in either sense of the
+ word). */
+ if ((status->file_external)
+ && (status->repos_node_status == svn_wc_status_none)
+ && ((status->node_status == svn_wc_status_normal)
+ || (status->node_status == svn_wc_status_none))
+ && ((status->prop_status == svn_wc_status_normal)
+ || (status->prop_status == svn_wc_status_none))
+ && (! status->changelist)
+ && (! status->lock)
+ && (! status->wc_is_locked))
return SVN_NO_ERROR;
}