On Friday, November 16, 2001, at 10:05  AM, Bruce Atherton wrote:
> At 09:22 AM 11/16/2001 -0500, Kevin Pilch-Bisson wrote:
>> I think the issue is that most of the svn developers have been 
>> concerned with
>> branching/tagging a whole project, whereas Bruce wants an easy way to 
>> tag a
>> single file, without typing that files path in the tags area.
>>
>> Now maybe the way to do this is to just always branch/tag the whole 
>> project
>> (since it doesn't take up any extra space/time).
>
> This is a very interesting idea, but I can see a few problems with it.
>
> First of all, it assumes that everything in your working copy is ready 
> to be promoted. This is often not the case, and will almost certainly 
> result in developers getting very confused about files "mysteriously" 
> getting tagged.
>
> Secondly, I don't think it would play well with other developers 
> changes. You would essentially be saying that all files in your working 
> copy are ready to be promoted, including those being worked on by 
> somebody else. They might not be too happy about that.
I think the real issue here is the whole notion of tags.
Tags are a CVS thing. Their purpose is to establish which revisions of a 
set of files correspond to each other, since CVS keeps revisions per 
file. Subversion doesn't need tags because the revision numbers reflect 
the state of the entire repository. The "copy solution" that always gets 
mentioned is actually unnecessary, since all you really need to do is 
remember the revision number you're interested in. The copy just makes 
that revision "stand out" a bit because you can see it in a directory 
listing and give it a name instead of a number. The real power of 'svn 
cp' is for branching.
Of course, CVS tags are a general mechanism and useful for other things, 
like code promotion. But I think a better mechanism to accomplish the 
same task is Subversion properties. After all, CVS tags are basically 
properties that only take boolean values. I'd be pretty easy to do 
integration testing as Bruce describes by agreeing on a property name 
("qa:quality"  for example) and values ("INTEG", "PREQA", "QA", 
"RELEASE").
The key is to make it easy to find files or directories with given 
properties using the svn client.
Colin
PS. By way of introduction, I've just joined the subversion project as 
an Observer. I use CVS a lot, and love it, but curse it regularly. I 
really like the way subversion is shaping up, and hope to make some 
contributions in the near future.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:48 2006