[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: svn_client_status and path relativity

From: Bert Huijben <rhuijben_at_sharpsvn.net>
Date: Mon, 12 Oct 2009 00:36:21 +0200

> -----Original Message-----
> From: Роман Донченко [mailto:DXDragon_at_yandex.ru]
> Sent: maandag 12 oktober 2009 0:24
> To: Bert Huijben; dev_at_subversion.tigris.org
> Subject: Re: svn_client_status and path relativity
>
> Bert Huijben <bert_at_qqmail.nl> писал в своём письме Mon, 12 Oct 2009
> 01:49:13 +0400:
>
> >> -----Original Message-----
> >> From: news [mailto:news_at_ger.gmane.org] On Behalf Of Roman Donchenko
> >> Sent: zondag 11 oktober 2009 22:19
> >> To: dev_at_subversion.tigris.org
> >> Subject: svn_client_status and path relativity
> >>
> >> Hello,
> >>
> >> While debugging the last Python testsuite failure, I've come upon an
> >> issue
> >> in the info implementation.
> >>
> >> First of all, as I've already mentioned in IRC, the receiver
> argument
> >> to
> >> svn_client_info3 is of type svn_info_receiver2_t in the function
> >> declaration, but svn_info_receiver_t in the definition. As both
> types
> >> are
> >> identical, it doesn't cause any problems, but I'm listing it here
> for
> >> the
> >> record.
> >>
> >> Later on, however, in the aforementioned function we have:
> >>
> >> SVN_ERR(receiver(receiver_baton, base_name, info, pool));
> >>
> >> Why are we passing it the base name here? The parameter is called
> >> abspath_or_url, presumably it expects to be passed an absolute path
> or
> >> a
> >> URL. 8=]
> >>
> >> Moreover, I'm not sure what should be passed there. If we pass the
> URL
> >> in
> >> the repository, then info_receiver_relpath_wrapper will be unable to
> >> transform it into a relative path for svn_client_info2 users. And if
> we
> >> use the absolute path in the WC, we still won't achieve full
> >> compatibility: previously, "svn info mywc/blah.txt -rHEAD" would
> return
> >> "blah.txt" as the path, now it would return "mywc/blah.txt". And I'm
> >
> > Second reply..
> >
> > svn info mywc/blah.txt -rHEAD uses the url of mywc/blah.txt at
> revision
> > HEAD
> > and never the working copy path, in any format. That hasn't changed.
>
> I'm talking about the path that's being passed to the receiver, not the
> one that info itself uses.
>
> E.g.:
>
> > svn info -rBASE src-trunk\COMMITTERS
> Path: COMMITTERS <-- shouldn't this be src-trunk\COMMITTERS?
> ....
>
> > bin-trunk\svn info -rBASE testwc\trunk\README.txt
> Path: testwc\trunk\README.txt\README.txt <-- the same bug as in the
> bindings testsuite, caused by passing base_name to the receiver
> ....

-r BASE is also translated in the base revision of the path and then send to the server with the url of the working copy path. Only if you pass an unspecified revision (API) or no revision (CLI) you get the wc-path version.

        Bert

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2406453
Received on 2009-10-12 00:36:33 CEST

This is an archived mail posted to the Subversion Dev mailing list.