WinCvs简明操作手册(一)
说明
本操作主要针对客户端的使用者,因为linux高一点的版本自带cvs的服务端,不详细说明。如需要安装服务端,可到http://www.cvshome.org/ 去下载安装。Windows NT版的server端可到 http://www.cvsnt.org/ 去下载安装。
安装步骤
1.安装wincvs136.zip (//dc/public/cvs)
2.安装python-2.1.1.exe (//dc/public/cvs)
3.安装ActiveTcl8.3.4.1-9.win32-ix86.exe (http://www.scriptics.com )
英文版手册
http://www.joyinternet.net/cn/cvs/docs/manual/
简明目录
1. 配置
2. 登录
3. 检出(checkout)项目--从服务端检出
4. 修改提交文件到服务端
5. 更新文件--将服务端文件更新到本地
6. 添加文件
7. 删除文件
8. 找回被删除的文件
9. 合并不同分支(版本)的文件(merge)
10. 导入模块(文件夹)--将本地文件夹添加到服务端
11. 创建标签、分支
12. 创建标签、分支
13. 查看文件的状态
一、配置
安装好cvs后,就需要配置服务端了。
从开始菜单中打开cvs,配置步骤如下:
1.点击菜单Admin->preferences,在弹出的窗口中设置如下:
在 User name框中填入你们自己在linux上的用户名
2.Globals标签上注意"checkout read-only"和 "prune(remove)empty directories"两个选项,分别表示“检出时文件只读”和“自动删掉空目录”。
3.设置编辑器和存放口令的目录(第一次登录输入口令保存后,下次登录就不需要再输入了)
二、登录
配置完后,应该登录以使服务端记住你的登录名和密码。
点击菜单Admin->preferences,输入口令即可。登录名和口令会存放在上图你设置的HOME folder文件夹的.cvspass文件中,下次进入不需要再输入口令。
三、检出(checkout)项目--从服务端检出
如果在服务端,项目已建立,只需checkout到本地来即可
1. 如图:选择放置模块(项目)的目录
2. 点击菜单Create->checkout module,输入模块名即可。
注意此处不需要先建立模块名,直接checkout
WinCvs简明操作手册(二)
四、修改提交文件
从服务端checkout项目后,会在本地建立文件的拷贝,在客户端修改后提交(commit)到服务端即可将最新的文件保存到服务端如下图,修改后的文件显示为红色。此时的修改只修改了本地的文件,如果要提交到服务器端,点击选中被修改过的文件,从右键菜单中选择"commit selection"命令即可提交到服务断后,文件版本会自动加1。
五、更新文件--将服务端文件更新到本地
在对本地的文件修改前,最好先从服务端更新文件,因为多人操作同一个文件时,没有及时更新容易引起冲突。如甲乙检出的版本同为1.2,甲修改提交后的版本为1.3,乙此时没有更新,在本地1.2的基础上修改提交,此时就会有冲突如下图,冲突的文件会显示。
更新文件,点击选中文件(可多选),从右键菜单中选择"update selection"命令即可将服务端的最新文件更新到本地。
六、添加文件
在本地添加文件后,要提交到服务端。
先选中文件,然后点击"添加按钮",添加文件后,再在右键菜单中选择提交命令"commit selection"即可。注意此处有两个按钮,一个添加一般的文件;一个添加二进制文件,如图片文件。
七、删除文件
1. 选中文件后,点击删除按钮,将文件从本地删除。
2. 删除后,从右键菜单中选择"commite selection"命令,才能将服务端的文件删除。
八、找回被删除的文件
如果只是点击删除按钮删除文件,则点击添加按钮即可将文件找回。
如果已提交到服务端,将文件从服务端删除,则应在本地建立一个同名的文件(可以为空文件),将文件添加提交到服务端,此时,可以找到丢失的文件,只不过会在原来被删除版本的基础上将本地的创建的文件升级一个版本。文件的历史版本仍然存在。如果想要将历史版本覆盖当前版本,最简单的办法是合并(merge)。
九、合并不同分支(版本)的文件(merge)
在update文件时,第三个tab就是合并选项。也即合并文件是通过update来进行的。如下,说明了几种合并方式。
如上图设置,将v_ds版本覆盖另v_xj 。
如上图设置,将v_ds版本与当前版本比较合并,将only this reg./tag 中指定的版本与当前版本进行合并,通常会有冲突发生。例如
v_xj 为当前版本,文件内容为:
--xj
xj
v_ds文件内容为:
ds before merge --ds
now it become the file of ds
I want to merge agagin
按上图设置合并版本,会显示文件冲突,打开文件如下:
<<<<<<< test.txt
--xj
xj
=======
ds before merge --ds
now it become the file of ds
I want to merge agagin
>>>>>>> 1.1.4.4
在这里,ds版本的文件比当前的xj版多出了一行,在合并时不能一行行对应合并,会显示文件冲突(?quot;5.从服务端更新文件"一节中的显示),将cvs添加的冲突标识符去掉,修改文件为所需的样子commit即可。
WinCvs简明操作手册(三)
十、导入模块(文件夹)--将本地文件夹添加到服务端
1. 如图,在cvs中选中要导入的文件夹。
2. 右键菜单中选择"import module",cvs检查文件后,弹出如下窗口。输入模块及路径,设置其他tab的属性即可。
3. 将本地文件导入到服务断后,本地并没有跟服务端建立联系,如要建立联系,必须再将模块从服务端检出(checkout)才行。
如果文件夹里的文件比较少,可以直接采用添加的方式。先添加文件夹,再添加下面的文件,与添加文件方式一样。
十一、创建标签、分支
在cvs有几种概念容易混淆。
version :一般我们所指的版本翻译成英文应该是这个词。在cvs中,确用revision这个词来代替这种说法,大概他们觉得正式版才能叫version,而我们平时不断修改的版本只能叫revision。
tag:tag顾名思义就是做个标签,如张三的文件,他就可以做个标签为"张三"以表明是他的文件。Tag只是在文件上做了一个标签,并没有创建不同的文件,这一点跟branch不同。。
Branch:分支是个很有用的概念,当我们在原来的版本基础上需要创建另外一个版本(项目)时,可创建一个分支,分支跟主版本可独立开发,又可以相互合并。如我们的新疆项目跟德赛项目基本上相同,可直接在新疆的基础上创建一个分支v_ds。新疆上有用的地方直接合并到德赛分支上。
一般是有个发布版v1.0,在开发v1.2的基础上,同时又在修改v1.0,这时创建分支就也可以互相合并。
在cvs中,update某个tag或branch或revision是通过同一个界面选项,如下图,只需要根据名称来输入即可。
十二、创建标签、分支
在modify菜单下有"create a tag onselection"条目,选中文件后,即可通过这个菜单给文件创建tag
在create菜单下有"create a tag by module",可对模块创建标签。创建分支跟tag一样,也在modify和create菜单下,只不过条目不同而已,就不多解释了。
十三、看文件的状态
右键菜单中选择"status selection"可查看文件的当前状态,如下例
===================================================================
File: test.txt Status: Up-to-date
Working revision: 1.4
Repository revision: 1.4 /usr1/tt/test1/test.txt,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
Existing Tags:
v_zs (revision: 1.3)
v_ds (branch: 1.1.4)
v_xj (branch: 1.1.2)
test (revision: 1.1)
V2 (branch: 1.0.4)
v1_2 (branch: 1.0.2)
右键菜单中选择"log selection"可查看文件的历史信息,包括修改者,修改时间等,如下例
----------------------------
Revision : 1.4
Date : 2002/1/16 2:14:25
Author : 'lixin'
State : 'Exp'
Lines : +1 -1
Description :
no message
----------------------------
Revision : 1.3
Date : 2002/1/16 2:1:59
Author : 'lixin'
State : 'Exp'
Lines : +4 0
Description :
no message