You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Patrick Mayweg <ma...@qint.de> on 2005/01/06 16:31:18 UTC
Change of functionality in svn_client_checkout call
Hallo,
after the addition of the peg revisions, there are now 2 different
checkout functions in svn_client, svn_client_checkout and
svn_client_checkout2. But the compability function svn_client_checkout
is not compatible to the svn 1.1.* version. If I want to checkout some
delete directory from a previous revision, where it still existed, I
receive the error "svn: File not found: revision 2, path '/A/D'". With
svn 1.1.* this is possible. Is this change wanted or a mistake?
Regards,
Patrick
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Change of functionality in svn_client_checkout call
Posted by Patrick Mayweg <ma...@qint.de>.
Hi Ben,
Ben Collins-Sussman wrote:
>
> On Jan 6, 2005, at 11:48 AM, Greg Hudson wrote:
>
>> On Thu, 2005-01-06 at 12:39, Patrick Mayweg wrote:
>>
>>>> So, this is a desired change in that it reflects the new behavior of
>>>> "svn co -r2 <repos-url>/A/D". Of course, since svn_client_checkout()
>>>> has no peg-rev parameter, it loses the functionality corresponding to
>>>> the new "svn co <repos-url>/A/D@2".
>>>
>>
>> (I should have written 1 where I wrote 2 here, sorry.)
>>
>>> What I do is equivalent to svn co -r1 <repos-url>/A/D where /A/D was
>>> deleted in revision 2. With svn 1.1.* you can checkout this path. With
>>> the current trunk you cannot check that out, because
>>> svn_client_checkout
>>> looks for the /A/D in the HEAD revision. I think svn 1.1.* looked for
>>> /A/D in revision 1.
>>
>>
>> I understand. On trunk, we have expanded the new peg-rev support to
>> cover all of the commands, whereas in 1.1 we only introduced it for a
>> subset of them, such as diff.
>>
>
> I swear I'm going to document the peg-rev stuff in the book this
> weekend! It's one thing to subtley change behaviors; it's dangerous
> to do it with no documentation.
That would be very helpfull. I see I have to add the peg-rev stuff to
almost all the methods of the javahl binding. I would like to do that soon.
Patrick
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Change of functionality in svn_client_checkout call
Posted by Ben Collins-Sussman <su...@collab.net>.
On Jan 6, 2005, at 11:48 AM, Greg Hudson wrote:
> On Thu, 2005-01-06 at 12:39, Patrick Mayweg wrote:
>>> So, this is a desired change in that it reflects the new behavior of
>>> "svn co -r2 <repos-url>/A/D". Of course, since svn_client_checkout()
>>> has no peg-rev parameter, it loses the functionality corresponding to
>>> the new "svn co <repos-url>/A/D@2".
>
> (I should have written 1 where I wrote 2 here, sorry.)
>
>> What I do is equivalent to svn co -r1 <repos-url>/A/D where /A/D was
>> deleted in revision 2. With svn 1.1.* you can checkout this path. With
>> the current trunk you cannot check that out, because
>> svn_client_checkout
>> looks for the /A/D in the HEAD revision. I think svn 1.1.* looked for
>> /A/D in revision 1.
>
> I understand. On trunk, we have expanded the new peg-rev support to
> cover all of the commands, whereas in 1.1 we only introduced it for a
> subset of them, such as diff.
>
I swear I'm going to document the peg-rev stuff in the book this
weekend! It's one thing to subtley change behaviors; it's dangerous
to do it with no documentation.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Change of functionality in svn_client_checkout call
Posted by Max Bowsher <ma...@ukf.net>.
Patrick Mayweg wrote:
> I would like to suggest to change svn_client_checkout to use the
> revision parameter as the peg_revision parameter to
> svn_client__checkout_internal. That would improve the compability.
I agree, in fact, I believe our compatibility rules say that we *must*
maintain the behaviour.
I guess this means that we need to check for similar compat bugs in every
pegged operation.
Max.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Change of functionality in svn_client_checkout call
Posted by Patrick Mayweg <ma...@qint.de>.
Hi Greg,
Greg Hudson wrote:
>On Thu, 2005-01-06 at 12:39, Patrick Mayweg wrote:
>
>
>>>So, this is a desired change in that it reflects the new behavior of
>>>"svn co -r2 <repos-url>/A/D". Of course, since svn_client_checkout()
>>>has no peg-rev parameter, it loses the functionality corresponding to
>>>the new "svn co <repos-url>/A/D@2".
>>>
>>>
>
>(I should have written 1 where I wrote 2 here, sorry.)
>
>
>
>>What I do is equivalent to svn co -r1 <repos-url>/A/D where /A/D was
>>deleted in revision 2. With svn 1.1.* you can checkout this path. With
>>the current trunk you cannot check that out, because svn_client_checkout
>>looks for the /A/D in the HEAD revision. I think svn 1.1.* looked for
>>/A/D in revision 1.
>>
>>
>
>I understand. On trunk, we have expanded the new peg-rev support to
>cover all of the commands, whereas in 1.1 we only introduced it for a
>subset of them, such as diff.
>
>
>
I would like to suggest to change svn_client_checkout to use the
revision parameter as the peg_revision parameter to
svn_client__checkout_internal. That would improve the compability.
Patrick
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Change of functionality in svn_client_checkout call
Posted by Greg Hudson <gh...@MIT.EDU>.
On Thu, 2005-01-06 at 12:39, Patrick Mayweg wrote:
> >So, this is a desired change in that it reflects the new behavior of
> >"svn co -r2 <repos-url>/A/D". Of course, since svn_client_checkout()
> >has no peg-rev parameter, it loses the functionality corresponding to
> >the new "svn co <repos-url>/A/D@2".
(I should have written 1 where I wrote 2 here, sorry.)
> What I do is equivalent to svn co -r1 <repos-url>/A/D where /A/D was
> deleted in revision 2. With svn 1.1.* you can checkout this path. With
> the current trunk you cannot check that out, because svn_client_checkout
> looks for the /A/D in the HEAD revision. I think svn 1.1.* looked for
> /A/D in revision 1.
I understand. On trunk, we have expanded the new peg-rev support to
cover all of the commands, whereas in 1.1 we only introduced it for a
subset of them, such as diff.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Change of functionality in svn_client_checkout call
Posted by Patrick Mayweg <ma...@qint.de>.
Hi Greg,
Greg Hudson wrote:
>On Thu, 2005-01-06 at 11:31, Patrick Mayweg wrote:
>
>
>>Hallo,
>>after the addition of the peg revisions, there are now 2 different
>>checkout functions in svn_client, svn_client_checkout and
>>svn_client_checkout2. But the compability function svn_client_checkout
>>is not compatible to the svn 1.1.* version. If I want to checkout some
>>delete directory from a previous revision, where it still existed, I
>>receive the error "svn: File not found: revision 2, path '/A/D'". With
>>svn 1.1.* this is possible. Is this change wanted or a mistake?
>>
>>
>
>Philosophically speaking, there is sometimes a fine line between fixing
>a bug and incompatibly changing behavior. For instance, if we were to
>fix the encoding of diff output, we might break a script which relies on
>the encoding being broken.
>
>The addition of peg-rev functionality straddles this line somewhat. The
>lack of history tracing in the svn client was a pretty serious flaw, and
>we've already made the decision to correct this flaw by changing the
>behavior of existing specifications of operative-rev and path.
>
>So, this is a desired change in that it reflects the new behavior of
>"svn co -r2 <repos-url>/A/D". Of course, since svn_client_checkout()
>has no peg-rev parameter, it loses the functionality corresponding to
>the new "svn co <repos-url>/A/D@2".
>
>
>
What I do is equivalent to svn co -r1 <repos-url>/A/D where /A/D was
deleted in revision 2. With svn 1.1.* you can checkout this path. With
the current trunk you cannot check that out, because svn_client_checkout
looks for the /A/D in the HEAD revision. I think svn 1.1.* looked for
/A/D in revision 1.
Patrick
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Change of functionality in svn_client_checkout call
Posted by Greg Hudson <gh...@MIT.EDU>.
On Thu, 2005-01-06 at 11:31, Patrick Mayweg wrote:
> Hallo,
> after the addition of the peg revisions, there are now 2 different
> checkout functions in svn_client, svn_client_checkout and
> svn_client_checkout2. But the compability function svn_client_checkout
> is not compatible to the svn 1.1.* version. If I want to checkout some
> delete directory from a previous revision, where it still existed, I
> receive the error "svn: File not found: revision 2, path '/A/D'". With
> svn 1.1.* this is possible. Is this change wanted or a mistake?
Philosophically speaking, there is sometimes a fine line between fixing
a bug and incompatibly changing behavior. For instance, if we were to
fix the encoding of diff output, we might break a script which relies on
the encoding being broken.
The addition of peg-rev functionality straddles this line somewhat. The
lack of history tracing in the svn client was a pretty serious flaw, and
we've already made the decision to correct this flaw by changing the
behavior of existing specifications of operative-rev and path.
So, this is a desired change in that it reflects the new behavior of
"svn co -r2 <repos-url>/A/D". Of course, since svn_client_checkout()
has no peg-rev parameter, it loses the functionality corresponding to
the new "svn co <repos-url>/A/D@2".
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org