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