您的位置:首页 > 其它

CVS命令深入研究 zz

2011-11-24 10:56 148 查看
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 message
The 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 message
The 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 permanently
D:\Projects\TopUBP\lib\hibernate3>cvs commit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: