home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam    

  Previous section   Next section

11.1 Administrative Files

Each sandbox directory has administrative files in its CVS subdirectory, but it may also have hidden files in the directory itself, with filenames that start with a dot (.). The user's home directory can contain CVS administrative files that affect all of that user's sandboxes; these filenames are also prefixed with a dot.

11.1.1 Dot Files

In client/server mode, all the dot files other than .rhosts should be on the client computer. The .rhosts file should be in the user's home directory on the server computer.

These are the dot files in the sandbox directory:

.cvsignore

Contains a list of files CVS should not process. This file uses the same format as cvsignore in the repository's CVSROOT directory and may be checked into CVS.

.#filename.revision

If a project file that is not fully synchronized with the repository is overwritten by CVS, the original file is stored as .#filename.revision, where revision is the BASE revision of the file.

These are the dot files in a user's home directories:

.cvsrc

Contains a list of CVS commands and the options the user wants as default options for those commands.

.cvsignore

Contains a list of files CVS should not process. This file uses the same format as cvsignore in the repository's CVSROOT directory.

.cvswrappers

Contains a list of wrappers that affect how a file is stored. The wrappers include a pattern that CVS matches against filenames and a keyword-expansion mode that CVS applies to any file whose name matches the pattern.

.cvspass

Used in pserver remote-access mode. This file contains the user's password for each repository they are logged into, stored in a simple form of encoding. Be aware that the file is human-readable and the passwords are easy to decrypt.

.rhosts

Used when connecting with RSH. This file should be in the user's home directory on the server machine, and it should contain the client's computer and username.

11.1.2 CVS Subdirectory Files

CVS creates a subdirectory named CVS in every directory of a sandbox. It stores the following sandbox administrative files in this subdirectory:

Base

A directory, not a file, that stores the preediting revision of any files that are being edited with cvs edit.

Baserev

Contains the revision information for every file in the Base directory, in the format name/revision/. Later versions of CVS may add to this format.

Baserev.tmp

Changes to the Baserev file are written to Baserev.tmp. CVS then renames Baserev.tmp to Baserev, which overwrites the original Baserev.

Checkin.prog

Used if the current sandbox was checked out as a module and the modules file in the repository's CVSROOT has a -i option for the module the sandbox was checked out as. This file stores the program to be executed when the module is checked in. Checkin.prog is obsolete in CVS 1.11.6 and later.

Entries

Contains a line for each file and directory in the relevant sandbox directory. Lines for files have the format:

/name/revision/timestamp[+conflict]/options/tagdate

Lines for directories have the format:

D/name////

There may be text between or after the empty slashes, but in CVS 1.11.5 this text is ignored. The space is reserved for future expansion.

Entries.Backup

Changes to the Entries file are written to Entries.Backup. CVS then renames Entries.Backup to Entries, which overwrites the original Entries.

Entries.Log

Used to record planned changes to the Entries file. Lines to be added start with A; lines to be removed start with R. After the A or R comes a space, followed by the line to be added or removed.

Programs that read Entries should also check for Entries.Log. If Entries.Log exists, they should read Entries, apply the changes from Entries.Log, and then rewrite Entries and remove Entries.Log.

Entries.Static

If this file exists, CVS did not receive a complete set of files from the repository and the sandbox directory that is the parent to the current CVS directory is static (i.e., CVS will not create new files in this directory). This setting can be cleared by using update -d to download a full set of files and subdirectories for the parent directory to the current CVS directory.

Notify

Contains any cvs watch notifications that have not yet been sent to the server.

Notify.tmp

Changes to the Notify file are written to Notify.tmp. CVS then renames Notify.tmp to Notify, which overwrites the original Notify.

Repository

Usually contains the path from the repository root to the repository directory that the relevant sandbox directory is a reflection of. This file may contain the full path, including the path to the root of the sandbox's repository.

If the current sandbox directory does not have a related repository directory, this file contains the string CVSROOT/Emptydir.

Root

Contains the path to the root of the sandbox's repository.

Tag

Used to store directory-specific sticky tags and dates, so that CVS can add them to new files that you add to the directory. This file is most often used when the directory is part of a branch sandbox.

If the first character in the file is T, the file refers to a branch tag. N is a nonbranch tag, and D is a date.

Template

In client/server mode, this file stores the login template specified in the rcsinfo file in the repository's CVSROOT directory.

Update.prog

Used if the modules file in CVSROOT specifies the -u option for the current sandbox's module. Update.prog stores the program to be executed when this module is updated. This file is obsolete in CVS 1.11.6 and later.


  Previous section   Next section
Top