WinCVS与CVSNT 使用简介一

来源:互联网 发布:宝宝学说话软件 编辑:程序博客网 时间:2024/04/30 02:25
       CVS(Concurrent Versions System)是一个基于TCP/IP协议的版本控制工具,多个开发人员可以通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。目前在Linux和Windows下都有不同版本。

工作模式:

         CVS服务器(文件版本库)

     /     |           …    

     (版 本 同 步)

   /       |              ……  

开发者1  开发者2   开发者3  开发者n


专业术语:

CVS 文档和WinCvs 中的术语也许和其他的源码库系统不同。为了避免混淆,我列举了最基本的术语简短列表。在翻阅文档的其它部分前,请首先熟悉这些术语。

☆ Repository(仓库): CVS服务器的根目录。模块(Module)的集合

☆ MODULE(模块):CVS服务器根目录下的第一级子目录。通常用于存放一个项目的所有文件

☆ Checkout(检出): 通常指将仓库中的一整个模块首次导出到本地。

☆ Import(导入):通常指通过提交整个目录结构并创建一个新的模块。

☆ Release(发行版本):整个产品的版本

☆ Revision(修订版):单个文件的版本

☆ Tag(标签):在一个开发的特定期对一个文件集给定的符号名

☆ Update(更新):从模块中下载其他人的修改过的文件,只更新本地的拷贝。

☆ Commit(提交)将自己修改过的文件提交到服务器的模块中

☆ Branch (分支):是一棵正常生长的代码树中的枝杈。

基本概念详细介绍:

CVS(Concurrent Versions System) 是基于TCP/IP协议的版本控制工具,也是Open source界最重要的开发工具之一。


Repository,module:
CVS服务器上,一个源代码仓库被称为一个repository(源代码仓库),一个server(服务器)上通常可以运行多个repository,每一个repository都是完全独立的,可以有不同的用户列表和访问规则。在一个repository之下,文件按照module组织,每一个module就相当于一个工程(Project)。

CVSROOT
CVS依靠运行在服务器上的一个服务程序提供TCP/IP的连接。为了访问一个CVS数据库,你必须知道你所使用的协议,服务器的地址,服务器提供的Repository的名称以及你的用户名和密码。有数种协议可供选择。Unix/Linux机器上的CVS通常使用pserver协议,这是一种不非常安全的协议,但是如果你有额外的安全要求,可以通过SSH进行增强。除此之外,NT机器还支持ntserver协议,它通过主机的NT用户表进行访问控制(但是这是在internet上不可用的方法)。kserver和gserver协议用的比较少,他们依据Kerboses提供额外的安全保护

你有必要知道CVSROOT这个参数。CVSROOT是一个用":"开始及分隔各个部分的字符串,它包含了协议、用户名、服务器地址和repository名称。对于用户来说,CVSROOT就像URL一样,是访问一个server的途径。一个典型的CVSROOT=:pserver:userid@192.168.0.6:/cvs。这里,pserver是协议名称,userid是用户id,192.168.0.6是主机ip,/cvs是repository的名字。NT主机的repository一般会采取d:/CVSROOT之类的格式。
另一个例子是:pserver:anonymous@jivesoftware.com:/cvs,这是jivesoftware公司提供的开放源代码java技术论坛的CVSROOT。在windows下使用命令行方式,这个参数可以通过一个环境变量使用。在windows 2000/XP系统中,你可以通过在'My computer'的properties中选择advanced,然后选择'Enviroment Variables'来输入这个环境变量。

Checkout,update
为了得到module下面的源代码,你只需要使用checkout指令。和Visual source safe不一样,checkout只是取得文件,而非锁文件。 如果你已经有了本地文件,为了和server保持同步,你需要进行update操作。update会自动把server上的新内容取到本机来,如果你本地文件进行过了改动,它会帮您做合并工作。
checkout 和 update既可以针对一个特定的文件,也可以针对一个目录或者整个module。


commit
如果你对本地代码做了任何修改,或者增加一个文件,删除一个文件,每当你需要把你的改变提交到server上的时候,你就需要做commit动作。假设两个人都在本地修改了同一个文件,那么他们就像在进行一个竞赛,如果你快,那么你赢了。后commit的人将被server拒绝,不得不合并你的修改再次提交。commit既可以针对一个特定的文件,也可以针对一个目录或者整个module。

revision
revision是指每一个文件的版本信息。当你第一次增加一个文件到repository的时候,它会有一个初始revision是1.1,以后每次提交,就会增加到1.2,1.3... 。在一个branch中的文件,有相对于这个branch的版本号。如果你对文件作了tag,那么你会看到revision变成1.1.1.1的形式。具体的含义我们在branch和tag的时候描述。

Branch

 一颗正常生长的代码树中的枝杈。开始的时候,任何一个module都有一个主枝被称为'HEAD'。 一个branch最终要么被合并到主干中去,要么被结束。branch通常用来debug,如果这个bug被fix了,修改bug的代码应该被合并到主枝上去。一个branch也可能经历多次与主枝的合并。来进行标示必要的信息。当您进行一次公开发布之前,您有必要对主枝标示"release 1.0"。这样您以后就可以随时回到这个版本。


配置说明
1. 安装版本:
   1.1、服务器端(CVSNT)

     1. 本文使用的是CVSNT-2.0.5,这是一个比较稳定的版本。
   2. 下载连接 1.2、客户端(WinCVS)

     1. 本文使用的是WinCVS-1.3b12. 2. 2. 安装CVSNT:
1. 下载CVSNT-2.0.4;使用administrator登陆到Server(192.168.0.6)机器上。
2. 双击自解压的exe文件,选择Full Install,其它按照默认方式安装;安装完毕后可以在服务控制器中发现多了2个服务:CVSNTt与CVSNT Locking Service
3. 发送Service Control Panel到桌面,形成快捷方式。
4. 安装程序会自动将CVS安装路径,设置到系统的Path环境变量当中,因此使用者可以在控制台(cmd)中任意位置执行cvs.exe,这一点对下面的配置很重要!
    3. 配置CVSNT服务器:

     1. 双击Service Control Panel快捷方式,在Service Status页面,确认2个服务正常和稳定运行。

     2. 选择Repository页面,点按Add按钮,选择已经准备好的F:KHRoot这个目录(自己新建这个目录),确认,OK,Yes,这时会在F:KHRoot下面建立CVSROOT目录,这是CVS默认的管理目录(默认模块)。如果报错,那是系统Path路径未设置正确。


      3. 选择Advanced页面,选择Use local users for pserver ...,在Temporary栏选择已经准备好的F:KHTemp,确认,OK。


      4. 点按【应用】按钮,确认,退出,OK。
4.CVSNT小结:
 1. 至此,CVSNT服务器端基本配置完毕,下面进行WinCVS的使用和管理。

 2. 由于CVS支持远程管理,也就是客户端与服务器集成的特性,因此,我们将添加用户、权限控制、模块维护等所有的管理工作都放到远端(WinCVS)进行管理,服务器端这时可以进入锁定状态了,下面的所有工作都交给远端的WinCVS来进行管理。
安装WinCVS:
1. 下载WinCVS 1.3b12,全部按照默认安装就可以了。
2. 启动WinCVS,开始使用。特别注意:以下的所有操作都是在 (192.168.0.2)这台机器上远程完成的,此时的Server(192.168.0.6)主机已经进入了锁定状态。

1. 配置WinCVS及使用
1. 准备工作目录:(在192.168.0.2机器上,自己建立这两个目录)
E:CVSClientAdmin (工作目录)
E:CVSTemp (WinCVS临时目录)

2. 第一次启动WinCVS时会自动弹出Preferences配置页面,也可以通过Admin=>Preference菜单进入;第一次使用时需要配置如下的3个页面:
General页面设置(普通参数设置):

a.设置"Authentication"(认证方式),选择"pserver"。
b.设置"Path"(cvs服务器上的仓库根目录)。
c.设置"Host address"( cvs服务器名)。
d.设置"User name"(用户名),输入个人的cvs帐号。
e.设置"CVSROOT"参数,这是cvs专用的参数格式,如下所示:
username@servername:path其中username是帐号,servername是服务器名,path是cvs服务器上的仓库根路径。

注:按照图示方式输入即可,需要注意的是Path部分的格式是Unix路径格式,它指的是CVSNT端设置的工作根目录;Host address:是服务器端的地址,当然也可以,用本地地址 。
CVS页面设置:

注:Home(本地文件目录)路径是设置密码等文件的存放位置,必须指定,否则在登陆时,WinCVS也要弹出设置框。这个Home路径需要Python.exe这个外挂程序才有效。这里选择已经准备好的路径:ECVSTemp

Globals页面设置:

a."Checkout read-only"选项是设置当文件从服务器上check out出来后是否要设成只读。

b. "prune(remove)empty directories"选项表示自动删掉空目录。

WinCVS页面设置:

注:此页面设置WinCVS的查看文件的缺省编辑器,通常使用UltraEdit。

3. 设置工作路径:可以点按图标 ,或View=>Browse Location=>Change…菜单进行设置,选择已经准备好的路径:E:CVSClientAdmin,确认,OK,这时此目录将出现在WinCVS的左边导航栏【Workspace】内

其他参考资料:http://www.360doc.com/showWeb/0/0/66157.aspx (重点讲述了管理员角色几其命令的使用)

 

 


 

 

 
原创粉丝点击