- publishing free software manuals
Version Management with CVS - the CVS manual
by Per Cederqvist et al.
Paperback (6"x9"), 216 pages, 8 figures
ISBN 0954161718
RRP £19.95 ($29.95)

Get a printed copy>>>

10.1 File status

Based on what operations you have performed on a checked out file, and what operations others have performed to that file in the repository, one can classify a file in a number of states. The states, as reported by the status command, are:

Up-to-date
The file is identical with the latest revision in the repository for the branch in use.
Locally Modified
You have edited the file, and not yet committed your changes.
Locally Added
You have added the file with add, and not yet committed your changes.
Locally Removed
You have removed the file with remove, and not yet committed your changes.
Needs Checkout
Someone else has committed a newer revision to the repository. The name is slightly misleading; you will ordinarily use update rather than checkout to get that newer revision.
Needs Patch
Like Needs Checkout, but the CVS server will send a patch rather than the entire file. Sending a patch or sending an entire file accomplishes the same thing.
Needs Merge
Someone else has committed a newer revision to the repository, and you have also made modifications to the file.
Unresolved Conflict
A file with the same name as this new file has been added to the repository from a second workspace. This file will need to be moved out of the way to allow an update to complete.
File had conflicts on merge
This is like Locally Modified, except that a previous update command gave a conflict. If you have not already done so, you need to resolve the conflict as described in the next example in this chapter.
Unknown
CVS doesn't know anything about this file. For example, you have created a new file and have not run add.

To help clarify the file status, status also reports the Working revision which is the revision that the file in the working directory derives from, and the Repository revision which is the latest revision in the repository for the branch in use.

The options to status are listed in section G Quick reference to CVS commands. For information on its Sticky tag and Sticky date output, see section 4.9 Sticky tags. For information on its Sticky options output, see the ‘-k’ option in section A.17.1 update options.

You can think of the status and update commands as somewhat complementary. You use update to bring your files up to date, and you can use status to give you some idea of what an update would do (of course, the state of the repository might change before you actually run update). In fact, if you want a command to display file status in a more brief format than is displayed by the status command, you can invoke

$ cvs -n -q update

The ‘-n’ option means to not actually do the update, but merely to display statuses; the ‘-q’ option avoids printing the name of each directory. For more information on the update command, and these options, see section G Quick reference to CVS commands.

ISBN 0954161718Version Management with CVS - the CVS manualSee the print edition