[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: able to remove tagged files
From: |
Jim.Hyslop |
Subject: |
RE: able to remove tagged files |
Date: |
Tue, 30 Nov 2004 11:40:08 -0500 |
Mark D. Baushke wrote:
> It is possible to remove tagged files from the current branch or the
> trunk because a checkout using the tag will still checkout the tagged
> version of the file with no problems.
>
> cvs checkout myproj
> cd myproj
> cvs tag my-release-1-0
> : assume that there is a foo.c version 1.12 here
> cvs remove foo.c
> cvs commit foo.c
> cvs log foo.c
> : you will see the output about version 1.13 being a 'dead' version
There's a step you left out - before the remove, 'cvs update -r
my-release-1-0'. This gives much more, er, interesting results:
E:\cvs\cvs-test\jhyslop\test_tags>echo hello>test.txt
E:\cvs\cvs-test\jhyslop\test_tags>cvs add test.txt
cvs server: use 'cvs commit' to add this file permanently
E:\cvs\cvs-test\jhyslop\test_tags>cvs ci -m"Adding file" test.txt
RCS file: /cvs/cvs-test/jhyslop/test_tags/test.txt,v
done
Checking in test.txt;
/cvs/cvs-test/jhyslop/test_tags/test.txt,v <-- test.txt
initial revision: 1.1
done
E:\cvs\cvs-test\jhyslop\test_tags>cvs tag rev_1
T test.txt
E:\cvs\cvs-test\jhyslop\test_tags>cvs up -r rev_1
E:\cvs\cvs-test\jhyslop\test_tags>del test.txt
E:\cvs\cvs-test\jhyslop\test_tags>cvs remove test.txt
cvs server: use 'cvs commit' to remove this file permanently
E:\cvs\cvs-test\jhyslop\test_tags>cvs ci -mGawn test.txt
E:\cvs\cvs-test\jhyslop\test_tags>cvs lo test.txt
RCS file: /cvs/cvs-test/jhyslop/test_tags/test.txt,v
Working file: test.txt
head: 1.1
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
----------------------------
revision 1.1
date: 2004/11/30 16:17:56; author: jhyslop; state: Exp;
Adding file
============================================================================
=
E:\cvs\cvs-test\jhyslop\test_tags>
Note that the log shows the state of 1.1 as Exp, and the tag has
disappeared. Basically, it looks like a "cvs remove" when there's a sticky
tag in effect acts the same as a "cvs tag -d [tag]". You get the same
results even if there's a revision 1.2, i.e.:
cvs add file
cvs tag atag file
[modify file]
cvs ci file
cvs up -r atag
cvs remove -f file
cvs ci file
cvs log file (will show 1.1 and 1.2 as state: Exp, no symbolic names).
This is using CVS 1.11.9 (I know, I know, it's old). I didn't see anything
in the NEWS file to indicate this problem has been fixed.
--
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. ( http://www.leitch.com )
Columnist, C/C++ Users Journal ( http://www.cuj.com/experts )