分享
 
 
 

CVS在Linux中的配置和使用

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

CVS在Linux中的配置和使用

第一部分 CVS服务器的配置

1、 CVS简述:

CVS是Concurrent Versions System的缩写,它是目前比较流行与优秀的版本管理与控制工具,它深受大多数开发人员与系统管理的喜爱,同时也是用来管理其它日常文档(如word工作文档之类)的一个强有力的工具。这一部分将对CVS服务器的安装、配置与使用方法进行简单、扼要的介绍,以帮助大家尽快的使用CVS来进行一些版本的管理与控制工作。

2、 CVS服务器的安装

默认情况下,CVS在Redhat Linux中已经安装,这一点可以通过在Linux命令行的情况下运行:

rpm –q cvs

如果出现CVS的版本信息就证明已经安装成功了。

CVS服务器安装包可以从网上的很多地方下载,也可以到CVS的官方网站进行下载。根据你所使用的系统,下载相应的版本,然后进行安装。因为我们的项目是在Redhat Linux下使用CVS服务器进行版本管理,所以本文将主要基于Redhat Linux进行介绍。首先下载CVS服务器的rpm包,当然也可以下载其它方式的包如源程序包,然后采用以下命令进行安装:

rpm -ivh cvs-1.11.1p1-7.rpm

3、 CVS服务器的配置

安装完之后的第一件事就是要配置CVS服务器的配置文件,使其能正常的工作。首先在/etc/services文件中添加cvspserver,使其成为Linux的一种服务也就是cvs服务器例程的入口,配置如下:

cvspserver 2401/tcp # cvs client/server operations

cvspserver 2401/udp # cvs client/server operations

如果文件中已经存在上面的两行文字,就不用添加了。

4、 配置xinetd,用xinetd来启动CVS验证服务器:

进入到/etc/xinetd.d/目录,然后编辑一个文本文件,名字一定要与/etc/services中的入口名字cvspserver一致,所以这里用cvspserver作为文件名,文件的内容如下所示:

service cvspserver

{

disable = no

flags = REUSE

socket_type = stream

wait = no

user = root

server = /usr/bin/cvs

server_args = -f --allow-root=/usr/cvsroot pserver

log_on_failure += USERID

}

编辑文件之后测试cvspserver服务是否配置成功。

执行

/etc/init.d/xinetd restart

重新启动服务,启动成功之后,执行下面的语句,验证服务是否启动正常:

telnet localhost 2401

如果出现如下字样:

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

输入hi,会继续输出如下字样

cvs [pserver aborted]: bad auth protocol start: hi

Connection closed by foreign host.

出现以上的现象表示CVS用户验证服务器已经配置成功。

如果出现如下字样,表示配置不成功,请重新检查以上的配置:

Trying 127.0.0.1...

telnet: connect to address 127.0.0.1: Connection refused

5、 配置CVS用户:

首先建立一个用户组cvs,可以使用groupadd或者addgroup命名,也可以直接编辑/etc/group文件添加这个组,然后添加一个用户cvsuser:

groupadd cvs

useradd cvsuser –g cvs

passwd cvsuser

设置新的密码。

在/usr目录下建立cvsroot目录(也可以在其它的目录下建,但是应该和cvspserver文件中的选项一致),然后修改/usr/cvsroot的属主及属性:

cd /usr

mkdir cvsroot

chown –R cvsuser:cvs cvsroot

chmod –R 771 cvsroot

6、 初始化CVS服务器

安装完CVS服务器之后的另一件重要的事情就是要初始化CVS服务器的根目录,以后创建的CVS项目都将建立在这个目录下,采用的命令如下:

cvs –d /usr/cvsroot init

如果没有任何提示,表示初始化成功。初始化成功之后,会在/usr/cvsroot目录中创建CVSROOT目录,目录中有如下文件:

-r--r--r-- 1 root root 493 Apr 5 20:19 checkoutlist

-r--r--r-- 1 root root 693 Apr 5 20:19 checkoutlist,v

-r--r--r-- 1 root root 760 Apr 5 20:19 commitinfo

-r--r--r-- 1 root root 960 Apr 5 20:19 commitinfo,v

-r--r--r-- 1 root root 527 Apr 5 20:19 config

-r--r--r-- 1 root root 727 Apr 5 20:19 config,v

-r--r--r-- 1 root root 753 Apr 5 20:19 cvswrappers

-r--r--r-- 1 root root 953 Apr 5 20:19 cvswrappers,v

-r--r--r-- 1 root root 1025 Apr 5 20:19 editinfo

-r--r--r-- 1 root root 1225 Apr 5 20:19 editinfo,v

drwxrwxr-x 2 root root 4096 Apr 5 20:19 Emptydir

-rw-rw-rw- 1 root root 0 Apr 5 20:19 history

-r--r--r-- 1 root root 1141 Apr 5 20:19 loginfo

-r--r--r-- 1 root root 1341 Apr 5 20:19 loginfo,v

-r--r--r-- 1 root root 1151 Apr 5 20:19 modules

-r--r--r-- 1 root root 1351 Apr 5 20:19 modules,v

-r--r--r-- 1 root root 564 Apr 5 20:19 notify

-r--r--r-- 1 root root 764 Apr 5 20:19 notify,v

-r--r--r-- 1 root root 649 Apr 5 20:19 rcsinfo

-r--r--r-- 1 root root 849 Apr 5 20:19 rcsinfo,v

-r--r--r-- 1 root root 879 Apr 5 20:19 taginfo

-r--r--r-- 1 root root 1079 Apr 5 20:19 taginfo,v

-rw-rw-rw- 1 root root 0 Apr 5 20:19 val-tags

-r--r--r-- 1 root root 1026 Apr 5 20:19 verifymsg

-r--r--r-- 1 root root 1226 Apr 5 20:19 verifymsg,v

这样目录/usr/cvsroot就成为CVS服务器的根目录,以后创建的目录都将默认的存放在这个目录下。

7、 登录cvs服务器(在Linux或其它Unix系统下进行登录的情况):

输入如下命令:

cvs -d :pserver:cvsuser@localhost:/usr/cvsroot login

提示输入密码,输入上面设置的密码,如果没有任何提示,就证明成功登录了

登录成功之后在当前用户的$HOME目录中生成.cvspass文件,可以利用vi对文件进行察看。

由于以“.”开头的文件在Linux中是隐藏的,所以可以利用如下命令进行察看:

ls –a

这个文件记载了用户的登录信息。执行注销命令可以删除该文件中的登录信息

cvs -d :pserver:cvsuser@localhost:/usr/cvsroot logout

下面对登录命令的语法进行说明:

其中,:pserver表示采用pserver方式进行用户登录认证,一般的CVS服务器都采用这种方式,当然也可以采用其它方式,具体参考相应的资料;

:cvsuser表示要登录的用户名,只要是cvs组的成员都可以,如:cvsuser;

@host表示要登录的服务器,可以是DNS名,也可以是IP地址,如:192.168.0.1;

:/usr/cvsroot表示CVS在服务器上的目录,也可以是其它目录(由第6中你所指定的用来做init初始化的目录决定);

提示:

a、也可以把export CVSROOT=:pserver:cvsuser@192.168.0.1:/usr/cvsroot这一句直接写在用户的初始化文件中(如:.bash_profile),这样用户每次登录时,只需输入:

cvs login

然后输入相应的口令就可以登录到cvs服务器上。

b、如果是本地登录,可以直接把export CVSROOT=/usr/cvsroot这一句写在用户的初始化文件如:/etc/profile中;然后执行如下命令使环境变量生效:

source /etc/profile

8、 向CVS添加新的项目模块

一般我们都已经有一个或多个项目了,这样我们可以用下面步骤生成一个新的CVS项目。将一个工程文件置于CVS中进行版本控制,在CVS 术语中称作导入(import)。从名字上就可以看出,在导入前需要为此作些准备工作。

输入操作的基本要求是有个"干净"的目录结构。"干净"的意思是不需要版本控制的文件都被移走了(如编译生成的文件,备份文件等等)。如果工程已经开始一段时间了,这就显得很重要。在目录中也许有些是不打算将其置于版本控制下的文件,但是又想将他们放在这里,这种情况下,你要在输入之前将它们移走,然后再移回来。

注意的是CVS 认为空目录是不存在的。如果想增加一个既不包含文件又不包含子目录的目录,需要在其下创建一个哑文件。建议你创建一个名为 README.txt 的文件,其内容为对目录的简要说明。

进入到已有项目的目录,比如叫 cvstest:

cd /home/cvsuser/cvstest

运行命令将项目文件导入到cvs仓库中:

cvs import -m "this is a cvstest project" cvstest tengtu start

说明:import 是cvs的命令之一,表示向cvs仓库输入项目文件.

-m参数后面的字串是描述文本,对项目进行描述,如果不加 -m 参数,那么cvs会自动运行一个编辑器(一般是vi,但是可以通过修改环境变量EDITOR来改成你喜欢用的编辑器)让你输入信息,cvstest 是项目名称(实际上是仓库名,在CVS服务器上会存储在以这个名字命名的仓库里)

tengtu是这个厂商标记.

start 是每次 import 标识文件的输入层次的标记。

9、 从cvs本地服务器上checkout相应的模块:

a、如果是在CVS服务器所在计算机上,可以直接采用如下命令:

cvs checkout cvstest

这样将把cvstest项目模块checkout到当前目录下。

b、如果是在远程运行Linux或其它Unix系统上,在第7中登录之后也可以用上边的命令把相应的项目模块checkout到当前目录下。

另外,如果是在windows端进行checkout,可以采用WinCVS,那么还要对WinCVS进行其它的一些配置,下一部分将具体介绍它的配置方法。

第二部分 WinCVS的配置与使用方法

1、 WinCVS简介:

WinCVS是CVS的一个客户端软件,它运行在Windows上,用来在Windows上登录CVS服务器,然后进行一些CVS相关的操作与管理。由于当前很多的企业内部都采用Linux/Unix做服务器,而用Windows做客户端,所以,WinCVS与CVS服务器配合使用将组成最强有力的版本控制与管理的系统之一。

2、 WinCVS的下载与安装

最新的WinCVS可以从http://sourceforge.net/project/showfiles.php?group_id=10072地址下载到,也可以在http://sourceforge.net/project 上下载到最新的或其它版本的WinCVS。 下载到相应的版本后根据向导进行安装,已经要使用CVS的用户,安装这个WinCVS应该没什么问题吧!

3、 配置WinCVS:

一般选项的设置,选择Admin->Preferences…,出现如下界面:

图一

全局选项的设置,在上一个界面上选择“Globals”:

Checkout read-only不要选上,否则,checkout出来的源代码将不允许用户进行。

4、 登录服务器:

选择Admin->login,将出现如下对话框要求用户输入登录口令

图二

输入口令后,选择“OK”按钮,如果CVS服务器与WinCVS的配置都没出错的话,将在CVS的状态栏中提示:

cvs -z9 -d :pserver:cvsuser@192.168.0.1:/usr/cvsroot login

Logging in to :pserver:cvsuser@192.168.0.1:2401/usr/cvsroot

***** CVS exited normally with code 0 *****

code 0表示正确的登录;而如果出错的话,将是code 1,那么要根据错误的提示进行相应的修改。

5、 从CVS服务器上check out相应的模块:

选择Create->Checkout Modeles,将出现如下对话框:

图三

6、 修改之后把文件提交到CVS服务器

一个文件如果修改存盘之后可以在WinCVS中显示是红色的,点击鼠标右键选择Commit Selection…就可以把修改之后的文件提交到CVS服务器上。

7、 向CVS服务器添加新文件

在本地添加文件后,要提交到服务端。先选中文件,然后点击“添加按钮”,添加文件后,再在右键菜单中选择提交命令“Commit Selection”即可。

结束语

以上是对CVS服务器和WinCVS客户端的简单介绍,由于笔者水平有限,难免有错误之出,希望各位及时更正,谢谢

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有