On Apr 14, 2011 6:35 PM, "Bert Huijben" <b...@qqmail.nl> wrote:
>
>
>
> > -----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)

Ah! I see now. It pops up to the containing directory and picks out that
one.

Thanks,
-g

Reply via email to