> -----Original Message-----
> From: Greg Stein [mailto:gstein_at_gmail.com]
> Sent: zondag 20 juni 2010 0:44
> To: Senthil Kumaran S
> Cc: dev_at_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 <senthil_at_collab.net>
> wrote:
> > Greg Stein wrote:
> >> On Fri, Jun 18, 2010 at 02:39, <stylesen_at_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
Received on 2010-06-22 15:37:28 CEST