[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Removing tags from removed versions

From: Russ Sherk
Subject: Re: Removing tags from removed versions
Date: Wed, 26 Oct 2005 09:15:12 -0400

On 10/26/05, Frank Henry <address@hidden> wrote:
> Spiro Trikaliotis wrote:
> Hello Frank,
> * On Tue, Oct 25, 2005 at 01:45:52PM +0200 Frank Henry wrote:
> > Is there anyway to fix this, preferably with a cvs-command /
> > cvs-commands?
> (untested) Did you try
>   cvs rtag -d <tagname> <file>

> Mark E. Hamilton wrote:
> If the file existed in the repository when the tag was
> created, and was removed after that, then what you are seeing
> seems like the correct behavior (to me, anyway.)  The state
> of your repository at tag 'X'
> included those files; at tag 'X+n' they didn't. In general,
> you should never remove tags (unless they were incorrectly
> applied) since they're supposed to reflect the state of your
> repository at the time they are applied.
> It's also unwise to re-use tags in the way you've described.
> One presumes, for instance, that you would over the lifetime
> of your project have many 'good_version' states; how would
> you get last week's 'good_version' if you needed it?
> However, if you really want to reuse the tags then Spiro's
> suggestion should remove the tag from the specified file. To
> get all files in the repository you would use:
>    cvs rtag -d <tagname> .
> or to get all files in a specific top-level module you would use:
>    cvs rtag -d <tagname> <modulename>

Hi & thanks for both of your answers.

The problem is that the tagged version is no longer available because it
has been removed.
File_1_0 tagged with 'good_version' then removed & new file File_1_1
created and added.

If I were to update with -APCd I would get the new version. Cool.
If I update with -r good_version I would get File_1_0 (which might be
what I wanted).
A big problem is that if I also tagged file File_1_1 with 'good_version'
I would get File_1_0 AND File_1_1.
Not so good.

I have tried to call File_1_0 directly and it says 'cannot find module'
Ok so then I updated it via -r good_version (which recreates File_1_0)
and tried it again.
Unfortunetly same results.

I'd also be happy if I could control if the File_1_0 were updated or

Problem is, we are forced to have the version numbers in the file names.
(we make mobile games)

How about calling it FILE in cvs and appending the version at  build  time?

Anyhow, as Frank said, don't re-use tags.  Especially for releases.  A tag is a snapshot of your code at a specific time.  If you apply a tag, say REV1, to the repo when only FILE_1_0 exists, later checkouts using the tag REV1 will only get the files that have that tag on them.  If you remove FILE_1_0 and add FILE_1_1 and tag with REV2, checking out from REV2 tag should only get FILE_1_1 because that is what was tagged.

If you are trying to move a tag, you must make sure to delete the tag from all the dissapeared files.  In the above example, if you cvs rm FILE_1_0 before moving the tag, REV1 will still point to FILE_1_0.  However, if you do as Frank specified and cvs tag -b REV1 _before_ moving the tag, REV1 will not point to FILE_1_0.  (you can also just cvs tag -b on the files you removed, e.g cvs tag -b REV1 FILE_1_0,  instead of removing it from all files)

The last paragraph was an attempt at explaining what is happening in your situation.  I will reiterate: create _new_ tags per release; don't reuse tags.

Hope this helps a bit.


So every time we make a new version, the old version is deleated and a
new one added.
Now that the feature where you can get a deleated version is ok, I am
looking for a way to remove tags from older versions.
Since an up
If this is not possible, I will find a way to compensate.

Thanks again for all your help!


Stephan Frank Henry

Info-cvs mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]