Discussion:
info-cvs Digest, Vol 105, Issue 7
J.V.
2011-08-09 20:03:16 UTC
Permalink
I am using cvs 1.12.13 that came with cygwin.

cvs history -xT returns nothing. any ideas?

Is it possible to just show the tags created for branches?

J.V.
Send info-cvs mailing list submissions to
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.nongnu.org/mailman/listinfo/info-cvs
or, via email, send a message with subject or body 'help' to
You can reach the person managing the list at
When replying, please edit your Subject line so it is more specific
than "Re: Contents of info-cvs digest..."
1. Re: how to show list of tags (KM)
2. cvs: deleting empty directories (KM)
3. Re: cvs: deleting empty directories (KM)
----------------------------------------------------------------------
Message: 1
Date: Mon, 8 Aug 2011 08:40:38 -0700 (PDT)
Subject: Re: how to show list of tags
Content-Type: text/plain; charset=iso-8859-1
?
Sorry about this ...but another newbie question... which I still find confusing.... with the example below, listing all the tags, shouldn't that include branches?
?
i ran the command and don't see any branch for our current/newest version, but the developers are committing to it.
?
Is there a way to list all the branches? Thx and sorry
KM
Sent: Sunday, August 7, 2011 6:45 PM
Subject: RE: how to show list of tags
J.V.& Jim,
I want to print a list of all cvs tags (one entry per line)
in our repo
from the command line using a single tag and then pass that to grep
looking for a pattern.
This is not an uncommon request, but getting the answer you want may be
more difficult than it first appears.
Please always include the version number of your CVS client and CVS
Server, and if possible also the operating system of both the server and
client.? Different features are available on different versions.
In some versions of CVS there is a file maintained in the CVSROOT
directory called 'val_tags'.? The purpose of this is to receive the name
of a tag when it is created - so *in theory* val_tags contains a list of
all the tags in your repository.?
In CVSNT (yes it's GPL/runs on linux) version 2.5 and higher there is a
failsafe audit database (eg: Sqlite, MySQL or Oracle).? The table TagLog
will contain a list of all tags.
Can I assume you meant "using a single command"?
`cvs history -xT` can get you close, but it will only report tags that
were created using `cvs rtag`, not `cvs tag`.
The 'cvs history' command gets its informaiton from the file
CVSROOT/history.? The problem with both this file and CVSROOT/val_tags
is identical: they are not failsafe.? Ie: if the server process is
unable to write to the file, then the entry is discarded.? The write may
fail for valid reasons (eg: history/val_tags is turned 'off'), or it may
fail for invalid reasons (eg: another process is currently writing to
the file).? So under no circumstances can 'cvs history' command be used
to gather a definitive list of anything.? CVSNT had to undergo a major
rewrite to make this 'failsafe' ie: make the command on the client fail
if the history/val_tags/audit can't be written.? The CVSNT project also
found that writing this sort of information to a file (like
history/val_tags) was a bit useless, so it's now written to a database
(of the users choice) instead.
So depending on the version of CVS server you are using (1.10, 1.11,
2.0, 2.5, 2.8) you have a few different choices.
Regards,
Arthur Barrett
Product Manager CVSNT
March Hare Software
------------------------------
Message: 2
Date: Tue, 9 Aug 2011 08:25:06 -0700 (PDT)
Subject: cvs: deleting empty directories
Content-Type: text/plain; charset=utf-8
Hi All
I have a question.? The developer mistakenly added a directory structure that we are not going to use.? I wanted to delete the directory since it never had files in it.? I see the following from the guide.? Should I keep the empty directory lying around, or only if I had files in it that I may want later.
?
And If I can delete it - what is the clearest way to do it?
cvs remove -f<dir name>
... and then check it in?
thx
KM
?
7.3 Removing directories
In concept, removing directories is somewhat similar to removing files?you want the directory to not exist in your current working directories, but you also want to be able to retrieve old releases in which the directory existed.
The way that you remove a directory is to remove all the files in it. You don?t remove the directory itself; there is no way to do that. Instead you specify the ?-P? option to cvs update or cvs checkout, which will cause CVS to remove empty directories from working directories. (Note that cvs export always removes empty directories.) Probably the best way to do this is to always specify ?-P?; if you want an empty directory then put a dummy file (for example ?.keepme?) in it to prevent ?-P? from removing it.
Note that ?-P? is implied by the ?-r? or ?-D? options of checkout. This way, CVS will be able to correctly create the directory or not depending on whether the particular version you are checking out contains any files in that directory.
________________________________
------------------------------
Message: 3
Date: Tue, 9 Aug 2011 08:34:43 -0700 (PDT)
Subject: Re: cvs: deleting empty directories
Content-Type: text/plain; charset=utf-8
I just checked there were actually files in there for like a few minutes, and they were deleted.? We never used the files in the directory.? It is better to just keep it there .... or remove as I asked below....
?
Thx
KM
Sent: Tuesday, August 9, 2011 11:25 AM
Subject: cvs: deleting empty directories
Hi All
I have a question.? The developer mistakenly added a directory structure that we are not going to use.? I wanted to delete the directory since it never had files in it.? I see the following from the guide.? Should I keep the empty directory lying around, or only if I had files in it that I may want later.
And If I can delete it - what is the clearest way to do it?
cvs remove -f<dir name>
... and then check it in?
thx
KM
7.3 Removing directories
In concept, removing directories is somewhat similar to removing files?you want the directory to not exist in your current working directories, but you also want to be able to retrieve old releases in which the directory existed.
The way that you remove a directory is to remove all the files in it. You don?t remove the directory itself; there is no way to do that. Instead you specify the ?-P? option to cvs update or cvs checkout, which will cause CVS to remove empty directories from working directories. (Note that cvs export always removes empty directories.) Probably the best way to do this is to always specify ?-P?; if you want an empty directory then put a dummy file (for example ?.keepme?) in it to prevent ?-P? from removing it.
Note that ?-P? is implied by the ?-r? or ?-D? options of checkout. This way, CVS will be able to correctly create the directory or not depending on whether the particular version you are checking out contains any files in that directory.
------------------------------
_______________________________________________
info-cvs mailing list
https://lists.nongnu.org/mailman/listinfo/info-cvs
End of info-cvs Digest, Vol 105, Issue 7
****************************************
J.V.
2011-08-09 20:07:30 UTC
Permalink
Also nowhere can I find a file CVSROOT/history

also I really do not want to go digging through meta-data files on my
local machine, that just seems wrong.

Is there a way to hit the server to send a list of tags from the command
line? This seems like a simple things but the responses have been
really complicated.

any help or ideas?

J.V.
Send info-cvs mailing list submissions to
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.nongnu.org/mailman/listinfo/info-cvs
or, via email, send a message with subject or body 'help' to
You can reach the person managing the list at
When replying, please edit your Subject line so it is more specific
than "Re: Contents of info-cvs digest..."
1. Re: how to show list of tags (KM)
2. cvs: deleting empty directories (KM)
3. Re: cvs: deleting empty directories (KM)
----------------------------------------------------------------------
Message: 1
Date: Mon, 8 Aug 2011 08:40:38 -0700 (PDT)
Subject: Re: how to show list of tags
Content-Type: text/plain; charset=iso-8859-1
?
Sorry about this ...but another newbie question... which I still find confusing.... with the example below, listing all the tags, shouldn't that include branches?
?
i ran the command and don't see any branch for our current/newest version, but the developers are committing to it.
?
Is there a way to list all the branches? Thx and sorry
KM
Sent: Sunday, August 7, 2011 6:45 PM
Subject: RE: how to show list of tags
J.V.& Jim,
I want to print a list of all cvs tags (one entry per line)
in our repo
from the command line using a single tag and then pass that to grep
looking for a pattern.
This is not an uncommon request, but getting the answer you want may be
more difficult than it first appears.
Please always include the version number of your CVS client and CVS
Server, and if possible also the operating system of both the server and
client.? Different features are available on different versions.
In some versions of CVS there is a file maintained in the CVSROOT
directory called 'val_tags'.? The purpose of this is to receive the name
of a tag when it is created - so *in theory* val_tags contains a list of
all the tags in your repository.?
In CVSNT (yes it's GPL/runs on linux) version 2.5 and higher there is a
failsafe audit database (eg: Sqlite, MySQL or Oracle).? The table TagLog
will contain a list of all tags.
Can I assume you meant "using a single command"?
`cvs history -xT` can get you close, but it will only report tags that
were created using `cvs rtag`, not `cvs tag`.
The 'cvs history' command gets its informaiton from the file
CVSROOT/history.? The problem with both this file and CVSROOT/val_tags
is identical: they are not failsafe.? Ie: if the server process is
unable to write to the file, then the entry is discarded.? The write may
fail for valid reasons (eg: history/val_tags is turned 'off'), or it may
fail for invalid reasons (eg: another process is currently writing to
the file).? So under no circumstances can 'cvs history' command be used
to gather a definitive list of anything.? CVSNT had to undergo a major
rewrite to make this 'failsafe' ie: make the command on the client fail
if the history/val_tags/audit can't be written.? The CVSNT project also
found that writing this sort of information to a file (like
history/val_tags) was a bit useless, so it's now written to a database
(of the users choice) instead.
So depending on the version of CVS server you are using (1.10, 1.11,
2.0, 2.5, 2.8) you have a few different choices.
Regards,
Arthur Barrett
Product Manager CVSNT
March Hare Software
------------------------------
Message: 2
Date: Tue, 9 Aug 2011 08:25:06 -0700 (PDT)
Subject: cvs: deleting empty directories
Content-Type: text/plain; charset=utf-8
Hi All
I have a question.? The developer mistakenly added a directory structure that we are not going to use.? I wanted to delete the directory since it never had files in it.? I see the following from the guide.? Should I keep the empty directory lying around, or only if I had files in it that I may want later.
?
And If I can delete it - what is the clearest way to do it?
cvs remove -f<dir name>
... and then check it in?
thx
KM
?
7.3 Removing directories
In concept, removing directories is somewhat similar to removing files?you want the directory to not exist in your current working directories, but you also want to be able to retrieve old releases in which the directory existed.
The way that you remove a directory is to remove all the files in it. You don?t remove the directory itself; there is no way to do that. Instead you specify the ?-P? option to cvs update or cvs checkout, which will cause CVS to remove empty directories from working directories. (Note that cvs export always removes empty directories.) Probably the best way to do this is to always specify ?-P?; if you want an empty directory then put a dummy file (for example ?.keepme?) in it to prevent ?-P? from removing it.
Note that ?-P? is implied by the ?-r? or ?-D? options of checkout. This way, CVS will be able to correctly create the directory or not depending on whether the particular version you are checking out contains any files in that directory.
________________________________
------------------------------
Message: 3
Date: Tue, 9 Aug 2011 08:34:43 -0700 (PDT)
Subject: Re: cvs: deleting empty directories
Content-Type: text/plain; charset=utf-8
I just checked there were actually files in there for like a few minutes, and they were deleted.? We never used the files in the directory.? It is better to just keep it there .... or remove as I asked below....
?
Thx
KM
Sent: Tuesday, August 9, 2011 11:25 AM
Subject: cvs: deleting empty directories
Hi All
I have a question.? The developer mistakenly added a directory structure that we are not going to use.? I wanted to delete the directory since it never had files in it.? I see the following from the guide.? Should I keep the empty directory lying around, or only if I had files in it that I may want later.
And If I can delete it - what is the clearest way to do it?
cvs remove -f<dir name>
... and then check it in?
thx
KM
7.3 Removing directories
In concept, removing directories is somewhat similar to removing files?you want the directory to not exist in your current working directories, but you also want to be able to retrieve old releases in which the directory existed.
The way that you remove a directory is to remove all the files in it. You don?t remove the directory itself; there is no way to do that. Instead you specify the ?-P? option to cvs update or cvs checkout, which will cause CVS to remove empty directories from working directories. (Note that cvs export always removes empty directories.) Probably the best way to do this is to always specify ?-P?; if you want an empty directory then put a dummy file (for example ?.keepme?) in it to prevent ?-P? from removing it.
Note that ?-P? is implied by the ?-r? or ?-D? options of checkout. This way, CVS will be able to correctly create the directory or not depending on whether the particular version you are checking out contains any files in that directory.
------------------------------
_______________________________________________
info-cvs mailing list
https://lists.nongnu.org/mailman/listinfo/info-cvs
End of info-cvs Digest, Vol 105, Issue 7
****************************************
Jim Hyslop
2011-08-11 03:12:23 UTC
Permalink
Post by J.V.
I am using cvs 1.12.13 that came with cygwin.
cvs history -xT returns nothing. any ideas?
When replying, please edit your Subject line so it is more
specific than "Re: Contents of info-cvs digest..."
Idea #2: When replying to a digest, DO NOT include the entire digest.
Only include the portion of the digest that you are commenting on/asking
about.
Post by J.V.
Is it possible to just show the tags created for branches?
Not really. One common practice is to add a prefix or suffix to branch
tags, e.g. REL_1_2_bt where "_bt" signifies it's a branch tag.
Post by J.V.
Also nowhere can I find a file CVSROOT/history
It will only exist if you have history turned on (see the 'cvs history'
command)
Post by J.V.
also I really do not want to go digging through meta-data files on
my local machine, that just seems wrong.
Well, technically you'd have to dig through all the meta data stored on
the server, but in any case you're right - it's not the best way to do it.
Post by J.V.
Is there a way to hit the server to send a list of tags from the
command line? This seems like a simple things but the responses
have been really complicated.
Unfortunately, no. There is no reliable way to do it. That is one of the
CVS's big weaknesses.

Someone may have written scripts to pull out all the tag information.

- --
Jim Hyslop
Dreampossible: Better software. Simply. http://www.dreampossible.ca
Consulting * Mentoring * Training in
C/C++ * OOD * SW Development & Practices * Version Management

Loading...