"); //-->
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里的配置文件决定,其中有几个比较重要的文件如下。先了解一下,后面配置时会用到。
1、config文件
控制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/
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。