> -----Original Message----- > From: Greg Stein [mailto:gst...@gmail.com] > Sent: zondag 20 juni 2010 0:44 > To: Senthil Kumaran S > Cc: dev@subversion.apache.org > Subject: Re: svn commit: r955846 - > /subversion/trunk/subversion/libsvn_wc/update_editor.c > > On Sat, Jun 19, 2010 at 01:47, Senthil Kumaran S <sent...@collab.net> > wrote: > > Greg Stein wrote: > >> On Fri, Jun 18, 2010 at 02:39, <style...@apache.org> wrote: > >>> ... > >>> +++ subversion/trunk/subversion/libsvn_wc/update_editor.c Fri Jun > 18 06:39:31 2010 > >>> @@ -5208,10 +5208,12 @@ make_editor(svn_revnum_t *target_revisio > >>> if (depth == svn_depth_unknown) > >>> depth_is_sticky = FALSE; > >>> > >>> - /* Get the anchor entry, so we can fetch the repository root. */ > >>> - SVN_ERR(svn_wc__node_get_repos_info(&repos_root, &repos_uuid, > wc_ctx, > >>> - anchor_abspath, TRUE, FALSE, > >>> - result_pool, scratch_pool)); > >>> + /* Get the anchor's repository root and uuid. */ > >>> + SVN_ERR(svn_wc__db_read_info(NULL,NULL, NULL, NULL, &repos_root, > &repos_uuid, > >>> + NULL, NULL, NULL, NULL, NULL, NULL, > NULL, NULL, > >>> + NULL, NULL, NULL, NULL, NULL, NULL, > NULL, NULL, > >>> + NULL, NULL, wc_ctx->db, > anchor_abspath, > >>> + result_pool, scratch_pool)); > >> > >> These are not equivalent. The read_info() might return NULL values > for > >> repos_*, indicating they are inherited from the parent. The node > >> function will grab the data from the parent, if/when necessary. > > > > What will be the alternative function to use here? > > Stick to the node function, or go look at its contents. > > The point is: if NULL is returned, then you need to scan upwards for > the repository information. > > The other thing to note here: I believe that the BASE node *must* > exist if you're going to run an update on it. Thus, read_info() is a > bit of overkill, and you can simply use base_get_info() and (if > needed) scan_base_repos(). I'd suggest this latter approach, if > possible.
This last part is not the case; it can be valid on not existing or WORKING only nodes: Update can be used to get a node that is not in the working copy such as excluded (directly or by a limiting depth on its parent) or which is just a local addition (but added in the repository by somebody else) into the working copy. Bert