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 Conflicts example.
- 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
Quick reference to CVS commands. For information on its Sticky tag
and Sticky date
output, see Sticky tags.
For information on its Sticky options
output,
see the `-k' option in 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
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 Quick reference to CVS commands.