新闻  |   论坛  |   博客  |   在线研讨会
Windows xp下CVS初学者使用指南
mayer | 2009-08-12 18:45:33    阅读:3119   发布文章

Windows xp下CVS初学者使用指南

本文是写给希望能够马上通过cvs来进行更好的开发管理的小型团队或个人。你一但使用了cvs你就会发现你已经离不开它了。网上有很多有关windows下配置使用cvs的文章,但比较乱,不适合初学者。所以本文一步步介绍如何在windows操作系统下安装和配置cvs服务器,并且加入了尽量多的图片。

以下是本文要介绍的主要内容:

1、服务器端cvsnt的安装;

2、cvs代码仓库的创建;

3、配置cvs帐号;

4、客户端wincvs的安装与配置;

5、使用Tortoise CVS使用

 

(1)  服务器端cvsnt的安装

到网址http://www.march-hare.com/cvsnt/features/cvsnt/下,选中Free Download 下的Windows Server 点击下载.我这下载的是cvsnt-server-2.5.04.3510.msi。安装时选择Typical就行。

装完cvs服务端后重启系统。

(2)  cvs代码仓库的创建

先在windows下创建一个文件夹做代码仓库用。打开刚安装的CVSNT Control Panel。在Repository configtion选项卡中点击ADD,在location处输入仓库文件夹D:/cvs_code。如下图:

 

确定后会在D:/cvs_code文件夹中产生目录CVSROOT。

其他设置采用默认值即可。

 

 

 

3)配置cvs帐号

先说下CVSNT的用户验证方式,CVSNT的用户验证方式分两种:Windows系统用户与CVSNT用户共存的混合验证方式,及CVSNT用户 单一验证方式,默认工作在混合验证方式下。各个资源库所使用的 验证方式及用户配置由其目录下CVSROOT里的配置文件决定,其中有几个比较重要的文件如下。先了解一下,后面配置时会用到。

 

1config文件

控制CVSNT的验证工作方式的就是config文件,注意该文件最前面的两行:
#Set this to `no" if pserver shouldn"t check system users/passwords
#SystemAuth=yes

第二行就是我们要修改的内容,默认状态是被注释掉的,SystemAuth有两个值yes和no:

yes:pserver将使用Windows系统用户和CVSNT用户来共同验证(若CVSNT用户未定义,则用Windows系统用户来进行验证),默认为yes,CVSNT用户在后面将要介绍的passwd文件中定义。

no:只使用CVSNT用户来进行验证。

该文件可以在客户端进行修改,因此我们可以将其checkout出来将第二行改为SystemAuth=no,并commit到CVSNT上就可以启用单一验证方式了.

注意:启用单一验证方式后原来的Windows系统用户将变为无效,因此要注意执行该步骤的时机。

2、 admin文件

该文件保存CVSNT管理员用户列表,内容很简单,形式如下:
User1
User2
User3
每一行定义一个管理 员用户,默认时没有该文件,但你可以在客户端自己添加并add上去,再commit到CVSNT上,但是光有这个文件还是不会生效的,还要将其添加到 checklist文件中,使CVSNT能够读取该文件的内容,在checklist中添加文件列表的格式为:

[空格]文件名 出错信息

其中文件名前的空格必须要有的,不然会出错。
我们可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。

3、passwd文件

服务器工作在CVSNT用户单一验证方式下的时候,这个文件定义了CVSNT的用户信息,这里面保存着用户名,用户密码,以及别名信息。默认状态下 没有该文件,但是我们可以在CVSNT还工作在混合验证方式下时,用系统管理员登录,通过添加用户命令来让CVSNT自动建立一个passwd文件。

添加用户的命令的示例:

cvs passwd –r administrator –a cvsadmin

之后系统提示输入密码,输入后服务器会新建一个passwd文件。

该文件的内容很简单,形式如下:

cvsadmin:fqr1fS4gDghrt:administrator
kid:aTXRfS31Bm6JA
mystique:Yna4QcXz9dEqd

以第一行为例:cvsadmin为用户名,fqr1fS4gDghrt为CVS使用UNIX标准加密函数对密码进行加密后的结果,administrator为该用户的别名,当使用混合验证方式时对应Windows系统用户名。

注意:这个文件是不能在客户端进行修改的,不能checkout出来。

4、group文件

该文件定义CVSNT中组信息,同组里的用户拥有一样的权限,对组权限的修改和对用户权限的修改一样。

group文件的内容为

administrators:cvsadmin kid mystique
users:User1 User2 User3

可以看到该文件的内容也很简单,组名:用户名,多个用户名之间用空格隔开。

Group文件可以在客户端修改,不用修改checkoutlist这个文件,系统会自动使其生效。

作为组里面的特定成员可以赋给特定的权限。

在了解以上文件作用后,接下来要进行具体配置:

(一)   测试服务器

1.点击 开始菜单->run->cmd,进入命令行环境
2.输入Cvs ,会出现相应的帮助,如果没出现,说明环境变量中的Path值没有设置,你可以手动设置到你的Cvs.exe文件所在的目录
3.输入cvs version ,显示当前CvsNt版本号:
Concurrent Versions System (CVSNT) 2.5.04 (Zen ) build 3510 (client/server)
4.输入 set cvsroot=":sspi:localhost:/cvs"_code

5.cvs login
   输入你的Windows登陆密码
6.cvs ls
    显示所有module,至少会有一个CVSROOT
7.如果以上步骤都没有错误,说明CVSNT配置成功

(二) 添加用户账号
1、进入命令提示符:

cd  c:\ #进入C盘
mkdir work #创建测试工作目录
cd work #进入work工作目录

2、因为此时为混合验证模式,可以不用不用登陆直接进行checkout。

cvs co CVSROOT #检出CVSROOT目录:

此时可以看到c:/work目录下多了一个cvsroot文件夹,他是服务器仓库即D:/cvs_code/cvsroot 的一个部分拷贝。

3、添加CVSNT系统管理员用户,此时会提示设置用户密码:

cvs passwd -r administrator -a cvsadmin #创建cvs账号
输入密码        #注意:输入的密码不会显示
在此输入密码

注:将administrator改为你的系统登录用户名

4、修改CVSROOT访问权限:

cd CVSROOT #进入c:\work\CVSROOT
cvs chown cvsadmin //更改所有者为
cvsadmin
cvs chacl -u default -a none //默认权限为
none  
cvs chacl -u cvsadmin  -a all //设置cvsadmin权限

5、设定cvsadmin为CVS管理员。

在c:\work\CVSROOT目录下新添一个名为admin的文件。在里面将每一个想要升为管理员的CVS帐户的帐户名写到文件中,每行一个帐户名。当然admin文件只有放到服务器,cvsadmin的升迁才能生效。但是,仅仅是这么将admin文件提交上去是不能起作用的。在提交它之前,必须将admin的信息添加到heckoutlist文件中。checkoutlist的格式在其文件中有介绍,是“空格文件名 空格 出错信息回车符”。

(1)    在c:\work\CVSROOT目录下新添一个名为admin的文件(无后缀)。用记事本打开输入 cvsadmin + 回车

(2)     命令行中执行:
cvs add admin     #把admin移入代码库,但没用真正移入
cvs commit admin  #确认把代码移入 CVS commit 或 cvs ci都行

注意:运行后会弹出报告,关闭后按回车继续。

(3)  修改c:\work\CVSROOT\checklist文件,在该文件末尾添加一行:

[空格]admin [空格] error message[换行]

注意:admin前的空格不能少。

命令行中输入:

cvs commit #cvs ci也行

 

(4) 其他操作

经过以上步骤,可以说用户配置已经基本完成了,CVSNT可以很好的工作了。进一步的管理可使用以下命令:

添加用户: cvs passwd -a username,使用时不必理会需要添加别名的提示。

修改用户权限:cvs chacl  -u username –a r|w|c|n|a,(r:Read w:write c:control n:none a:all)

修改验证方式:将confing中的添加SystemAuth=no 此时将进入单一验证模式。这时cvs命令要加 -d :pserver:cvsadmin@localhost:/cvs_code选项比如cvs ls命令要改为
cvs -d :pserver:cvsadmin@localhost:/cvs_code ls 也可以再系统中添加系统变量和用户变量变量名CVSROOT 变量值:pserver:cvsadmin@localhost:/CVS_Root

要添加组管理,只需同添加admin步骤一样,按照格式要求新建group文件即可。

ok,差不多就是这些,有错还请各位帮忙指出,还在学习ING

 

 

(四)客户端wincvs的安装与配置

 

1)到网址http://www.march-hare.com/cvsnt/features/cvsnt/下,选中Free Download 下的Windows client  点击下载.我这下载的是suite-client-trial-2.5.04.3510.msi。安装时选择Typical就行。装完cvs服务端后最好重启系统。

2) 在客户端,创建一个文件夹用来存放管理文件。例如:C:\work\client

3) 打开WinCVS,在菜单栏中点击“View”->“Brower Location”->“Change”

将步骤2)的文件夹D:\cvsclient\admin引入。

4) 点击菜单栏中的“Admin”->“Login”弹出对话框如图所示:

CVSROOT中的格式如下:

:pserver:username@hostname(或IP地址):CVS仓库NAME

下面我解释一下上面的字符串的含义:

1、 “pserver” 是最常用的一直CVS远程访问方式;

2、 “username”是指在服务器上登录的用户名;

3、 “hostname” 是CVS服务器的主机名,也可以是它的IP地址;

4、 “CVS仓库NAME” 是一个CVS仓库的名字,用于区分你要访问的是哪个仓库(因为一个CVS服务器上可能有多个不同仓库)。

这里实际输入为::pserver:cvsadmin@localhost:/cvs_code

5) 弹出对话框,输入密码.

即可看到 ***** CVS exited normally with code 0 *****

表示登录成功!

6) “Remote”->“Checkout module…”,弹出如图所示的对话框

在Module name…中输入CVSROOT ;local dolder…中输入工作目录;CVSROOT 同上

7) 在左边的根目录下将出现CVSROOT目录。再用文件管理器在client目录下创建你的项目。

例如:C:\work\client\myproc1 在myproc1随便放个文件比如readme.txt

8) 回到WINCVS,右击根目录->“Reload view”,刚刚您所建的项目将出现在根目录下。

      如果没有“Reload view”就按F5,或者右键在Customize this menu..中添加一个

9)“Remote”->“Import Module”,确定,按默认即可。如出现

***** CVS exited normally with code 0 *****

这说明你的项目已经引入到CVS Server了。

10)用文件管理器将步骤7)中的目录C:\work\client\myproc1删除,这步是必须的。

11)Checkout Module,重复步骤6)只是将Module name中输入myproc1就能将刚放入的工程取出。

 

(五)使用Tortoise CVS

在安装完cvs client之后会发现在wincvs下还有个客户端工具Tortoise CVS,这是个使用跟方便的工具,完全可以代替wincvs.其使用也相当方便,装完时以嵌入到资源管理器中了。

1.       在资源管理器中新建一个文件夹c:\work\myproc2,右击->CVS->创建新模块….

在cvsroot中输入:pserver:cvsadmin@localhost:/cvs_code 其它自动会产生。

如果不出意外的话,一个新的模块test就建立了

2.建立工程文件并提交。在c:\work\myproc2中建立hello.c内容如下:

Void main()

{

       Printf(“hello vcs!”);

}

选择该文件右键添加。然后右键点提交。

这样就上传到服务器了

 

4.测试Checkout功能:

为了看到变化先删除c:\work\myproc2.

1)        进入c:\work 右键点cvs取出…弹出对话框。

2)        cvsroot填入:pserver:cvsadmin@localhost:/cvs_code

3)        点“获取列表”.选着获取的列表中的myproc2并点击”确定”

这是可以看到当前目录有一个myproc2文件夹了

 

5. 测试修改功能

选中c:\work\myproc2下的hello.c 右键点击“编辑”后用记事本打开修改为:

Void main()

{

       Printf(“hello vcs!”);

       Return ;

}

右键点“提交”。修改完成。

6.版本分支

右键c:\work\myproc2\hello.c选着cvs->版本分支图..弹出分支图。右键有很多功能,比如版本比较,获取特定版本,添加标签等。

注意:比较文件时会弹出对话框选着第三方比较工具。Client程序装完时会有一个winmerge.

"C:\Program Files\CVSNT\WinMerge\WinMergeU.exe"选着它就行。

For more information about CVS & WINCVS, please refer to the following links:

CVS使用手册: http://www.chedong.com/tech/cvs_card.html

CVS中文手册: http://man.chinaunix.net/develop/cvsdoc_zh/

CVS FAQ: http://ximbiot.com/cvs/wiki/index.php?title=CVS_FAQ

Concurrent Versions System: http://www.nongnu.org/cvs/

How to Use WinCVS: http://www.devdaily.com/wincvs/HowToUseWinCVS/

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客