[cvsnt] BUG: Update with non-existing tag deletes sandbox files

Bo Berglund bo.berglund at telia.com
Wed Nov 19 16:39:25 GMT 2008


On Wed, 19 Nov 2008 09:54:59 +0100, "Luigi D. Sandon" <cp at sandon.it>
wrote:

>> Not a simple call, but I think the removal is actually the sensible
>> thing to do.
>
>Just because CVSNT is not sure what tags exist, and checking would take too 
>much time. That looks a classic bug that becomes a "feature" <g>.
>

Can you elaborate on what the bug consists of?
You specifically ask CVS to update all files in your sandbox to the
revisions they have for the given tag. Since none of the files has
this tag they are all erased (from your sandbox). This accurately
describes the situation for the *nonexisting* tag, no file carries it.

Notice that each file has a record in CVS of which tags it has set and
for which revisions. If a specific tag is not in this local list the
file is not part of the tagged file set and so will not belong there.

The fact that you gave a tag that does not exist at all (due to a
mis-spelling maybe) does not change this one iota. THe system does
what it is told to do.

What do you want to happen?
1) Keep all files untouched if they do not carry the tag maybe?
How can that be correct? THis implies that updating to a tagged file
set will not give the correct file set, instead it gets the tagged
file set PLUS all files thta have been added afterwards and all files
thta in other ways do not carry the tag. Totally defeats the use of
tagged file sets!

2) Stop the operation and show a warning?
Why? To revert the erasure is so simple that it does not warrant a
warning. Just repeat the update but specify to reset any sticky tags
and you will get the HEAD revisions of all files into the sandbox....
And the warning now must find out if indeed the tag given is
non-existing in the repository, which takes the non-wanted time.

I see no bug. Especially no "classic" bug.....
-- 

/Bo
(Bo Berglund, developer in Sweden)


More information about the cvsnt mailing list