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