> -----Original Message-----
> From: Greg Stein [mailto:gst...@gmail.com]
> Sent: vrijdag 15 april 2011 0:25
> To: dev@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

Reply via email to