You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Michael Susser <hd...@googlemail.com> on 2008/12/01 08:57:34 UTC

Re: Error when creating tags from working copy

Hi David,

this can't be true, because it worked with all versions until 1.5.2. "Tag
from working copy" would make no sense if all files must have the same
revision...

Regards,
Michael

2008/11/30 David Weintraub <qa...@gmail.com>

> Well, you've hit another limit on the "tags as branches" method used in
> Subversion. Since tags are simply a copy from a particular revision of the
> repository, you can't make a tag via a simple copy unless all the files are
> in the same revision.
> The only way I've found around this is to make a tag via a standard
> revision, checkout that tag, then copy the changes you want one-by-one over
> the tag. I use a script to do this.
>
>   --
> David Weintraub
> qazwart@gmail.com
>

Re: Error when creating tags from working copy

Posted by David Weintraub <qa...@gmail.com>.
It looks like you're right. My understanding is that there are four
different types of copies in Subversion:

WC -> WC
URL -> WC
WC -> URL
URL -> URL

And, that when you do a copy to a URL, no actual copying happens. Instead, a
simple link is made from one URL and version to another.

That would mean that a working copy having multiple revisions in it wouldn't
pick up all those revisions since only a single URL and version are linked..

However, I just did a quick test. In a test repository, I checked out a
project, then updated one file to a previous revision. This way, the whole
directory has multiple revisions in it. Then I did:

$ svn cp . http://subversion/dev/foo/tags/TEST

I then executed:

$ svn log -v http://subversion/dev/foo/tags/TEST
------------------------------------------------------------------------
r46989 | dweintraub | 2008-12-01 12:48:24 -0500 (Mon, 01 Dec 2008) | 2 lines
Changed paths:
   A /foo/tags/TEST (from /foo/trunk:46988)
   R /foo/tags/TEST/build.xml (from /foo/trunk/build.xml:20137)

Testing
[...]

So, Subversion actually did pick up the different revisions in side my
working directory when it created the tag.

I assume the same thing happens if I had a different revision in a directory
than a file. However, I am using Subversion 1.3 as a client.

--
David Weintraub
qazwart@gmail.com


On Mon, Dec 1, 2008 at 3:57 AM, Michael Susser <hd...@googlemail.com>wrote:

> Hi David,
>
> this can't be true, because it worked with all versions until 1.5.2. "Tag
> from working copy" would make no sense if all files must have the same
> revision...
>
> Regards,
> Michael
>
> 2008/11/30 David Weintraub <qa...@gmail.com>
>
>> Well, you've hit another limit on the "tags as branches" method used in
>> Subversion. Since tags are simply a copy from a particular revision of the
>> repository, you can't make a tag via a simple copy unless all the files are
>> in the same revision.
>> The only way I've found around this is to make a tag via a standard
>> revision, checkout that tag, then copy the changes you want one-by-one over
>> the tag. I use a script to do this.
>>
>>   --
>> David Weintraub
>> qazwart@gmail.com
>>
>