|
|
| |
CVS(5) |
FreeBSD File Formats Manual |
CVS(5) |
cvs —
OpenCVS files format
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:
- The $CVSROOT/CVSROOT/cvsignore file appends
patterns to ignore for the whole repository.
- The $HOME/.cvsignore file appends patterns to
ignore for user only.
- The content of the
CVSIGNORE variable is
appended to the list.
- Options to the command line
-I flag, available
for the import and
update commands, appends patterns for the
current command line action only.
- .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:
- $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.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |