> -----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