Copyright (C) 2000-2012 |
GNU Info (cvsbook.info)Working Copy FilesWorking Copy Files ================== The CVS/ administrative subdirectories in each working copy contain some subset of the following files. * CVS/Base/ * CVS/Baserev * CVS/Baserev.tmp * CVS/Checkin.prog * CVS/Entries * CVS/Entries.Backup * CVS/Entries.Log * CVS/Entries.Static * CVS/Notify * CVS/Notify.tmp * CVS/Repository * CVS/Root * CVS/Tag * CVS/Template * CVS/Update.prog 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 Note: Repository Administrative Files 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 Note: Repository Administrative Files 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 Note: Repository Administrative Files section in this chapter.) automatically generated by info2www version 1.2.2.9 |