CVS2.5.03版本的安装与配置及基本用法
1 前言:CVS是版本控制的利器,目前在Linux和Windows下都有不同版本,本文是针对Windows的环境下使用CVS的经验介绍,一步一步的向您介绍如何配置和使用CVS的服务器端和客户端。同时,本文只使用到了CVS当中最基本的东西,还有很多更为高级的东西,本文暂不涉及。2 安装版本:2.1 服务器端:cvsnt-2.5.03.2382.msi2.2 客户端:CVS
1 前言:
CVS是版本控制的利器,目前在Linux和Windows下都有不同版本,本文是针对Windows的环境下使用CVS的经验介绍,一步一步的向您介绍如何配置和使用CVS的服务器端和客户端。同时,本文只使用到了CVS当中最基本的东西,还有很多更为高级的东西,本文暂不涉及。
2 安装版本:
2.1 服务器端:cvsnt-2.5.03.2382.msi
2.2 客户端:CVS-SSH-Tcl-Setup_1.2.exe
3 服务器端(CVSNT)的安装与配置:
3.1 服务器端机器和环境配置:
1. 操作系统:Windows 2000 Professional SP4中文版
2. 机器名称:CVS Server
3. 机器地址:172、16、26、28(内部IP)
4. 准备2个CVSNT的工作目录:
D:/TheWayTrace (在远程服务器端存放自己源代码的根目录)
C:/WINDOWS/Temp (在远程服务器存放CVS出错信息的目录,由于我们未安装TCL or Python,所以此目录可以不建)
5. 本机上存在有的用户列表:(由NT或本机的使用者创建)
Administrator (系统管理员)
user (普通用户)
3.2 安装CVSNT:
1. 下载cvsnt-2.5.03.2382.msi;使用administrator登陆到CVS Server机器上。
2. 双击自解压的exe文件,选择Full Install,其它按照默认方式安装;安装完毕后可以在服务控制器中发现多了2个服务:cvsnt与cvsnt lock。
3. 发送CVSNT Control Panel 到桌面,形成快捷方式。
4. 安装程序会自动将CVS安装路径,设置到系统的Path环境变量当中(如果没有请手动添加),因此使用者可以在控制台(cmd)中任意位置执行cvs.exe,这一点对下面的配置很重要!
3.3 配置CVSNT服务器:
1. 双击CVSNT Control Panel快捷方式,在Service Status页面,确认2个服务正常和稳定运行。
2. 选择Repository页面,点按Add按钮,选择已经准备好的D:/TheWayTrace这个目录,确认,OK,YES。这时会在D:/TheWayTrace下面建立CVSROOT目录,这是CVS默认的管理目录(默认模块)。
3. 选择Advanced页面,勾上Lockserver listrns local ...,如果安装了TCL或者 Python就在Temporary栏选择已经准备好的F:/CVSTemp,确认。
4. 点按【应用】按钮,确认,退出,OK,搞定!!
3.4 小结:
1. 至此,CVSNT服务器端基本配置完毕,下面进行WinCVS的使用和管理。
2. 由于CVS支持远程管理,也就是客户端与服务器集成的特性,因此,我们将添加用户、模块维护等所有的管理工作都放到远端(WinCVS)进行管理(用户的管理亦可在服务器端完成),下面的所有工作都交给远端的WinCVS来进行管理。
4 客户端(WinCVS)的安装与配置:
4.1 客户端机器和环境配置:
1. 操作系统:Windows XP Professional SP4中文版
2. 机器名称:zhangyanfang
3. 机器地址:172、16、10、250
4. 网络环境:100兆交换局域网,可以直接访问到CVS Server
5. 硬盘分区格式:FAT32与NTFS都可以。
4.2 安装WinCVS:
1. 下载CVS-SSH-Tcl-Setup_1.2.exe,全部按照默认安装就可以了。
2. 启动WinCVS,开始使用。特别注意:以下的所有操作都是在zhangyanfang(172、16、10、250)这台机器上远程完成的,此时的CVSServer(172、16、10、250)主机已经进入了锁定状态。
5 管理员使用WinCVS进行远程管理:
5.1 配置WinCVS成管理员状态:
1. 准备管理员工作目录:(在zhangyanfang机器上)
E:/开发的项目/物流在途跟踪系统 (管理员工作目录)
2. 第一次启动WinCVS时会自动弹出Preferences配置页面,也可以通过Admin=>Preference菜单进入;第一次使用时需要配置如下的3个页面:
l General页面设置:
注:按照图示方式输入即可,需要注意的是Path部分的格式是Unix路径格式,它指的是CVSNT端设置的工作根目录。
CVS页面设置:
注:Home路径是设置密码等文件的存放位置,必须指定,否则在登陆时,WinCVS也要弹出设置框。这个Home路径需要Python这个外挂程序才有效。这里选择已经准备好的路径:F:/CVSTemp。此页面设置WinCVS的外挂编辑程序,通常使用Editplus或者UltraEdit。
3. 设置管理员的工作路径:可以点按图标,或View=>Browse Location=>Change…菜单进行设置,选择已经准备好的路径: F:/CVSClient/admin,确认,OK,这时此目录将出现在WinCVS的左边导航栏【Workspace】内。
4.至此,WinCVS就被配置成了远程的管理员使用状态,下面进行一般管理员需要的基本操作演练。演练的内容为:cvsadmin需要管理zhangyanfang,yaojun,luomin三个用户,分别为这3个用户建立工作目录,每个人只能访问自己的工作目录。同时,只有cvsadmin能够进行权限分配,其它人没有任何管理权限。
5.2 管理员进行管理演练:
5.2.1. 登陆远程CVSNT:
l 选择Admin=>Login菜单,默认设置,OK。
l 弹出密码输入框,确认,OK。注意观察输出框【OutPut】的返回结果。
5.2.2. Checkout默认模块:(CVSROOT管理模块)
l 在左边导航栏【Workspace】内,选择【Admin】点按右键,选择【Checkout modules…】,在【Checkout settings】中输入“.”,确定,OK。如下图:
l 如果成功的话,会在【Admin】栏下增加一个【CVSROOT】目录。表示您已经将【CVSROOT】这个管理模块下载到本地了。
5.2.3. CVS中目录权限介绍:
系统支持的目录权限列表:
read (读取权限)
write (写入权限)
create (创建和删除权限)
tag (创建标签权限)
l 默认情况下,任何用户都拥有任何目录的所有权限。
l 任何情况下只有目录的拥有者和Administrator才有权力更改目录的使用权限。下面将会介绍如何修改目录权限和目录的拥有者。
5.2.4. 进行新用户的添加和删除。(只能使用Administrator登陆)
l 在远程服务器端D:/TheWayTrace/CVSROOT中新建一个passwd文件
l 【Ctrl+L】或Admin=>Command Line…,弹出Command Line Settings对话框,直接执行CVS命令。
添加新的用户和密码:用管理员的身份登陆进去:【Ctrl+L】或Admin=>Command Line…,弹出Command Line Settings对话框,输入:cvs passwd -a yanyan,在弹出的密码框为新添加用户yanyan添加密码,ok,确定完成。
l 为用户添加密码:首先,用要设置用户密码的用户登陆,在command line...,弹出Command Line Settings对话框,输入 cvs passwd,确定,输入密码,ok,完成。
cvsadmin】到【administrator】:cvs passwd -r administrator cvsadmin 回车,设置密码,OK,完成。
l 两次输入的密码可以不同,但以第二次输入的密码为最终密码。
l 删除用户yanyan【user1】:cvs passwd -X cvsadmin 回车,OK,完成。
l 其它特殊的功能查看passwd命令的帮助。
5.2.5. 修改CVSROOT的权限:只让cvsadmin拥有rcwt四种全部权限。
一种简便的方法,直接在配置库目录下面每一个文件夹,有一个CVS文件夹,在CVS文件夹下面 有一个文件fileattr.xml,内容如下:
说明:<all deny="1"> 设置一开始任何人没有任何权限,只有设置相信权限方可有一下四种权限,管理员cvsadmin对此文件所在目录下拥有create、read、write、tag四种权限,普通用户zhangyanfang只拥有read 的权限,本文件的所有者为cvsadmin
l 选中刚刚下载的【CVSRoot】模块,【Ctrl+L】或Admin=>Command Line…,弹出Command Line Settings对话框,直接执行CVS命令。
更改【CVSROOT】的拥有者:cvs chown cvsadmin。
查看文件夹的拥有者:cvs lsacl 。
5.2.6. 设置组权限。
在CVSROOT下面添加文件admin,read,write,group,admin文件即填写管理员用户,read文件里即所有拥有read权限的用户,write文件里即所以拥有write权限的用户,group里面即填写分组的用户,在fileattr.xml文件设置权限,把里面的用户名换成组名,那么这一组用户同时拥有对某个文件夹的相应权限。
5.2.7 添加文件(a.java)或文件夹(files)
打开命令行Admin=>Command Line…,弹出Command Line Settings对话框,直接执行CVS命令。
添加文件/文件夹 命令:cvs add a.Java/files,ok---确定。
提交命令:cvs commit -m "提交信息" a.Java ,ok 确定,完成
5.2.8 移除文件(a.java)
打开命令行Admin=>Command Line…,弹出Command Line Settings对话框,直接执行CVS命令。
移除文件第一步: cvs remove -f a.java,ok完成。
提交移除内容: cvs commit -m a.java,ok 完成。
5.2.9 给某个文件夹下面的文件或文件夹 创建/删除 分支
创建文件夹下的分支: 选中某个要创建分支的文件夹或文件,在Command Line Setting里面输 入如下内容:cvs tag -b branch_test. Ok,完成。
删除文件夹下的某个文件的分支:选中某个要创建分支的文件,在Command Line Setting里面输入如下内容:cvs tag -d -B branch_test aa.Txt(文件名)
删除文件夹下的所有分支:选中某个要创建分支的文件夹或文件,在Command Line Setting里面输入如下内容:cvs rtag -d -B branch_test rest(文件夹名称)
5.2.10 给某个文件夹下面的文件或文件夹 创建/删除 标签.
创建某文件下多个文件的标签:如下图(选中--》右键--》create a tag on selection....)
删除一个标签:cvs tag -d -B baseline_test readme.Txt(文件)
删除一个文件夹下的所有文件的标签:cvs rtag -d -B baseline_re_1 test( 文件夹名称)
5.2.11. 重新使用cvsadmin登陆。
在E:/开发的项目下面,建立/物流在途跟踪系统 文件夹,重新使用cvsadmin登陆, checkout。
5.2.12 更新库目录,获得仓库的最新内容
选中库的根目录--》右键---》更新,在弹出的对话框内设置如下:
更新设置:
全局设置:
5.2.12. CVSNT系统中的用户管理原则:
CVSNT的用户与本机(CVS Server)上的NT用户是相关联的,即CVSNT用的全是本机上存
在的已有用户,因此在默认情况下可以不用设置任何用户名,只要使用本机上已经存在的用户
名就可以用WinCVS进行登陆。
此文档只有用cvsadmin身份登陆到CVSNT系统中,才有权力进行新用户的创建和删除。
l 使用CVS创建的新用户,必须与服务器端机器上的NT用户相绑定,才能生效;因此,这个
新用户实际上是绑定它的NT用户的一个替身,在CVS系统中称为“别名”。
l 一个NT用户可以有多个‘替身’或‘别名’,充当多个CVS用户。(一般建立两个用户
administrator,user)
使用完毕后,一定要【Logout】,因为WinCVS退出时并不会自动注销自己在远端的会话;这样做是为了防止其它人接着打开WinCVS,不用登陆就可以完成你能进行的所有操作了。
6 WinCVS中常见的特殊操作:
6.1 如何删除下载的文件或目录:
1. 选中下载的某个或多个文件,执行【Remove】命令。
2. 再次选中这些文件,执行【Commit】命令就完成了删除文件的操作。
3. 本质上CVS是不会删除任何文件和目录的,即使是执行了以上操作,删除了某些文件,远端CVS实际执行的是将提交删除的文件放到了一个叫【Attic】的目录下,因此,这些被删除的文件是可以通过一定的方法恢复的。
6.2 如何恢复已经删除的文件或目录:
1. 在执行了【Remove】命令之后恢复文件。
【Ctrl+L】直接输入命令cvs add xxxxx,或执行【Add Selection】界面操作。
这样就可以直接恢复还未提交的删除文件。
2. 在执行了【Commit】命令之后恢复文件。
只能用【Ctrl+L】直接输入命令cvs add xxxxx,这时会得到一个空的文件。
选中这个空文件,执行【Update】操作,得到这个文件的实体。
再次选中这个文件,执行【Commit】操作,得到这个文件最新版本。
3. 由于CVS系统中本质上不会删除任何目录,因此,谈不上对目录的恢复,但是CVS系统默认情况下是要在用户本机上(如:YCW2000)要删除空目录,因此,可以用如下方法得到已被删除的空目录:cvs checkout -p xxx,也可以在Admin=>Preference的【Globals】页面进行设置。
4. 可见,CVS系统能够保证:只要上传到服务器的文件,无论你怎么在远程进行如何的操作,正常的或非正常的操作,都可以用Administrator登陆上去,通过以上的方法找到丢失的文件。除非用户进入到远端服务器,将文件手动删除,那就没办法了。
6.3 如何得到以前版本的文件:
1. 有时我们需要得到以前版本的文件,而WinCVS默认方式只传递最新的版本。
2. 选中某个文件,【Ctrl+G】或右键,点按【Graph selection…】,使用默认设置,就可以得到该
文件所以版本的图形结构描述。
3. 选中一个版本,右键,点按【Retrieve revision】,就可以得到相应的老版本文件。当然也可以得到最新版本的文件。
6.4 有时WinCVS会变得异常缓慢,怎么办?
1. 确认安装了WinCVS的机器上没有安装CVSNT服务器端,因为它们使用的版本有可能不一致。
2. 只安装了WinCVS,但以前安装过其它版本的WinCVS,怎么办?
3. 先卸载所有的WinCVS系统,删除安装目录下的残留文件。
4. 打开注册表编辑器,全程查找cvs关键字,找到一个删除一个,一直到找不到为止!!
5. 重新安装WinCVS,这个问题基本上就可以解决了,我就是这样解决,不晓得你那里如何?
7 其它说明:
1. 本文的重点在介绍如何让使用者搭建CVSNT+WinCVS这个系统,因此重点介绍了管理员的常用操作,至于一般用户使用到的操作,相对比较简单和单一,使用WinCVS的次数多了,很快就会熟悉它了。
2. 这篇文档只是窥探了CVS的一点皮毛而已,CVS当中还有很多高级的用法,以及上百个命令,还有很多新鲜的管理源代码的方法,比如:tag,branch等模式;因此,热烈欢迎大家积极探索,不断共享,不断进步。。。。。。。。
3. 最后,祝愿看到此文的人,得到的帮助、提高等好处大于或等于浪费的时间、反而退步等坏处!!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)