WinCVS简明操作指南
作者:陈先波
邮件:turbochen@163.com
日期:2003-5-10
本文以WinCVS (ver 1.3.6.1 beta 6)为例来说明cvs的使用方法。
1. 准备工作
1.1 术语
Update---从cvs服务器下载新版本文件。当本地文件比服务器上的还新时,update将失败。
Commit---将本地更新过的文件提交到cvs服务器。如果本地文件比服务器上的还旧,commit将失败。
Import Module---将本地模块建立到服务器上(即在服务器上新建一模块)。
Checkout Module---从服务器上取出一个模块。
1.2 准备目录
在使用CVS之前,要在你的电脑上建立一个空目录,主要用来存入cvs的系统信息,也可以用来存放从CVS服务器下载出来的文件。将这个目录命名为CVSHOME。
1.2 安装
请到http://sourceforge.net/projects/cvsgui 下载WinCVS 1.3安装程序。下载完后执行setup.exe,按提示安装即可。
安装完后, 启动WinCvs,就可以看到主画面了,
主画面分为五个区域:
1. 菜单---提供WinCvs的全部操作命令。
2. 工具条---提供常用的操作命令。
3. 树形菜单---目录浏览。
4. 文件清单---文件视图。
5. 控制台---命令执行的信息输出窗口,你也可以直接在里面输入cvs命令。
2.设置
2.1 设置常规选项
打开"Admin"菜单,点击"Preferences"子菜单。在"General"页中,设置与cvs服务器有关的选项:
a.设置"Authentication"(认证方式),选择"pserver"。
b.设置"Path"(cvs服务器上的仓库根目录)。
c.设置"Host address"( cvs服务器名)。
d.设置"User name"(用户名),输入个人的cvs帐号,即Win2k Server的帐号。
e.设置"CVSROOT"参数,这是cvs专用的参数格式,如下所示:
username@servername:path
其中username是帐号,servername是服务器名,path是cvs服务器上的仓库根路径。
2.2 设置全局选项
a."Checkout read-only"选项是设置当文件从服务器上check out出来后是否要设成唯读。
2.3 设置WinCvs选项
a."Default viewer used to open files"选项设置预设的文件查看器。
"Use on double click"选项设置当鼠标在文件上双击时,是否使用上面选项所设置的查看器打开。通常不要选择这项,让它用文件相关的程序打开。
b."External diff program"选项设置外挂的文件比较程序。
c."Home folder.(where cvs stores your passwords)"选项设置CVSHOME参数的目录。它是wincvs用来存放cvs登入密码的地方,将此目录设为先前建立的CVSHOME目录即可。
3.登入
点击"Admin"菜单,再点击"Login…"菜单,
之后出现一个password对话框,
输入密码,即可登入CVS服务器。登入后,wincvs将自动记住你的密码,下次使用wincvs时,可以不用人工登入。
下面是登入后,wincvs控制台输出的信息:
其中第一行是登入命令,第二行是登入信息,第三行是登入成功后返回的代码。通常看一个cvs的命令是否执行成功,可以看这个返回代码是否为0,否则此命令执行不成功。
4. 新建模块
我们来看一下如何在cvs服务器上新建一个模块。
假设在本机的CVSHOME目录中有一个demo目录,此目录中有相关的源代码或是其它的文件。我们要将这个目录作为一个模块(Module),建立到cvs服务器上去。通常服务器上已建立好了一个CVSROOT目录,专门用来存放模块用的。
现在启动WinCvs程序,在窗口左边的树形目录中找到上面所示的目录位置。如果在这里找不到这个目录,可以点击"View"菜单,再点击"Browse Location",进入"Change"菜单,如下图,
这时出现对话框,找到demo目录所在的位置,点击"确定"即可。
这时,WinCvs的树形目录切换到了demo目录。在demo目录上点击鼠标右键,进入"Import Module"子菜单,这时出现下面的对话框:
选择demo目录,这时,wincvs自动识别出demo中所有文件的类型。所下图,
一般源代码等是TEXT格式的,而其它如图片,OFFICE文档等是二进制格式的。如果你发现WinCvs列出的格式与实际的格式不符,可以在相应的项目上双击来修改格式。
完成后按对话框上的"Continue"按钮,出现下面的对话框,
设置Module的名字为"demo",Vender tag和Release tag分别是制造和发行标记,可根据需要设置。在log message中设置一个日志信息,可以将来用作追踪用。
按"确定"按钮后,wincvs即开始执行import命令,并输出下图信息,
我们看到绿色是提交到服务器"demo"模块中的新文件。最后命令结果返回0,表示命令执行成功,已经在服务器上建立了一个demo模块,并且包含了所有的文件。
成功后你即可将本机的demo目录删除了。下面要来讲解如何从cvs服务器check out一个模块。
5. Checkout模块
在WinCvs左边的树形目录上点击鼠标右键,进入"Checkout Module"菜单,出现下面的对话框,
输入你要checkout的模块的名字(注意大小写),即demo,再输入checkout下来后的存放目录,按"确定"按钮,这时,在WinCvs的控制台输出以下信息,
表示命令执行成功。这时,在WinCvs左边的树形目录中也多了一个demo的目录。相应的文件也在里面。
6. update和commit文件
如果文件内容有改变,应即时的提交到服务器上。现在我们修改一个demo目录中的readme.txt文件,储存后,文件的图标即变成了红色,表示此文件被修改过,如下图,
这时,在此文件上点击鼠标右键,再点击"Commit selection…"菜单,出现下面的对话框,
输入log message后按确定即可。这时,控制台的输出信息如下,
表示命令执行成功。如果命令执行失败,可能是另外有人修改了这个文件并提交到了服务器。即服务器上的版本可能比你现有的文件还新,这时你有三种选择:
a. 将服务器上的文件和本地的文件合并后再提交
先在文件上点击菜单命令"update…", 在弹出的对话框上什么都不要选,点击确定按钮,执行后,控制台输出下面的信息:
合并后的文件前面有一个M标记。
b. 用本地的文件将服务器上的文件覆盖
在文件上点击菜单命令"commit…",在出来的对话框上切换到Commit options页,选择Force commit,如下图,
按确定,命令执行后,控制台输出下面的信息,
其中可以看到文件版本从1.2变到了1.3.
c. 用服务器上的文件将本地文件覆盖
在文件上点击菜单命令"update…",在出现的对话框中选择Get the clean copy,如下图,
按确定,命令执行后,控制台输出以下信息,
更新过的文件为绿色,前面标有U标记。同时,WinCvs会自动在此文件的当前目录备份更新前的文件,文件名前面会加上".#",后面会加上版本号。如上面的readme.txt文件会备份为".#readme.txt.1.4"。
7. Add文件
如果在本机目录中新建了文件,必须用Add命令将它添加到cvs服务器。
假设我们在demo目录中新建了一个newfile.txt目录,如下图,
这个文件的图标显示为问号形式,并且在status栏也显示为"NonCvs file",表示这个文件还没有纳入cvs管理。
要将此文件加入到Cvs,请先选择它(如有多个文件,可以多选),点击"Modify"菜单中的"Add selection",如果是二进制文件,点击"Add binary"菜单,命令执行后,控制台的输出信息如下,
返回代码为0表示命令执行成功。执行后文件前的图标变为红色,cvs就认为这是修改过的文件,你还必须用前面提到的Commit方法将文件提交到cvs服务器。
8. Remove文件
如果要将cvs中的文件删除,不能简单的将它从本机目录中删除,而必须借助Remove命令。不然的话,当你下次Checkout module时,在本机删除的文件又从服务器下载下来了。
假设我们现在要从cvs中删除newfile.txt文件。请先选择此文件(如有多个文件,可以多选),点击"Modify"菜单,再点击"Remove"菜单命令,这时控制台的输出信息如下,
这时此文件已被做了删除标记,文件前的图标变为红色。
如要真正的从cvs服务器上删除此文件,还必须再执行一次commit命令。
9.Remove空目录
在WinCvs中只提供了删除文件的功能,如要删除一个目录,必须先将这个目录中的文件用上面介绍的方法清空,然后再在WinCvs的树形菜单中选中你要删除的目录的上层目录,将光标移到控制台窗口中,输入以下命令:
cvs update -P
完成后再执行一次update命令,即完成删除。
10. cvs命令
除了用菜单命令外,你也可以在WinCvs的控制台中直接输入cvs的命令来执行。如要学习更多的cvs命令,可以在http://sourceforge.net/projects/cvsgui中找到相关的帮助。
更多文章,请访问:http://turbochen.go.nease.net/