Subversion attempts to erase a lot of the confusion between the cvs status and cvs update commands.
The cvs status command has two purposes:
first, to show the user any local modifications in the working
copy, and second, to show the user which files are out of date.
Unfortunately, because of CVS's hard-to-read status output, many
CVS users don't take advantage of this command at all. Instead,
they've developed a habit of running cvs
update or cvs -n update to quickly
see their changes. If users forget to use
-n option, this has the side effect of
merging repository changes they may not be ready to deal
Subversion removes this muddle by making the output of svn status easy to read for both humans and parsers. Also, svn update prints only information about files that are updated, not local modifications.
Run nonrecursively (do not descend into subdirectories).
$ svn status M foo.c M bar/baz.c
$ svn status -u M 1047 foo.c * 1045 faces.html * bloo.png M 1050 bar/baz.c Status against revision: 1066
In this case, two new columns appear. The second column
contains an asterisk if the file or directory is out of date.
The third column shows the working copy's revision number of the
item. In the previous example, the asterisk indicates that
faces.html would be patched if we updated,
bloo.png is a newly added file in
the repository. (The absence of any revision number next to
bloo.png means that it doesn't yet exist in
the working copy.)
A Resource is scheduled for Addition D Resource is scheduled for Deletion M Resource has local Modifications C Resource has Conflicts (changes have not been completely merged between the repository and working copy version) X Resource is eXternal to this working copy (may come from another repository). See “外部定义”一节 ? Resource is not under version control ! Resource is missing or incomplete (removed by another tool than Subversion)
svn update updates your working copy, and prints only information about files that it updates.
Subversion has combined CVS's
U codes into just
a merge or conflict occurs, Subversion simply prints
C, rather than a
whole sentence about it.