您的位置:首页 > 其它

CVS命令深入研究

2006-11-02 08:55 337 查看
CVS命令深入研究 作者:leizhimin
日期:2006-11-2 环境:
Windows server 2003 sp1简体中文版
cvsnt-2.5.03.2260.msi目录:
一、CVS命令整体结构
二、CVS帮助察看方法概述
三、CVS选项
四、CVS命令
五、CVS命令缩写
六、CVS命令详解
七、CVS实践======================================================
一、CVS命令整体结构cvs [ cvs_options ] cvs_command [ command_options ] [ command_args ] cvs
cvs程序的名字. cvs_options
一些会影响所有的cvs子命令的选项。这将在下面描述. cvs_command
一个或多个不同的子命令。一些命令可以使用别名;命令的别名在相应命令的参考手册中有说明。只有两种情况可以忽略cvs_command: cvs -H 显示可选的命令列表,cvs -v 显示cvs自己的版本信息。 command_options
说明该命令的选项 command_args
这些命令的参数。 不幸的是在cvs_options和command_options之间存在一些混淆。 -l,当作为一个cvs_option时,只会影响一些命令。当作为command_option时有不同的含义,并会影响更多的命令。换句话说,不要把以上的分类看的很严格。而应该参考相应命令的文档。
======================================================
二、CVS帮助察看方法概述
D:\>cvs
Usage: cvs [cvs-options] command [command-options-and-arguments]
where cvs-options are -q, -n, etc.
(specify --help-options for a list of options)
where command is add, admin, etc.
(specify --help-commands for a list of commands
or --help-synonyms for a list of command synonyms)
where command-options-and-arguments depend on the specific command
(specify -H followed by a command name for command-specific help)
Specify --help to receive this messageThe Concurrent Versions System (CVS) is a tool for version control.
For CVS updates and additional information, see
the CVSNT home page at http://www.cvsnt.org/翻译:
C:\>cvs
用法: cvs [cvs-options(cvs选项)] command(命令) [command-options-and-arguments(选项和主题)]
cvs选项有-q, -n, 等等.
(说明 --help-options 查看cvs选项列表)
cvs的命令有 add, admin, 等等.
(说明 --help-commands 查看所有命令
或者 --help-synonyms 查看所有命令的缩写)
选项和主题依赖于特定的cvs命令
(说明 -H 放在命令名后,查看特定命令的帮助)
Specify --help to receive this messageThe Concurrent Versions System (CVS) is a tool for version control.
For CVS updates and additional information, see
the CVSNT home page at http://www.cvsnt.org/======================================================三、CVS选项D:\>cvs --help-options
CVS global options (specified before the command name) are:
-H Displays usage information for command.
-Q Cause CVS to be really quiet.
-q Cause CVS to be somewhat quiet.
-r Make checked-out files read-only.
-w Make checked-out files read-write (default).
-t Show trace of program execution (repeat for more verbosity) -- try with -n.
-v CVS version and copyright.
-T tmpdir Use 'tmpdir' for temporary files.
-e editor Use 'editor' for editing log information.
-d CVS_root Overrides $CVSROOT as the root of the CVS tree.
-f Do not use the ~/.cvsrc file.
-F file Read command arguments from file.
-z # Use compression level '#' for net traffic.
-c Checksum files as they are sent to the server.
-x Encrypt all net traffic (fail if not encrypted). Implies -a.
-y Encrypt all net traffic (if supported by protocol). Implies -a.
-a Authenticate/sign all net traffic.
-N Supress network share error. (UNSUPPORTED OPTION)
-s VAR=VAL Set CVS user variable.
-L Override cvs library directory
-C Override cvs configuration directory
-o[locale] Translate between server and client locale.
Specifying a locale here overrides the default (autodetected on CVSNT 2.0.58+).
-O Disable client/server locale translation. --version CVS version and copyright.
--encrypt Encrypt all net traffic (if supported by protocol).
--authenticate Authenticate all net traffic (if supported by protocol).
--readonly Server is read only for all users.(Specify the --help option for a list of other help options)
======================================================
四、CVS命令D:\>cvs --help-commands
CVS commands are:
add Add a new file/directory to the repository
admin Administration front end for rcs
annotate Show last revision where each line was modified
chacl Change the Access Control List for a directory
checkout Checkout sources for editing
chown Change the owner of a directory
commit Check files into the repository
diff Show differences between revisions
edit Get ready to edit a watched file
editors See who is editing a watched file
export Export sources from CVS, similar to checkout
history Show repository access history
import Import sources into CVS, using vendor branches
init Create a CVS repository if it doesn't exist
info Display information about supported protocols
log Print out history information for files
login Prompt for password for authenticating server
logout Removes entry in .cvspass for remote repository
ls List files in the repository
lsacl List the directories Access Control List
passwd Set the user's password (Admin: Administer users)
authserver Authentication server mode
rannotate Show last revision where each line of module was modified
rdiff Create 'patch' format diffs between releases
release Indicate that a Module is no longer in use
remove Remove an entry from the repository
rename Rename a file or directory
rchacl Change the Access Control List for a directory
rchown Change the owner of a directory
rlsacl List the directories Access Control List
rlog Print out history information for a module
rtag Add a symbolic tag to a module
server Server mode
status Display status information on checked out files
tag Add a symbolic tag to checked out version of files
unedit Undo an edit command
update Bring work tree in sync with repository
version Show current CVS version(s)
watch Set watches
watchers See who is watching a file
xdiff Show differences between revisions using an external diff program
(Specify the --help option for a list of other help options)
======================================================
五、CVS命令缩写D:\>cvs --help-synonyms
CVS command synonyms are:
add ad new
admin adm rcs
annotate ann
authserver pserver
chacl setacl setperm
checkout co get
chown setowner
commit ci com
diff di dif
export exp ex
history hi his
import im imp
info inf
log lo
login logon lgn
ls dir list
lsacl lsattr listperm
rlsacl rlsattr rlistperm
passwd password setpass
rannotate rann ra
rchacl rsetacl rsetperm
rchown rsetowner
rdiff patch pa
release re rel
remove rm delete
rename ren mv
rlog rl
rtag rt rfreeze
status st stat
tag ta freeze
update up upd
version ve ver
xdiff xd
(Specify the --help option for a list of other help options)======================================================
六、CVS命令详解------------------D:\>cvs -H add
Usage: cvs add [-k rcs-kflag] [-m message] files...
-b <bugid> Set the bug identifier (repeat for multiple bugs).
-k Use "rcs-kflag" to add the file with the specified kflag.
-m Use "message" for the creation log.
-r <branch> Add onto a different branch.
-f Force replacement of deleted files.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H admin
Usage: cvs admin [options] files...
-l[rev] Lock revision (latest revision on branch,
latest revision on trunk if omitted). (DEPRECIATED)
-m rev:msg Replace revision's log message.
-o range Physically delete (outdate) specified range of revisions:
rev1:rev2 Between rev1 and rev2, including rev1 and rev2.
rev1::rev2 Between rev1 and rev2, excluding rev1 and rev2.
rev: rev and following revisions on the same branch.
rev:: After rev on the same branch.
:rev rev and previous revisions on the same branch.
::rev Before rev on the same branch.
rev Just rev.
-p [rev:]prop=val Set global or versioned property.
-q Run quietly.
-t[file] Get descriptive text from file (stdin if omitted).
-t-string Set descriptive text.
-u[rev] Unlock the revision (latest revision on branch,
latest revision on trunk if omitted).
(Specify the --help global option for a list of other help options)
THIS COMMAND IS FOR CVS ADMINISTRATORS ONLY. DON'T USE IT UNLESS YOU
KNOW EXACTLY WHAT YOU ARE DOING, AND WHAT THE CONSEQUENCES ARE.------------------D:\>cvs -H annotate
Usage: cvs annotate [-lRf] [-r rev] [-D date] [files...]
-l Local directory only, no recursion.
-R Process directories recursively.
-f Use head revision if tag/date not found.
-r rev Annotate file as of specified revision/tag.
-D date Annotate file as of specified date.
-w width Modify width of username field (default 8).
(Specify the --help global option for a list of other help options)------------------
D:\>cvs -H authserver
Usage: cvs authserver
Normally invoked by a cvs client on a remote machine.------------------
D:\>cvs -H chacl
Usage: cvs chacl [-R] [-r branch] [-u user] [-j branch] [-n] [-p priority] [-m message] [-a [no]{r
d|write|create|tag|control|all|none}[,...]] [-d] [file or directory...]
-a access Set access
-d Delete ACL
-j branch Apply when merging from branch
-m message Custom error message
-n Do not inherit ACL
-p priority Override ACL priority
-r branch Apply to single branch
-R Recursively change subdirectories
-u user Apply to single user
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H checkout
Usage:
cvs checkout [-ANPRcflnps] [-r rev] [-D date] [-d dir]
[-j rev1] [-j rev2] [-k kopt] modules...
-A Reset any sticky tags/date/kopts.
-N Don't shorten module paths if -d specified.
-P Prune empty directories.
-R Process directories recursively.
-c "cat" the module database.
-f Force a head revision match if tag/date not found.
-l Local directory only, not recursive
-n Do not run module program (if any).
-p Check out files to standard output (avoids stickiness).
-s Like -c, but include module status.
-r rev Check out revision or tag. (implies -P) (is sticky)
-D date Check out revisions as of date. (implies -P) (is sticky)
-d dir Check out into dir instead of module name.
-k kopt Use RCS kopt -k option on checkout. (is sticky)
-j rev Merge in changes made between current revision and rev.
-b Perform -j merge from branch point.
-m Perform -j merge from last merge point (default).
-3 Produce 3-way conflicts.
-S Select between conflicting case sensitive names.
-t Update using last checkin time.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H chown
Usage: cvs chown [-R] user directory...
-R Change owner recursively------------------D:\>cvs -H commit
Usage: cvs commit [DnRlf] [-B bug | -b bug ] [-m msg | -F logfile] files...
-b bugid Only commit files related to bug.
-B bugid Mark files with bug.
-c Check for valid edits before committing.
-D Assume all files are modified.
-F logfile Read the log message from file.
-e Keep edited files.
-f Force the file to be committed; disables recursion.
-n Do not run the module program (if any).
-l Local directory only (not recursive).
-m message Log message.
-R Process directories recursively.
-T Move empty branches (where possible).
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H diff
Usage: cvs diff [-lNR] [rcsdiff-options]
[[-r rev1 | -D date1] [-r rev2 | -D date2]] [files...]
-l Local directory only, not recursive
-R Process directories recursively.
-D d1 Diff revision for date against working file.
-D d2 Diff rev1/date1 against date2.
-N include diffs for added and removed files.
-r rev1 Diff revision for rev1 against working file.
-r rev2 Diff rev1/date1 against rev2.
--ifdef=arg Output diffs in ifdef format.
(consult the documentation for your diff program for rcsdiff-options.
The most popular is -c for context diffs but there are many more).
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H export
Usage: cvs export [-NRfln] [-r rev] [-D date] [-d dir] [-k kopt] module...
-N Don't shorten module paths if -d specified.
-f Force a head revision match if tag/date not found.
-l Local directory only, not recursive
-R Process directories recursively (default).
-n Do not run module program (if any).
-r rev Export revision or tag.
-D date Export revisions as of date.
-d dir Export into dir instead of module name.
-k kopt Use RCS kopt -k option on checkout.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H history
Usage: cvs history [-report] [-flags] [-options args] [files...] Reports:
-T Produce report on all TAGs
-c Committed (Modified) files
-o Checked out modules
-m <module> Look for specified module (repeatable)
-x [TOEFWUCGMAReu] Extract by record type
-e Everything (same as -x, but all record types)
Flags:
-a All users (Default is self)
-l Last modified (committed or modified report)
-w Working directory must match
Options:
-D <date> Since date (Many formats)
-b <str> Back to record with str in module/file/repos field
-f <file> Specified file (same as command line) (repeatable)
-n <modulename> In module (repeatable)
-p <repos> In repository (repeatable)
-r <rev/tag> Since rev or tag (looks inside RCS files!)
-t <tag> Since tag record placed in history file (by anyone).
-u <user> For user name (repeatable)
-z <tz> Output for time zone <tz> (e.g. -z -0700)
-B <bugid> Containing bug <bugid>------------------D:\>cvs -H import
Usage: cvs import [-C] [-d] [-f] [-h] [-k subst] [-I ign] [-m msg] [-b branch]
[-W spec] [-n] [-F] repository [vendor-tag] [release-tags...]
-C Create CVS directories while importing.
-d Use the file's modification time as the time of import.
-f Overwrite existing release tags.
-k sub Set RCS keyword substitution mode.
-I ign More files to ignore (! to reset, @ to skip .cvsignore).
-b bra Vendor branch id.
-m msg Log message.
-h Include hidden files.
-W spec Wrappers specification line (! to reset).
-n Don't create vendor branch or release tags.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H info
Usage: cvs info [-c|-s|-b|-r server] [cvswrappers|cvsignore|config|<protocol>]
-c Describe client (default)
-s Describe server
-b Browse local servers
-r server Examine public information from remote server
-v More verbose output
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H log
Usage: cvs log [-lRhtNbT] [-r[revisions]] [-B bugid] [-d dates] [-s states]
[-w[logins]] [files...]
-B bugid Only list revisions related to bug.
-b Only list revisions on the default branch.
-d dates Specify dates (D1<D2 for range, D for latest before).
-h Only print header.
-l Local directory only, no recursion.
-R Only print name of RCS file.
-r[revisions] Specify revision(s)s to list.
rev1:rev2 Between rev1 and rev2, including rev1 and rev2.
rev1::rev2 Between rev1 and rev2, excluding rev1 and rev2.
rev1:::rev2 Between rev1 and rev2, excluding rev1.
rev: rev and following revisions on the same branch.
rev:: After rev on the same branch.
:rev rev and previous revisions on the same branch.
::rev Before rev on the same branch.
rev Just rev.
branch All revisions on the branch.
branch. The last revision on the branch.
-S Supress information when no revisions are selected.
-T Use local time not GMT.
-t Only print header and descriptive text.
-N Do not list tags.
-w[logins] Only list revisions checked in by specified logins.
-X cvs 1.x/RCS 5.7 compatible output.
-x cvsnt 2.x compatible output (default).
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H login
Usage: cvs login [-p password]
-p password Specify password to use (default is to prompt)
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H ls
Usage: cvs ls [-q] [-e] [-l] [-R] [-r rev] [-D date] [-t] [modules...]
-D date Show files from date.
-e Display in CVS/Entries format.
-l Display all details.
-P Ignore empty directories.
-q Quieter output.
-R List recursively.
-r rev Show files with revision or tag.
-T Show time in local time instead of GMT.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H lsacl
Usage: cvs lsacl [-d] [-R] [file or directory...]
-d Show directories only
-R Recurse unto subdirectories------------------D:\>cvs -H rlsacl
Usage: cvs rlsacl [-d] [-R] [module...]
-d Show directories only
-R Recurse unto subdirectories------------------D:\>cvs -H passwd
Usage: cvs passwd [-a] [-x] [-X] [-r real_user] [-R] [-D domain] [username]
-a Add user
-x Disable user
-X Delete user
-r Alias username to real system user
-R Remove alias to real system user
-D Use domain password------------------D:\>cvs -H rannotate
Usage: cvs rannotate [-lRf] [-r rev] [-D date] [files...]
-l Local directory only, no recursion.
-R Process directories recursively.
-f Use head revision if tag/date not found.
-r rev Annotate file as of specified revision/tag.
-D date Annotate file as of specified date.
-w width Modify width of username field (default 8).
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H rchacl
Usage: cvs rchacl [-R] [-r branch] [-u user] [-j branch] [-n] [-p priority] [-m message] [-a [no]{
ad|write|create|tag|control|all|none}[,...]] [-d] [module...]
-a access Set access
-d Delete ACL
-j branch Apply when merging from branch
-m message Custom error message
-n Do not inherit ACL
-p priority Override ACL priority
-r branch Apply to single branch
-R Recursively change subdirectories
-u user Apply to single user
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H rchown
Usage: cvs rchown [-R] user module...
-R Change owner recursively------------------D:\>cvs -H rdiff
Usage: cvs rdiff [-flR] [-c|-u] [-s|-t] [-V %d]
-r rev|-D date [-r rev2 | -D date2] modules...
-f Force a head revision match if tag/date not found.
-l Local directory only, not recursive
-R Process directories recursively.
-c Context diffs (default)
-u Unidiff format.
-s Short patch - one liner per file.
-t Top two diffs - last change made to the file.
-D date Date.
-r rev Revision - symbolic or numeric.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H release
Usage: cvs release [-d [-f]] [-e] [-y] directories...
-d Delete the given directory.
-f Delete contents of directories including non-cvs files.
-e Delete CVS control files in the given directory (export).
-y Assume answer yes to all questions.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H remove
Usage: cvs remove [-flR] [files...]
-f Delete the file before removing it.
-l Process this directory only (not recursive).
-R Process directories recursively.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H rename
Usage: cvs rename [-q] <source> <target>
-q Quieter output.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H rlog
Usage: cvs rlog [-lRhtNbT] [-r[revisions]] [-B bugid] [-d dates] [-s states]
[-w[logins]] [files...]
-B bugid Only list revisions related to bug.
-b Only list revisions on the default branch.
-d dates Specify dates (D1<D2 for range, D for latest before).
-h Only print header.
-l Local directory only, no recursion.
-R Only print name of RCS file.
-r[revisions] Specify revision(s)s to list.
rev1:rev2 Between rev1 and rev2, including rev1 and rev2.
rev1::rev2 Between rev1 and rev2, excluding rev1 and rev2.
rev1:::rev2 Between rev1 and rev2, excluding rev1.
rev: rev and following revisions on the same branch.
rev:: After rev on the same branch.
:rev rev and previous revisions on the same branch.
::rev Before rev on the same branch.
rev Just rev.
branch All revisions on the branch.
branch. The last revision on the branch.
-S Supress information when no revisions are selected.
-T Use local time not GMT.
-t Only print header and descriptive text.
-N Do not list tags.
-w[logins] Only list revisions checked in by specified logins.
-X cvs 1.x/RCS 5.7 compatible output.
-x cvsnt 2.x compatible output (default).
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H rtag
Usage: cvs rtag [-abdFflnR] [-r rev|-D date] tag modules...
-A Make alias of existing branch (requires -r).
-b Make the tag a "branch" tag, allowing concurrent development.
-d Delete the given tag.
-F Move tag if it already exists.
-B Allow move/delete of branch tag (not recommended).
-f Force a head revision match if tag/date not found.
-l Local directory only, not recursive.
-n No execution of 'tag program'.
-m message Specify message for logs.
-M Create floating branch.
-R Process directories recursively.
-r rev Existing revision/tag.
-D Existing date.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H status
Usage: cvs status [-vlR] [files...]
-v Verbose format; includes tag information for the file
-l Process this directory only (not recursive).
-R Process directories recursively.
-q Display a quick summary of each file (send more increased terseness).
-x cvsnt 2.x compatible output (default).
-X cvs 1.x compatible output.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H tag
Usage: cvs tag [-bcdFflR] [-r rev|-D date] tag [files...]
-A Make alias of existing branch (requires -r).
-b Make the tag a "branch" tag, allowing concurrent development.
-c Check that working files are unmodified.
-d Delete the given tag.
-F Move tag if it already exists.
-B Allow move/delete of branch tag (not recommended).
-f Force a head revision match if tag/date not found.
-l Local directory only, not recursive.
-m message Specify message for logs.
-M Create floating branch.
-R Process directories recursively.
-r rev Existing revision/tag.
-D Existing date.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H update
Usage: cvs update [-ACPdflRpbmt] [-k kopt] [-r rev] [-D date] [-j rev]
[-B bugid] [-I ign] [-W spec] [files...]
-3 Produce 3-way conflicts.
-A Reset any sticky tags/date/kopts.
-B bugid Perform -j Merge bounded by bug.
-b Perform -j merge from branch point.
-C Overwrite locally modified files with clean repository copies.
-c Update base revision copies.
-D date Set date to update from (is sticky).
-d Build directories, like checkout does.
-e[bugid] Automatically edit modified/merged files.
-f Force a head revision match if tag/date not found.
-I ign More files to ignore (! to reset).
-j rev Merge in changes made between current revision and rev.
-k kopt Use RCS kopt -k option on checkout. (is sticky)
-l Local directory only, no recursion.
-m Perform -j merge from last merge point (default).
-P Prune empty directories.
-p Send updates to standard output (avoids stickiness).
-R Process directories recursively.
-r rev Update using specified revision/tag (is sticky).
-S Select between conflicting case sensitive names.
-t Update using last checkin time.
-W spec Wrappers specification line (! to reset).
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H version
Usage: cvs version
-q Just display version number.
(Specify the --help global option for a list of other help options)------------------D:\>cvs -H xdiff
Usage: cvs xdiff [-lNR] [-o xdiff-options]
[[-r rev1 | -D date1] [-r rev2 | -D date2]] [files...]
-D d1 Diff revision for date against working file.
-D d2 Diff rev1/date1 against date2.
-N include diffs for added and removed files.
-R Process directories recursively.
-l Local directory only, not recursive
-o Pass extra options to xdiff
-r rev1 Diff revision for rev1 against working file.
-r rev2 Diff rev1/date1 against rev2.
(consult the documentation for your xdiff extension for xdiff-options.
(Specify the --help global option for a list of other help options)------------------======================================================七、CVS实践
------------------
1.添加二进制jar文件.
D:\Projects\TopUBP\lib\hibernate3>cvs add -kb *.jar
cvs server: scheduling file `hibernate3.jar' for addition
cvs server: scheduling file `ehcache-1.1.jar' for addition
cvs server: scheduling file `cglib-2.1.jar' for addition
cvs server: scheduling file `asm-attrs.jar' for addition
cvs server: scheduling file `asm.jar' for addition
cvs server: scheduling file `antlr-2.7.5H3.jar' for addition
cvs server: scheduling file `commons-lang-2.0.jar' for addition
cvs server: use 'cvs commit' to add these files permanentlyD:\Projects\TopUBP\lib\hibernate3>cvs commit ------------------
------------------
------------------
------------------
------------------
------------------
------------------
------------------
------------------ ======================================================《完》2006-9-7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: