Node:Working Copy Files, Next:Environment Variables, Previous:Ficheros de Control de Ejecucion, Up:Referencia de CVS
The CVS/ administrative subdirectories in each working copy contain some subset of the following files.
Here is what each file or directory does:
CVS/Base/
(directory)If watches are on, cvs edit
stores the original copy of the
file in this directory. That way, cvs unedit
can work even
if it can't reach the server.
CVS/Baserev
Lists the revision for each file in Base/
. Each line looks like
this:
FILE/REVISION/EXPANSION
EXPANSION is currently ignored to allow for, well, future expansion.
CVS/Baserev.tmp
This is the temp file for the preceding. (See CVS/Notify.tmp
or
CVS/Entries.Backup
later on for further explanation.)
CVS/Checkin.prog
Records the name of the program specified by the -i option in the modules file. (See the Ficheros de Administracion del Repositorio section in this chapter.)
CVS/Entries
Stores the revisions for the files in this directory. Each line is of
the form:
[CODE_LETTER]/FILE/REVISION/DATE/[KEYWORD_MODE]/[STICKY_OPTION]
If CODE_LETTER is present, it must be D
for directory (anything
else is silently ignored by CVS, to allow for future expansion), and the
rest of the items on the line are absent.
This file is always present.
CVS/Entries.Backup
This is just a temp file. If you're writing some program to modify the
Entries
file, have it write the new contents to
Entries.backup
and then atomically rename it to Entries
.
CVS/Entries.Log
This is basically a patch file to be applied to Entries
after
Entries
has been read (this is an efficiency hack, to avoid
having to rewrite all of Entries
for every little change). The
format is the same as Entries
, except that there is an additional
mandatory code letter at the front of every line: An A
means this
line is to be added to what's in Entries
; R
means it's to
be removed from what's in Entries
. Any other letters should be
silently ignored, to allow for future expansion.
CVS/Entries.Static
If this file exists, it means only part of the directory was fetched
from the repository, and CVS will not create additional files in that
directory. This condition can usually be cleared by using
update -d
.
CVS/Notify
Stores notifications that have not yet been sent to the server.
CVS/Notify.tmp
Temp file for Notify
. The usual procedure for modifying
Notify
is to write out Notify.tmp
and then rename it to
Notify
.
CVS/Repository
The path to the project-specific subdirectory in the repository. This may be an absolute path, or it may be relative to the path given in Root.
This file is always present.
CVS/Root
This is the repository; that is, the value of the $CVSROOT
environment variable or the argument to the -d global option.
This file is always present.
CVS/Tag
If there is a sticky tag or date on this directory, it is recorded in
the first line of the file. The first character is a single letter
indicating the type of tag: T
, N
, or D
, for branch
tag, nonbranch tag, or date respectively. The rest of the line is the
tag or date itself.
CVS/Template
Contains a log message template as specified by the rcsinfo file. (See Ficheros de Administracion del Repositorio earlier in this chapter.) It is relevant only for remote working copies; working copies on the same machine as the repository just read rcsinfo directly.
CVS/Update.prog
Records the name of the program specified by the -u option in the modules file. (See the Ficheros de Administracion del Repositorio section in this chapter.)