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

Re: CVS and SVN: Tags and Branches.. A question of strategies

From: Les Mikesell <lesmikesell_at_gmail.com>
Date: 2007-03-16 22:38:35 CET

Jeff Smith wrote:
> On Friday 16 March 2007 08:30, John Rouillard wrote:
>> The problem is that tags in subversion create a new namespace that
>> ends the file time history at that point. E.G.
>> new trunk/foo.c rev 1024
>> new trunk/foo.c rev 1028
>> tag trunk/tag1/foo.c -> tag/tag1/foo.c rev 1030
>> new trunk/foo.c rev 1032

>> However what is tag/tag1/foo.c, it is just a particular stage of
>> life of trunk/foo.c, but because of how SVN does tags, it isn't
>> part of the timeline of trunk/foo.c at all. It is it's own seperate
>> entity with it's own timeline.
> So this is where use of cvs and svn are designed to differ, and I
> guess if you relied on the internal cvs specifics then some
> reconsideration is in order...

I don't think they are designed to differ so much as it happens as an
effect of the mechanism.

> What is the "tag1" in svn? We see it's not just rev 12 of trunk, but
> rather a 'copy' of trunk@1028. I think the begining of your solution
> is knowing that the 'tag' by name (i.e. tag/tag1), tells you which
> revision it is tagging (trunk@1028).

In cvs, it might not be, since your work flow might involve floating a
known tag name to where you want it for the next operation. In either,
you may have tagged a mixed revision of files if other people were
committing while you were evaluating your workspace before tagging - or
for other reasons.

> I guess what I'm still missing is the real-world example of your cvs
> project; why the hints that you don't know the name of the tags, but
> you only know the origin "trunk/foo.c"? Instead, I thought it would
> just be a matter of looking at the tag1 log to see what rev it was
> coppied from. Then you know you're working from trunk@1028.

The point is more that you can't look backwards from the trunk copy (or
maybe some branch) and see at what point the tag was applied. In the
case of tagging from the workspace there may be no exactly matching rev
anywhere else. And you can't look forward from the tag copy because the
history ends there. The example this thread started from was someone
wanting to check out a tag, then update only that set of files to the
matching trunk/HEAD versions without picking up additional files that
weren't included in the tag.

   Les Mikesell
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Mar 16 22:37:55 2007

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.