CVS命令详解.docx

上传人:b****4 文档编号:24798277 上传时间:2023-06-01 格式:DOCX 页数:22 大小:225.90KB
下载 相关 举报
CVS命令详解.docx_第1页
第1页 / 共22页
CVS命令详解.docx_第2页
第2页 / 共22页
CVS命令详解.docx_第3页
第3页 / 共22页
CVS命令详解.docx_第4页
第4页 / 共22页
CVS命令详解.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

CVS命令详解.docx

《CVS命令详解.docx》由会员分享,可在线阅读,更多相关《CVS命令详解.docx(22页珍藏版)》请在冰豆网上搜索。

CVS命令详解.docx

CVS命令详解

 

CVS命令使用详解

序号

版本号

修订日期

修订概述

修订人

批准人

备注

1.

2006-8-2

起草

江菊

2.

2006-8-9

修订:

添加cvsgraph/cvsdiff等信息

江菊

3.

2006-8-11

修订:

1、tag详细说明

2、添加分支部分

3、细节修订

江菊

4.

5.

6.

7.

8.

9.

10.

11.

1Wincvs基础操作

配置wincvs环境

初始设置

在wincvs主窗口,点击“Admin-Preferences……”,如下图所示:

选择“Preferences”后,出现如下窗口:

在该窗口中,在“EntertheCVSROOT”栏设置用户名以及服务器地址,设置格式如下:

其中是cvs服务器的ip以及安装路径;

设置本地工作目录

在如下窗口设置本地工作路径:

登录及注销

登录

点击“Admin”-“login”,在出现的窗口中输入用户密码,如果输入密码正确,则会出现如下信息:

cvs-qlogin

(Logginginto)

*****CVSexitednormallywithcode0*****

如果密码输入错误,会出现如下信息:

cvs-qlogin

(Logginginto)

cvslogin:

authorizationfailed:

serverrejectedaccessto/data/cvsrootforuserjiangju

*****CVSexitednormallywithcode1*****

注意:

1、在wincvs中,凡是操作成功,都会出现“CVSexitednormallywithcode0”的信息,如果操作失败,会出现“CVSexitednormallywithcode1”的信息;

2、在wincvs中,在login成功后,如果不做logout操作,那么这次登录是永远生效的;故如果在公用机器上login之后,为了保证信息安全,必须执行logout操作;

注销

点击“Admin”-“logout”,直接登出,会返回如下信息:

cvs-qlogout

(Loggingoutof)

*****CVSexitednormallywithcode0*****

基础操作

cvscheckout

第一次操作需从cvs服务器端checkout自己有权限的目录。

点击“Create”-“Checkoutmoduel”,如下图:

在“Enterthemodulenameaddpathontheserver”框内输入要下载目录的全路径,例如要下载App/search/mp3/as,则如上图所示。

之后点击“Globals”,如下图所示:

按照上图将对应的勾加上或去掉;

最后点击“确定”按钮,即可将对应的模块checkout出来;

说明:

可以checkout某一个具体文件,给出文件的全路径及文件名即可;

做此操作时,注意去掉“Prune(remove)empty……”选项,去掉此选项,可以把空目录给checkout出来;

CVS的刷新功能不是很及时,checkout出来的目录不能及时显示出来,如果没有显示出来,可以按F5刷新;

在输入cvspath时,请注意一定要用“/”,不能用“\”;

cvsupdate

update是将服务器端的更新下载到本地。

具体操作为:

1.1.1.1update到主干最新版本

首先选择要更新的目录或文件,点击右键,执行“updateselection”,出现如下对话框:

(图2)

在该对话框中,按照上图所示将对应的勾加上,之后点击“确定”按钮,则会将服务器端的最新版本下载到本地;

其中,“Resetanystickydate/tag/-koptions”表示去掉本地所获取的某个版本;

“Createmissingdirectoriesthat……”表示获取到服务器端对目录的最后操作,即:

如果服务器端删除或/新增了子目录,该操作可以删除/新增子目录;

注意:

在本地修改文件前,请一定先update。

1.1.1.2update到某一个特定版本

首先选择要更新的目录或文件,点击右键,执行“updateselection”,出现图2,在图2中,选择倒数第二个选项,之后选择“Stickyoptions”,出现如下对话框:

按照图示输入update的tag名称或者revision,点击“确定”按钮,即可获取到该版本;

添加、修改、删除文件

1.1.1.3cvsadd

1.1.1.3.1添加目录

首先在本地建立新增的目录,之后鼠标选择该目录,执行add操作,如下图所示:

当目录添加成功后,按F5刷新,该目录上会出现勾,例如:

1.1.1.3.2添加文件

首先把要新增的文件放在对应的目录下,之后鼠标选择该文件,执行add操作,如下图所示:

添加后,被添加的文件会出现红色,此时要进行commit操作,如下图所示:

选择“Commitselection……”后,会出现如下对话框:

(图一)

在该对话框中输入cvslog信息,点击“确定”按钮,则提交成功。

注:

如果这个地方不输入cvslog信息,则提交不成功,所以在做cvsci操作时,一定要输入log信息;

1.1.1.4modify

在对文件进行修改后,修改后的文件会呈现红色,此时需要选择“Commitselection……”进行提交;

1.1.1.5cvsdelete

首先选中要删除的文件,之后选择“

”进行删除,删除之后,被删除的文件呈现红色,需要选择“Commitselection……”进行提交;

cvstag

tag是用来标识文件或目录的特定版本,其具体操作为:

1.1.1.6新增tag

1.1.1.6.1对目录打tag

首先选中要标识tag的目录或文件,之后点击按钮进行tag操作,如下图:

(图3)

进行第二步操作后,会出现如下对话框:

(图4)

点击“确定”按钮,即在对应的目录上打上了对应的tag;

1.1.1.6.2对文件打tag

对文件打tag的步骤与对目录打tag的步骤相同,区别的一点是:

在第一步要首先选中要标识tag的文件,其它步骤相同,其有以下特点:

可以针对某个具体的revision标识tag;

例如本地的文件revision是,而服务器最末端的文件revision是,如果在本地标识tag,则tag打在了版本上;

可以把同一个tag标识在不同的文件上,而当获取此tag时,可以把所有标识有此tag的文件获取下来;

例如服务器一共有4个文件,而如果我们只对其中的两个文件标识了tag,当获取此tag时,只会获取到标识了tag的两个文件;

1.1.1.7删除tag

删除tag操作步骤同tag操作类似,只是在“图3”中点击删除tag的按钮,之后在“图4”中输入要删除的tag名称,即可将已经存在的tag删除;

注:

当某个tag已经送测过,或成为基线后,则这个tag已经被scm加锁了,故是不允许删除的,如果删除此tag,会出现以下信息:

cvs-qtag-das_2-5-2-0_PD_BL(indirectoryE:

\cvswork\App\search\baidunews\news\as\)

app/search/baidunews/news/as对应的as_2-5-2-0_PD_BL是基线TAG

原则上是严禁修改基线TAG,若有必要请联系SCM!

cvsserver:

Pre-tagcheckfailed

app/search/baidunews/news/as对应的as_2-5-2-0_PD_BL是基线TAG

原则上是严禁修改基线TAG,若有必要请联系SCM!

cvsserver:

Pre-tagcheckfailed

cvs[serveraborted]:

correcttheaboveerrorsfirst!

*****CVSexitednormallywithcode1*****

cvslog

cvslog信息即为cvs日志信息,通过cvslog,可以查看到每个文件的修改历史信息,包括修改人,修改时间,以及每个文件小版本上存在的tag情况等等。

具体操作为:

首先选中要查看cvslog的目录或文件,然后点击右键选择“logselection”,在出现的对话框中直接点击“确定”按钮,即可查看到对应的日志信息,其日志信息如下图:

(图5)

cvsstatus

cvsstatus可以查看本地目录或文件的工作版本、tag等信息,具体操作为:

首先选中要查看cvsstatus的目录或文件,然后点击右键选择“statusselection”,在出现的对话框中直接点击“确定”按钮,即可查看到对应的信息,其输出信息如下图:

(图6)

cvsdiff

cvsdiff可以查看两个不同版本之前的diff,具体操作为:

首先选中要查看cvsdiff的目录或文件,然后选择“

”按钮,出现如下对话框:

在上图中,有三种不同的方式查看diff。

第一个选项:

compareyourlocalfilewiththesameremote

此选项表示:

查看本地文件与服务器上所下载下来的reversion文件的diff;

第二个选项:

compareyourlocalfilewiththeanotherrevision/tag/branch

此选项表示:

查看本地文件与服务器上其他revision或tag或branch的diff;

第三个选项:

comparetworevisions/tags/branches/dates

此选项表示:

查看两个不同tag或不同branch或不同revision的diff;上图演示的即是这种方式:

在上图中,输入两个不同版本的tag名称,即可进行比较,diff的输出信息为:

(图7)

cvsgraph

cvsgraph是以图形的界面形象的表现cvs的log、tag、branch信息,具体操作为:

首先选中要查看的文件,然后点击“

”按钮,出现如下页面:

在该页面中,可以点击每个revision(即、、等)来查看它的log信息,同时从图中可以查看到,每个tag、branch所在的具体revision,其中黑色的筐表示tag,蓝色的筐表示branch;

分支开发

分支开发比较复杂,有关此部分的操作,请参见《并行开发.doc》;

2linux命令行基础操作

配置环境变量

在本地的home目录下,在~/.bash_profile文件中增加如下一行,指定配置库路径

export:

/data/cvsroot

*[username]–用分配给自己的配置库账号代替

登录及注销

登录

命令:

cvslogin

若登录成功,则无返回信息,若登录失败,提示信息如下:

cvslogin:

authorizationfailed:

serverrejectedaccessto/data/cvsrootforuserjiangju

注销

命令:

cvslogout

执行完该命令,即登出,返回信息为:

Loggingoutof:

2401/data/cvsroot

基础操作

checkout

命令:

cvscocvspath导出CVS库中的最新版本

cvsco–rcvstagcvspath导出CVS库中指定版本

输出信息:

cvsserver:

UpdatingApp/search/mp3/as

UApp/search/mp3/as/Makefile

UApp/search/mp3/as/

UApp/search/mp3/as/

备注:

这里的cvspath一定要输入cvs全路径,否则会操作失败;

在执行checkout操作时,要确保是否对该模块具有访问权限,请仔细查看cvs的输出信息

update

在执行此操作时,首先进入到需要执行操作的目录。

2.1.1.1update到主干最新版本

命令:

cvsupdate–Ad

或者:

cvsup-Ad(update可简写为up)

注:

1、A表示去掉本地所获取的某个版本;

2、d表示获取到服务器端对目录的最后操作,即:

如果服务器端删除或/新增了子目录,该操作可以删除/新增子目录;

2.1.1.2update到某一个特定版本

命令:

cvsup-drcvstag更新到某一个tag

cvsup-dr分支名称更新到某一个分支上进行开发

2.1.1.3异常情况说明

情况1

M

异常分析:

产生的原因常是该文件本地被修改但是未提交cvs;

情况2

C

异常分析:

产生的原因常是文件名冲突(以大小写来区分文件名)或修改冲突

备注:

文件出现冲突时,必须手工解决所有的冲突之后才能够提交cvs,否则cvs将禁止你的提交;

为避免操作失误导致的本地修订版本的丢失,请先做好本地备份;

添加、修改、删除文件

2.1.1.4cvsadd

2.1.1.4.1添加目录

命令:

cvsadd目录名称

2.1.1.4.2添加文件

2.1.1.4.3添加文本文件

命令:

cvsadd文件名称

cvsci-m“commitlog”文件名称

备注:

1、.txt.cpp.h.sh均为文本文件;

2、在对.sh进行cvsadd之前,一定要检查该文件是否具有”x”权限,如果没有,请用“chmod+x*.sh”来添加;

2.1.1.4.4添加二进制文件

命令:

cvsadd–kb文件名称

cvsci-m“commitlog”文件名称

注:

doc、xls等均为二进制文件

2.1.1.5modify

命令:

vi文件名

cvsci文件名

2.1.1.6cvsdelete

命令:

rm文件名

cvsrm文件名

cvsci文件名

异常情况举例

情况1

cvsserver:

file`'stillinworkingdirectory

cvsserver:

1fileexists;removeitfirst

异常分析:

未先本地删除该文件,直接执行cvsrm

2.1.1.7cvsci

命令:

cvsci–m‘commitlog’文件名称

输出:

Checkingin;

/data/cvsroot/prod-all/cytest/,v<--

newrevision:

;previousrevision:

done

异常输出举例

情况1

cvsserver:

Up-to-datecheckfailedfor`'

cvs[serveraborted]:

correctaboveerrorsfirst!

异常分析:

未在主干或分支末端修改提交

情况2

cvsserver:

stickytag`as_1-1-0-3_PD_BL'forfile`'isnotabranch

cvs[serveraborted]:

correctaboveerrorsfirst!

异常分析:

未在主干或分支末端修改提交

情况3

cvs[serveraborted]:

Messageverificationfailed

异常分析:

未提交commitlog,即:

cvscommit-m"nomessage"

cvstag

2.1.1.8新增tag

命令:

cvstagtag名称

输出:

T

T

表示这两个文件被打上了tag

2.1.1.9删除tag

命令:

cvstag-dtag名称

输出信息:

D22/复件(6)

D22/复件

*****CVSexitednormallywithcode0*****

2.1.1.10覆盖已经存在的tag

命令:

cvstag-Ftag名称

输出:

T

表示该tag被打在该文件的新的版本上

cvslog

命令:

cvslog文件名

输出:

请参见节的“图5”;

cvsstatus

命令:

cvsstatus-v文件名

输出信息:

请参见节的“图6”

cvsdiff

命令:

cvsdiff-rcvstag1-rcvstag2

其中cvstag1、cvstag2指的是不同的cvstag;

输出信息:

请参见节的“图7”

2.1.1.11分支开发

分支开发较复杂,这里只简单的介绍命令,有关分支开发的详细内容,请参见《并行开发.doc》。

命令:

创建分支:

cvstag–bbranch名称

切换到分支上:

cvsup–drbranch名称

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1