[cvsnt] Project structure in repository as it relates to branching

Gerhard Fiedler lists at connectionbrazil.com
Tue Aug 15 14:17:32 BST 2006


Bo Berglund wrote:

>>> (The tag move is an option for cvs tag but is often set).
>> 
>> Is this a good idea? For exactly the reason to prevent accidental moves
>> of tags (which can't be undone easily, unless you log the tagging
>> somehow) I'd think this is a rather dangerous thing to have set as
>> default. 
>> 
> I did not say it was a default.

I know. But you said "is often set". I only set this option when I want to
move a tag. When I want to create a tag, I don't set it. If it isn't
default, it has to be set explicitly -- which only should happen when a tag
needs to be moved.

> But in clients like for example WinCvs it is very easy to set the
> option. Just check the box "Overwrite existing tags with the same
> name" and you are ready to move the tag.

Exactly. However, I think that someone should only check that box if they
/want/ to move a tag. If they want to create a tag, they shouldn't check
it.

I use WinCvs and TCVS for most of my tagging, and since the option is (in
both) by default not selected, I just leave it that way -- unless I
specifically want to move a tag.

> But look at it the other way: if the tag is not moved and you are
> tagging your snapshot with tag name that already exists, then after
> the tag is done you do not have the file revisions you think tagged,

Correct, but you receive an error message. I expect people to look at the
results when they do stuff: 

W testbin.txt : tTestup already exists on version 1.5 : NOT MOVING tag to
version 1.6

This seems to be clear enough. Both WinCvs and TCVS make this very clear
(color coding, output filtering). 

The only problem is that cvs.exe seems to return 0, even though it failed
to tag. Don't know if this is intentional, but for me it is unexpected.

> So making a tag name unique by adding the app name and possibly the
> date makes sense to me at least.

I didn't say it doesn't. This of course makes sense. My message wasn't
about your proposed standard for tag naming, it was about the "overwrite
tags" option. I think that whoever sets that option should do so only when
he explicitly wants to move tags. Just blindly clicking or typing it when
not needed and without thinking about what it does is not "best practice"
:)

Even with your tag naming scheme, it is not impossible that someone re-uses
a tag that's already been used (maybe later the same day, having done some
fixes without changing the release version or issue number). Someone who
sets such an option without thinking is up to anything :)

Gerhard


More information about the cvsnt mailing list