> -----Original Message-----
> From: Greg Stein [mailto:gstein_at_gmail.com]
> Sent: vrijdag 15 april 2011 0:25
> To: dev_at_subversion.apache.org
> Subject: Re: svn commit: r1092530 - in
> /subversion/trunk/subversion/libsvn_wc: status.c update_editor.c wc.h
> > - SVN_ERR(svn_wc__internal_walk_children(db, local_abspath,
> > - FALSE /* show_hidden */,
> > - modcheck_found_node,
&modcheck_baton,
> > - svn_depth_infinity,
cancel_func,
> > - cancel_baton, pool));
> > + /* Walk the WC tree for status with depth infinity, looking for any
local
> > + * modifications. If it's a "sparse" directory, that's OK: there can
be
> > + * no local mods in the pieces that aren't present in the WC. */
> > +
> > + err = svn_wc__internal_walk_status(db, local_abspath,
>
> How can this work for a file? It looks like walk_status will fail for
> non-directory nodes. It calls get_dir_status() which then tries to
> read children info and fetch dirents.
Walk status properly detects this case and has no problem with walking only
a single file in a directory. This is essentially what libsvn_client does
for its status walk when it is not looking at a repository.
(This is managed by the 'selected' argument of get_dir_status)
Bert
Received on 2011-04-15 00:35:39 CEST