info-cvs
[Top][All Lists]
Advanced

[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 )





reply via email to

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