Noorul Islam K M <[email protected]> writes:

> Philip Martin <[email protected]> writes:
>
>> Noorul Islam K M <[email protected]> writes:
>>
>>> @@ -79,8 +84,17 @@
>>>      {
>>>        to = APR_ARRAY_IDX(targets, 1, const char *);
>>>  
>>> +      /* Get the RA connection. */
>>> +      SVN_ERR(svn_client__ra_session_from_path(&ra_session, &revnum,
>>> +                                               &url, truefrom, NULL,
>>> +                                               &peg_revision,
>>> +                                               
>>> &(opt_state->start_revision),
>>> +                                               ctx, pool));
>>> +
>>> +      SVN_ERR(svn_ra_check_path(ra_session, "", revnum, &kind, pool));
>>> +
>>>        /* If given the cwd, pretend we weren't given anything. */
>>> -      if (strcmp("", to) == 0)
>>> +      if ((strcmp("", to) == 0) && (kind == svn_node_file))
>>>          to = svn_path_uri_decode(svn_uri_basename(truefrom, pool), pool);
>>>        else
>>>          /* svn_cl__eat_peg_revisions() but only on one target */
>>
>> svn_ra_check_path is expensive, as it involves a round trip to the
>> server, and output is not always used.  Can we avoid the call when the
>> kind is not needed?
>
> But I think here we need to check kind to branch. Do you mean to say
> that we don't need kind in all cases?

If the call strcpm("", to) returns non-zero then kind is never used.

Including client.h is wrong as well.

-- 
Philip

Reply via email to