CVS的配置和使用
下面是搜集的资料 /////////////////// 本人用的是CVSNT 首先安装,如果是使用安装包的版本,很简单,一路NEXT;如果是使用直接解压的版本,解压缩后把cvsnt.cpl和setuid.dll复制到%WINROOT%\system32下,并在当前目录下执行以下命令注册CVSNT系统服务: 先说下CVSNT的用户验证方式,CVSNT的用户验证方式分两种:Windows系统用户与CVSNT用户共存的混合验证方式,及CVSNT用户单一验证方式,默认工作在混合验证方式下,当然使用单一验证方式对用户的管理肯定比较方便一点,因此下面的配置就是围绕该方式进行的。各个资源库所使用的验证方式及用户配置由其目录下CVSROOT里的配置文件决定,其中有几个比较重要的文件。 1、config文件 控制CVSNT的验证工作方式的就是config文件,注意该文件最前面的两行: #Set this to `no' if pserver shouldn't check system users/passwords 第二行就是我们要修改的内容,默认状态是被注释掉的,SystemAuth有两个值yes和no: yes:pserver将使用Windows系统用户和CVSNT用户来共同验证(若CVSNT用户未定义,则用Windows系统用户来进行验证),默认为yes,CVSNT用户在后面将要介绍的passwd文件中定义。 no:只使用CVSNT用户来进行验证。 该文件可以在客户端进行修改,因此我们可以将其checkout出来将第二行改为SystemAuth=no,并commit到CVSNT上就可以启用单一验证方式了,注意启用单一验证方式后原来的Windows系统用户将变为无效,因此要注意执行该步骤的时机。 2、 admin文件 该文件保存CVSNT管理员用户列表,内容很简单,形式如下: [空格]文件名 出错信息 其中文件名前的空格必须要有的,不然会出错。 3、passwd文件 服务器工作在CVSNT用户单一验证方式下的时候,这个文件定义了CVSNT的用户信息,这里面保存着用户名,用户密码,以及别名信息。默认状态下没有该文件,但是我们可以在CVSNT还工作在混合验证方式下时,用系统管理员登录,通过添加用户命令来让CVSNT自动建立一个passwd文件。 添加用户的命令的示例: cvs passwd –r administrator –a cvsadmin 之后系统提示输入密码,输入后服务器会新建一个passwd文件。 该文件的内容很简单,形式如下: cvsadmin:fqr1fS4gDghrt:administrator 以第一行为例:cvsadmin为用户名,fqr1fS4gDghrt为CVS使用UNIX标准加密函数对密码进行加密后的结果,administrator为该用户的别名,当使用混合验证方式时对应Windows系统用户名。 注意:这个文件是不能在客户端进行修改的,不能checkout出来。 4、group文件 该文件定义CVSNT中组信息,同组里的用户拥有一样的权限,对组权限的修改和对用户权限的修改一样。 group文件的内容为 administrators:cvsadmin kid mystique 可以看到该文件的内容也很简单,组名:用户名,多个用户名之间用空格隔开。 Group文件可以在客户端修改,不用修改checkoutlist这个文件,系统会自动使其生效。 作为组里面的特定成员可以赋给特定的权限。 了解了以上内容,下面我说一下我自己的配置步骤,我没有使用WinCVS进行操作,是直接使用命令行进行修改的,觉得这样思路比较清晰: 1、添加系统变量CVSROOT=E:/CVSNT/Repository,并把E:\CVSNT加入到系统Path路径。 2、进入命令提示符,因为此时为混合验证模式,可以不用不用登陆直接进行checkout。可以建立一个工作目录,在该目录下进行操作,我这里为E:/CVSNT/Works。 检出CVSROOT目录: 3、添加CVSNT系统管理员用户,此时会提示设置用户密码: cvs passwd –r administrator –a cvsadmin 4、修改CVSROOT访问权限: cd CVSROOT 5、修改config文件,按上面的方法修改后commit: cvs ci 6、此时单一验证方式已经启用了,也就是只能使用刚才添加的cvsadmin进行登录,此时可以把CVSNT控制面板上的Use local users for pserver authentication instead of domain users关掉。登录前还要改一下系统变量CVSROOT,关闭命令提示符窗口,修改CVSROOT为: :pserver:cvsadmin@192.168.0.1:4021/CVSNT/Repository 这里的192.168.0.1是服务器的IP地址,/CVSNT/Repository就是前面设置Repository时设置的Name,可以改为你机器上的配置。修改系统变量之后以下的步骤在任何与服务器相连的机器上进行,当然该机器上应该有CVSNT的可执行文件。 7、如果为了避免出现错误,先重启一下CVSNT服务器,再启动命令提示符来到E:/CVSNT/Works,因为已经启用单一验证方式,先要进行登录。 cvs login [空格]admin error message 添加用户: cvs passwd -a username,使用时不必理会需要添加别名的提示。 修改用户权限:cvs chacl username:r|w|c|n,(r:Read w:write c:control n:none) 要添加组管理,只需同添加admin步骤一样,按照格式要求新建group文件即可。 如果还有不清楚的可以看看自带的文档,说得还是比较详细的。 ok,差不多就是这些,有错还请各位帮忙指出,还在学习ING |
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CvsNT设置
1.安装CvsNT,并重新启动
2.打开Service Control Panel
3.设置Advabced->Temporary为任意一个空目录
钩选上所有选项
设置Lock地址为Localhost ,其他选项不要改动
4.添加Repositories
点击Add按钮,选择一个准备好的空目录如Location= C:/cvsAdmin ;Name =/cvsAdmin
系统会提示是否初始化,点确定
5.如果CvsService或CvsLock服务没有启动,请先启动他们
测试服务器
1.开始菜单-run-cmd,进入命令行环境
2.输入Cvs ,会出现相应的帮助,如果没出现,说明环境变量中的Path值没有设置,你可以手动设置到你的Cvs.exe文件所在的目录
3.set cvsroot=:sspi:localhost:/cvsAdmin
4.输入cvs version ,显示当前CvsNt版本号
Client: Concurrent Versions System (CVSNT)
Server: Concurrent Versions System (CVS) 1.11.2 (client/server)
5.cvs login
输入你的Windows登陆密码
6.cvs ls
显示所以module,至少会有一个CVSROOT
7.如果以上步骤都没有错误,说明CVSNT配置成功
添加用户
1.使用cvs passwd命令可以添加用户和修改密码
2.可以修改 C:/cvsAdmin/cvsroot目录下的passwd文件,如果没有的话,可以自己建一个
添加 test:,这样就添加了一个密码为空的test用户了。
3.添加用户后可以使用:pserver:test@localhost:/cvsAdmin登录了
tortoisecvs设置
1.安装tortoisecvs选择完全安装
2.重新启动计算机
3.新建一个文件夹如(c:\test),右击,创建新模块,使用pserver协议输入机器IP地址和用户名(不要输入端口号,我可深受其害),
Repositories folder为/cvsAdmin
如果不出意外的话,一个新的模块test就建立了
4.测试Checkout功能:右键菜单-〉cvs->checkout 选择一个模块名test,如果不知道的话,可以使用获取列表的功能
5.ok,提示cvs操作成功,但是我们什么都没看到,自己查看输出信息,其中包含了cannot open CVS/Entries for reading: No such file or directory,什么意思呢,原来cvs中的模块为空时,它无法取得任何实体,就什么都不生成了,解决的方法很简单,就是在新建的模块中添加一个文件,并提交,再测试一下,果然,cvsAdmin自动为我们生成了。哎,这一点,可把我给害苦了。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CVSNT是服务器管理工具,再在客户端下个WINCVS就可以(关于wincvs使用,可以在网上找下,因为eclipse已经很好地集成了cvs)就可以一起协同工作了。这二天我从下载CVSNT到用eclipse新建项目,共享项目,不同的客户端导入项目都在公司局域网内的不同机子上测试通过。记录如下:
首先从http://www.cvsnt.org处下得你想要的cvsnt版本,我下的是
开始配置cvsnt:
a 查看运行状态:
在about面板有个cvsnt 和 cvsnt lock二个选项,这儿可以对其进行start,stop服务
b 添加资源
在repository config面板中可以添加删除资源,这儿主要设定了repository 的name and root值。如我在这儿将name设置为\mycvs,root为e:\mycvs。创建后会在对应的目录下生成cvsroot文件夹及cvs相关配置文件。 OK,确定。这个地方可以要重启服务才能生效
c 兼容:
在conpatibility option 面板上选择兼容的版本,注意一定要勾上respond as cvs
好了,现在服务器上的资源路径已经设定好了。
通过IDE共享一个工程
打开eclipse新建一个项目,然后在项目上右击/team/share project (小组/共享项目),在弹出的share project whith cvs reposity对话框中选择一个cvs路径(第一次当然是新建了),在host中填入CVSNT的主机地址如:192.168.12.17,在repository path中填入cvsnt中的name值如:/mycvs。user中写cvsnt所分配的用户名,password中写入密码(下面将会讲些cvs中如何管理用户)。在connection type中一般选择pserver连接类型。然后就是记住密码什么的... :-)。OK ,NEXT提示一路完成!
在客户端从cvs上导入共享工程:
在客户端的eclipse中打开cvs视图,根据CVSNT的路径及其给你所分配的用户相关信息新建一个CVS的资源路径。ok,开始引入共享工程了:
可以直接从cvs中check out出来,也可以从new/project/cvs/projects from cvs。选中你刚刚把建立cvsnt资源路径,你可以在use an existing module中看到所有的共享项目了。然后选择一个你想导入的项目check out出来到本机....
全部完成^_^,本来想剪几个图上来的,有些麻烦,太不方便了。不过过程比较简单,很快就可以搞定。客户端将cvsnt上的工程检出是比较简单的。主要是在cvsnt上的相关配置。我在网上找了些资料,完成了如添加不同的用户。介绍有个cvsnt的GUI工具可以直接图形化操作。看介绍很easy ,下载URL:http://www.kdeopen.com(偶一直打不开,郁闷,希望各位运气比我好) 。我只好在控制台下添加删除用户了。
cvsnt用户管理
在用户管理中以下是cvs的一些命令参数
Usage: cvs passwd [-a] [-x] [-X] [-r real_user] [-R] [-D domain] [username]
-a Add user
-x Disable user
-X Delete user
-r Alias username to real system user
-R Remove alias to real system user
-D Use domain password
服务器工作在CVSNT用户单一验证方式下的时候,文件passwd定义了CVSNT的用户信息,这里面保存着用户名,用户密码,以及别名信息。默认状态下 没有该文件,但是我们可以在CVSNT还工作在混合验证方式下时,用系统管理员登录,通过添加用户命令来让CVSNT自动建立一个passwd文件。
登录:login
cvs -d :pserver:administrator@127.0.0.1:/mycvs login
添加用户
cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -a zyx
之后系统提示输入密码,输入后服务器会新建一个passwd文件。该文件的内容很简单,形式如下:
zyx:YT2p2NmdmUlEg:
以第一行为例:zyx为用户名,YT2p2NmdmUlEg为CVS使用UNIX标准加密函数对密码进行加密后的结果。
若想以混合验证的方式验证得对应一个window的系统用户名(zyinxin),这时就用参数-r来指定,如:
cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -r zyinxin -a zyx
这时生成文件内容如下:
zyx:YT2p2NmdmUlEg:zyinxin
zyinxin为该用户的别名(它是参考系统用户),
注意:这个文件是不能在客户端进行修改的,不能checkout出来。
添加完成后你可以通过login来测试用户zyx是否创建成功
删除用户:
cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -x zyx
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
标题:CVSNT在Linux下面的安装和配置
CVSNT在Linux下面的安装和配置
CVSNT是一个非常不错的CVS软件,通常是在Windows平台下使用,但Linux,Soliras等平台下也可以使用,并且有完全可替找Linux平台下的cvs软件,同时,还有些特殊的功能.
本文主要讲述如何在Linux下安装CVSNT
CVSNT的rpm的安装包,您可以在这里下载:
http://www.march-hare.com/cvspro/
源码可在这里下载:
http://www.cvsnt.org/wiki/Download
另外,官方的Linux安装文档,可参考:
http://www.cvsnt.org/wiki/InstallationLinux
(ipaddr原创,转载请注明)
以下是在RedHat上源码安装和配置CVSNT的过程
首先,需要删除当前系统中的cvs
rpm -e cvs
1.从网站下载源码并解压
2
../configure
make
make install
3
在源码目录有几个程序可以使用,拷到对应目录即可:
cp redhat/cvslockd /etc/init.d/cvslockd
cp redhat/cvsnt-xinetd /etc/xinetd.d/cvsnt
由于源码安装在/usr/local/bin下面,所以,需要修改以上两个文件中,将所有/usr/bin/cvsnt改成/usr/local/bin/cvsnt,
将/usr/bin/cvslockd改为/usr/local/bin/cvslockd
或者用ln -s /usr/local/bin/cvsnt /usr/bin/cvsnt创建软链接.
cp redhat/cvsnt-pam /etc/pam.d/cvsnt
(注意,cvsnt-pam一定要改成cvsnt)
4.
设置自启动
chkconfig --add cvslockd
chkconfig cvslockd on
ntsysv
将xinetd,cvsnt设置为自启动
5.
启动cvslockd
/etc/init.d/cvslockd start
6.
mkdir /var/cvs/
mkdir /var/cvs/iManage
cvs -d :local:/var/cvs/iManage init
(需要先启动cvslockd)
修改/etc/cvsnt/PServer,将Repository0Name=/var/cvs/iManage改为/iManage,另外,可参考PServer.example增加一些配置.
7.
增加一个cvs组,增加多个用户,并设置用户属于cvs组
groupadd cvs
useradd cvs -g cvs
useradd tomzhou -g cvs
useradd readonly -g cvs
useradd ipaddr -g cvs
passwd & chsh cvs users
8.
chown -R cvs.cvs /var/cvs
chmod -R g+w /var/cvs
重启后,用户即可使用tomzhou,ipaddr,readonly之类的用户登录系统.
9.
如果使用虚拟用户的话,需要如下设置:
groupadd cvs
useradd cvs -g cvs
useradd cvsadmin -g cvs
passwd cvsadmin
chown -R cvs.cvs /var/cvs
chmod -R g+w /var/cvs
将cvsadmin加入到/var/cvs/iManage/CVSROOT/admin中(这个文件默认没有)
(在admin文件里面的用户,被当做这个Repository的管理员)
export CVSROOT=:pserver:cvsadmin@localhost:/iManage
cvs login
cvs co CVSROOT
cvs passwd -r cvs -a vitualUserOne
cvs passwd -r cvs -a VirualUserTwo
cvs passwd -r cvs -a cvsadmin
cd CVSROOT
将config中的UseSystemUser=no
提交修改到CVS
cvs ci
之后,只能用虚拟用户登录了,不可以用系统用户登录.虚拟用户使用系统用户cvs存取文件系统.
其它配置请参考CVSNT文档.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
由于项目马上需要开始进入编码阶段了,现在项目组有15个人,如果不用代码版本控制的话,后果不堪设想,于是边准备使用CVS来实现代码的版本控制.
其实CVS最佳的搭档是Linux或Unix操作系统,但是由于公司中暂时没有Linux和Unix操作系统所以只好使用Windows系统来支持下CVS了...呵呵...
在Windows下搭建CVS版本库需要使用CVSNT软件,这个需要到www.cvsnt.org网站上去获取
然后需要下载一个WINCVS软件,这是一个CVS的客户段软件,这里我们主要用它来实现控制台的命令操作.
CVSNT安装后,进入其设置界面,在其Compatibility Options选项,将其CVSNT Clients的所有选项全部选中如图:
设置完后,还需要在Server Settings选项卡中,对服务器进相应的参数设置,
如:
Run as 设置为当前电脑名称,以及操作的用户
Default 设置的是CVS代码库所在的电脑,默认是在哪台电脑上,因为CVSNT可以将其他服务器的目录也设置为CVS代码库
然后在起Repository configuration中,选择一个当前系统中的目录,做为CVS代码服务目录如:
配置好后,CVSNT这块的处理就大功告成了。
然后是WINCVS,注意WINCVS需要与python环境配合,所有还需要安装一个python环境
安装后打开程序,然后进入其界面
选择”admin”菜单的preferences选项,
在General选项中
authenticatio 选项 ----- 设置为paserver ,这个选项代表为远程连接
path选项 ------ 设置为该代码在CVS服务器上的路径(及为CVSNT中代码库的Root值)
host address ------- 为服务器的连接地址
User name ------ 为CVS的登录用户名
然后在CVS选项卡上
将HOME路径设置为python的安装路径
而下方注意,需要将cvs.exe设置到CVSNT目录下的CVS.exe文件(这是为了避免由于WinCVS和CVSNT之间出现的版本冲突)
所有设置好后,点击”确定”即可。
再选择admin菜单下的login进行登陆。
输入密码后,即可。
默认情况下,起先我们使用的是windows的登陆用户进行CVS控制的
进去后,首先要将CVSNT上的一个代码库,导出到本机上的一个目录,并且需要将Wincvs的当前控制目录设置到那去
然后可以通过
输入cvs passwd –a username 命令添加一个用户
并通过cvs切换到代码库的不同目录下,对不同的目录通过cvs chacl –R –u username –a Read这样类似的命令进行用户的权限设置。这样就可以使得不同的用户有不同的权限操作CVS了。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CVSNT
CVSNT的配置都显得不容易,到了CVSNT2.0.58d这个版本更加麻烦,其原因产品的文档写得不是很全。但是经过试用,我感觉这个版本运行还是很稳定的,比前几个版本都要强些。因此,我将这个软件的配置方法作一个详细的介绍,让想安装这个版本的仁不会感到太困难。
我的环境是这样的,服务器用windows 2003 server,客户端不一定,但是用的是。
一、 安装CVSNT2.0.58d
二、 安装tortoiseCVS 1.6.14
三、 配置CVSNT的Repository
打开Service control panel,确定Service status中两个服务运行正常。然后选择Repositories标签,添加repository并初始化。
四、 配置用户验证
a) 用administrator用户取出CVSROOT目录;
b) 在CMD中进入取出的CVSROOT目录;
c) 用cvs passwd –r administrator –a zhoufg命令建用户并输入用户口令,这里使用administrator用户为别名,可以使用其它系统中的用户名建用户,但由于这些用户可能不会被CVSNT使用,因为这些用户没有权限在默认的临时文件夹中写临时文件,所以客户端不能正常工作。如果增加这个用户的权限,却带来安全的隐患,因此,我主张就用administrator用户作别名;
d) 在取出的CVSROOT目录中修改checkoutlist文件,加入一行admin (注意前后均要有空格,否则可能会出错),以便CVS服务器能自动通过新建的文件知道管理员帐号;
e) 在取出的CVSROOT目录中修改config文件的SystemAuth=no,并去掉前面的注释符号#,在提交之前要确认一下你上面的修改是否正确,如果提交了这个文件,CVSNT验证模式就开始生效了;
f) 添加和提交CVSROOT中的内容,CVSNT验证模式就开始生效了;
g) 在取出的CVSROOT目录中建一个文本文件:admin,在这个文件中填上Repository的管理员用户,如:zhoufg;
五、 配置权限控制
a) 在Repositories目录中的CVSROOT文件夹中创建一个名为“.owner”的文本文件,在文件里添加一行,内容为这个文件的属有者,CVSROOT目录一般是管理员。如:zhoufg;
b) 在CMD中进入取出的CVSROOT,输入cvs chown zhoufg命令创建文件夹的属有者。这条命令执行后,刚才建的那个“.owner”文件消失,但是在这个目录中的下一层目录—“CVS”中的“fileattr.xml”已经写入了这个目录的属有者。
c) 用“cvs chacl –a noread,nocreate,nowrite,nocontrol”命令给文件夹设定缺省不可访问权限;
d) 用“cvs chacl –a read,create,write,control –u zhoufg”命令设定文件夹属有者的访问权限;
e) 用“cvs chacl –a read,create,write –u user
六、 创建新模块
a) 在客户端上,鼠标右击你要添加的目录,选择“添加新模”命令,设定你的用户名、验证方法、服务器等参数,确定就成了;
b) 在客户端的CMD中进行刚才添加新模块的目录中,用第五部分的c、d、e等方法设定目录的访问权根
///////////////////////////////////////////////////////////////////////////////////
CVS是Concurrent Versions System(并发版本系统)的简称,这是一种主流的开源版本控制系统,利用它我们可以跟踪大量文件的所有更改情况,是在一个开发团队中实现安全共享代码及协同工作的最理想方式之一;除了CVS,还存在许多类似的版本控制系统,如微软的VSS,但应用最广泛、功能最完善的仍属CVS,尤其是在开源社区里,大多数开源软件包括很多BSD系统都是通过利用CVS技术由身处世界各地的优秀程序作者所编写和维护的;CVS的功能虽然对于其它版本控制系统来说处于领先地位,但其相对繁琐的配置仍旧令许多程序员颇有微辞,特别是大多数情况下CVS服务端环境都被配置在Class UNIX系统下,我们针对这种情况,为大家介绍一种可以应用在Windows服务器上的CVS服务端程序 – cvsnt,并结合最受欢迎的Java开发环境JBuilder来介绍其基本环境的配置,当然,在配置好cvsnt之后,大家也可以利用其它CVS客户端进行连接,例如wincvs;JBuilder从版本3开始尝试集成CVS功能,到最新的X版本,已经发展到集成了对5种版本控制系统的支持,但我们仍然推荐使用CVS。
一.cvsnt配置
1.到www.cvsnt.org下载cvsnt最新版(我下的是
2.安装cvsnt:cvsnt通常使用Windows系统的用户名做为验证,可以在用户管理器中维护一个专门给CVS使用的用户名,如cvs;另外,需要打开cvsnt的Service control panel程序,在Advanced选项页中选中Use local users for pserver authentication instead of domain users复选框,随后在Services Status选项页重启CVS的两个服务。
3.创建CVS代码仓库(Repository)。方法如下:
a)在cvsnt的Service control panel程序中的Repositories选项页中选中Repository Prefix复选框
b)点击浏览钮选择一个空目录作为你要创建代码仓库的根目录,这里选择的是D:/Project
c)点击Repositories下面的Add按钮,在弹出的窗口的路径后面输入或选择到D:/Project,在Valid Repository Roots列表就会多出一项代表代码仓库根目录的“/”;您可以继续点击增加来维护其中的子目录,如我们通过在增加对话框里输入D:/Project/helloworld来增加一个用于存放helloworld项目文件的代码仓库子目录。
二.配置JBuilderX
1.启动JBuilderX,在Team -> Select project VCS里选择CVS作为版本控制器。
2.打开Team -> Create Local Repository,选择本地的代码仓库位置。
3.打开Team -> Place Project into CVS,通常使用的连接类型是Pserver,依次填入服务器的名称(IP地址也可)、我们在Windows用户管理器中创建的用户名、远程代码仓库的路径(我们刚才在cvsnt中增加的/helloworld)等,点击Next进入下一对话框,填写一些关于这个CVS代码仓库的描述,再次点击Next,开始选择上传到CVS服务器中的文件,大家可以将不想上传的文件的复选框去掉,通常我们主要将源代码上传到CVS服务器上,一些频繁变动的如Class文件是不上传到CVS服务器中的;点击Finish进入下一个对话框,JbuilderX会开始尝试利用我们填写的CVS服务端信息连接CVS服务器,在弹出的对话框会滚动出现很多信息,当最后一行中显示Success字样时,表示和服务器通讯正常,并且所有的本地文件被上传到CVS服务器中。
至此,我们已经配置了一个基本的CVS环境,您可以开始享用其强大的功能了
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////