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.
Cheers,
-g
Received on 2010-06-20 00:44:44 CEST