DragonFly On-Line Manual Pages
CVS(5) DragonFly File Formats Manual CVS(5)
NAME
cvs - OpenCVS files format
DESCRIPTION
This manual page documents the various support files for cvs(1) and the
format of those files.
The location of a module's files are known as its CVSROOT. The files
within CVSROOT are as follows:
$CVSROOT/CVSROOT
Directory containing repository administrative files.
$CVSROOT/CVSROOT/config
File containing various configuration options. The format of
each line is as follows:
keyword=value
Extraneous spaces or tabs are not permitted. A line beginning
with a hash character (`#') is considered a comment and ignored.
The following options are available:
dlimit='value' Set the process data size limit.
tag='value' Set the name of a local tag to use in
addition to Id.
umask='value' Set the default umask to use when
creating files and directories.
$CVSROOT/CVSROOT/history
File containing reports of checkout, commit, export, release,
rtag, and update commands that have been issued. By default, the
init command creates the history file. To disable history
logging, the history file should be removed manually. The
history command shows these reports according to several
criteria.
$CVSROOT/CVSROOT/loginfo
File containing associations between modules and handlers for
post-commit logging.
$CVSROOT/CVSROOT/modules
The format of each line is as follows:
module [option] directory [file ...] [&module ...]
Empty lines are ignored. A line beginning with a hash character
(`#') is considered a comment and ignored. A long line can be
continued on the next line by specifying a backslash (`\')
character as last character.
The following options are available:
-d name
Allow check out of module under different name.
-i prog
Specify program prog to run whenever the commit
command is issued.
-o prog
Specify program prog to run whenever the checkout
command is issued.
-s status
Set status to module.
-t prog
Specify program prog to run whenever the rtag command
is issued.
-u prog
Specify program prog to run whenever the update
command is issued.
Each directory that is managed by cvs contains a CVS directory. This
directory is used by various cvs commands to record the status of files
in the current working directory. These files should not be modified
manually by the user but by the cvs commands instead. Files that are
always stored in every CVS directory are as follows:
CVS/Entries
File containing a list of files managed by cvs. Entries has one
line per file or directory describing the state of it with regard
to the source repository. These lines have the following format:
/name/revision/timestamp/options/tag
name Name of the file in the directory.
revision
Revision of the file in the working directory. The
revision is equal to `0' if the file has been added with
the add command or preceded by the `-' character if the
file has been removed with the remove command.
timestamp
Contains the timestamp of the file at the time cvs
created it. If the timestamp is different from the
actual modification time of the file, it means that the
file has been modified.
options
Contains the keyword substitution mode used for this
file.
tag Contains `T' followed by a tagname or `D' followed by a
date.
Entries corresponding to directories have the following format:
D/name////
The lines in the Entries file can be in any order.
CVS/Repository
File containing the path to the corresponding directory in the
source repository.
CVS/Root
File containing the value of the CVSROOT variable at the time of
checkout. This file is used by all cvs commands instead of
CVSROOT once cvs has checked for its existence.
Depending on the circumstances, other files may exist in the CVS
directory:
CVS/Base
If pseudo-lock mode is enabled in client-server mode, the Base
directory contains a copy of the file on which the edit command
has been issued. This allows the unedit command to operate even
if the CVS server is unreachable.
CVS/Baserev
File listing the revisions for each file contained in the Base
directory under the following format:
name/revision/
CVS/Baserev.tmp
Temporary file used to write CVS/Baserev content then atomically
renamed to Baserev.
CVS/Checkin.prog
File containing the path to the command specified with the -i
option in the CVSROOT/modules file.
CVS/Entries.Backup
Temporary file used to write CVS/Entries content then atomically
renamed to Entries.
CVS/Entries.Static
Tells cvs to not add files to the directory unless the update
command is issued with the -d option.
CVS/Notify
File containing the notifications that could not be sent to the
CVS server but will be sent at the next successful connection.
CVS/Notify.tmp
Temporary file used to write CVS/Notify content then atomically
renamed to Notify.
CVS/Tag
File containing the symbolic revision that was used at checkout.
The first character of the line is a single letter indicating the
type of tag: `D', `N', or `T', for date, non-branch tag, or
branch tag, respectively. The rest of the line is the tag or
date itself. The Tag file should not be removed manually:
instead, use "update -A".
CVS/Template
File containing the template specified by the CVSROOT/rcsinfo
file. It is only used in client-server mode. Locally, cvs uses
the rcsinfo file directly.
CVS/Update.prog
File containing the path to the command specified with the -u
option in the CVSROOT/modules file.
CVS/<name>,t
File containing the description of the file file that has been
added with the add command. This description is used by cvs when
archiving this file with the commit command.
$HOME/.cvsignore
This file provides a list of files (or sh(1) file name patterns)
that should be ignored by cvs(1) during the import, release, and
update commands.
The syntax of the cvs file consists of a series of lines, each of
which contains a space-separated list of filenames. There is
currently no way of using comments in this file.
Default patterns that are ignored by cvs(1) are as follows:
CVS, RCS, RCSLOG, SCCS, TAGS, tags, core, cvslog*, *.o, *.so,
*.a, *.bak, *.orig, *.rej, *.old, *.exe, *.depend, *.obj, *.elc,
*.ln, *.olb, *.core, .#*, *~, _$*, *$, #*, ,*.
The list can be modified using the methods described below:
1. The $CVSROOT/CVSROOT/cvsignore file appends patterns to
ignore for the whole repository.
2. The $HOME/.cvsignore file appends patterns to ignore for
user only.
3. The content of the CVSIGNORE variable is appended to the
list.
4. Options to the command line -I flag, available for the
import and update commands, appends patterns for the current
command line action only.
5. .cvsignore files placed in the repository directories allow
to add patterns to ignore locally. They do not take effect
on sub-directories.
The `!' character can be used to reset the list of patterns using
any of these five methods.
For the update command, cvs(1) handles files that are already
present in the repository even if they are in the list to ignore.
Files that are in the list to ignore but not in the repository
will not be listed. This way, files preceded by the `?'
character will not appear even if they should.
$HOME/.cvsrc
This file provides a way to give the cvs(1) program implicit
global options and command-specific options. Unless the -f
option is specified, cvs(1) reads its startup configuration file
.cvsrc from the home directory of the user who invoked it.
The format of each line is as follows:
command [arg ...]
where command is either the `cvs' keyword to specify global
options, one of the supported cvs(1) commands or a command alias.
Arguments following command will be added implicitly to the
appropriate command's argument vector if it is run. Lines whose
command argument is not a valid command will generate a warning
when running with the -V flag.
Empty lines are ignored. A line beginning with a hash character
(`#') is considered a comment and ignored.
For example, to specify that cvs(1) should always run in quiet
mode and the diff internal command should always produce unified
output:
cvs -q
diff -u
$HOME/.cvswrappers
This file, located in $CVSROOT/CVSROOT and/or $HOME/.cvswrappers,
provides a way to configure filters for cvs(1) based on file type
(name). This works by specifying a pattern to match for varying
file types.
The format of each line is as follows:
pattern [option 'value'] [option 'value'] ...
The following options are supported:
-f filter
Execute filter when the file is extracted from the
repository (for the checkout, export, and update
commands).
-k mode
Specify the keyword substitution mode. See the KEYWORD
SUBSTITUTION section of rcs(1) for more information.
-m method
Specify the merge methodology to be used when a file is
updated.
The methods are as follows:
COPY When the update command is used, cvs(1) will
merely copy one version over another and let the
user do the merge by himself. This method is
used by default on binary files (see the -k b
option).
MERGE Try to merge the files. This method is the
default.
-t filter
Execute filter before the file is archived in the
repository (for the commit, and import commands).
$TMPDIR/cvs-serv<pid>
Temporary directory created by the server where pid is the
process ID of the server. It is located in the directory
specified by the TMPDIR environment variable or the -T global
option. See above for more information.
SEE ALSO
cvs(1), cvsintro(7)
DragonFly 6.5-DEVELOPMENT June 29, 2013 DragonFly 6.5-DEVELOPMENT