On Friday, November 18, 2011 3:12 PM, cmpil...@apache.org wrote: > 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))
Forward compatibility? If we add a status->foo flag (like we added the status->changelist bit in 1.4), we would have to explicitly add it to this if() too --- which is too easy to forget. > return SVN_NO_ERROR; > } > > > >