`
noknower
  • 浏览: 120458 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CVS搭建

    博客分类:
  • JAVA
阅读更多
最近想在家里自己做个版本控制:
1、首先下载:cvsnt
本人用的是CVSNT 2.0.51c,用最新的版本在Eclipse中死活不能列出服务器里内容,换了这个版本就好了,现在也不知道怎么回事。


首先安装,如果是使用安装包的版本,很简单,一路NEXT;如果是使用直接解压的版本,解压缩后把cvsnt.cpl和setuid.dll复制到%WINROOT%\system32下,并在当前目录下执行以下命令注册CVSNT系统服务:

cvsservice -i
cvslock -i

完成后可以在控制面版里看到CVS for NT的图标,在里面先启动CVS Service和CVS Lock Service,注意如果使用的是解压的版本,还要在CVSNT目录下运行一下genkey生成SSL的密钥:

genkey.exe cvsnt-default.pem

并在SSL settings中选择一下刚刚生成的密钥文件,这个好像没有SSL登陆就没用,假设一下,没用过。
如图:

设置Repository,就是CVSNT资源库的位置,切换到Repositories选项卡,Add添加CVSNT资源库的位置,此处Location选为E:/CVSNT/Repository,Name是访问CVSNT服务器时使用的路径名,按默认即可,本人是/CVSNT/Repository,如果是新建的目录,会提示你是否初始化Repository,同意即可。如图:

切换到Advanced,先在Use local users for pserver authentication instead of domain users和Pretend to be a Unix CVS version钩上,这是让CVSNT使用本地账户作为pserver认证方式以及让CVSNT服务器模拟为Unix CVS服务器,如图:

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


第二行就是我们要修改的内容,默认状态是被注释掉的,SystemAuth有两个值yes和no:


yes:pserver将使用Windows系统用户和CVSNT用户来共同验证(若CVSNT用户未定义,则用Windows系统用户来进行验证),默认为yes,CVSNT用户在后面将要介绍的passwd文件中定义。


no:只使用CVSNT用户来进行验证。


该文件可以在客户端进行修改,因此我们可以将其checkout出来将第二行改为SystemAuth=no,并commit到CVSNT上就可以启用单一验证方式了,注意启用单一验证方式后原来的Windows系统用户将变为无效,因此要注意执行该步骤的时机。


2、 admin文件


该文件保存CVSNT管理员用户列表,内容很简单,形式如下:
User1
User2
User3
每一行定义一个管理员用户,默认时没有该文件,但你可以在客户端自己添加并add上去,再commit到CVSNT上,但是光有这个文件还是不会生效的,还要将其添加到checklist文件中,使CVSNT能够读取该文件的内容,在checklist中添加文件列表的格式为:


[空格]文件名 出错信息


其中文件名前的空格必须要有的,不然会出错。
我们可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。


3、passwd文件


服务器工作在CVSNT用户单一验证方式下的时候,这个文件定义了CVSNT的用户信息,这里面保存着用户名,用户密码,以及别名信息。默认状态下没有该文件,但是我们可以在CVSNT还工作在混合验证方式下时,用系统管理员登录,通过添加用户命令来让CVSNT自动建立一个passwd文件。


添加用户的命令的示例:


cvs passwd –r administrator –a cvsadmin


之后系统提示输入密码,输入后服务器会新建一个passwd文件。


该文件的内容很简单,形式如下:


cvsadmin:fqr1fS4gDghrt:administrator
kid:aTXRfS31Bm6JA
mystique:Yna4QcXz9dEqd


以第一行为例:cvsadmin为用户名,fqr1fS4gDghrt为CVS使用UNIX标准加密函数对密码进行加密后的结果,administrator为该用户的别名,当使用混合验证方式时对应Windows系统用户名。


注意:这个文件是不能在客户端进行修改的,不能checkout出来。


4、group文件


该文件定义CVSNT中组信息,同组里的用户拥有一样的权限,对组权限的修改和对用户权限的修改一样。


group文件的内容为


administrators:cvsadmin kid mystique
users:User1 User2 User3


可以看到该文件的内容也很简单,组名:用户名,多个用户名之间用空格隔开。


Group文件可以在客户端修改,不用修改checkoutlist这个文件,系统会自动使其生效。


作为组里面的特定成员可以赋给特定的权限。


了解了以上内容,下面我说一下我自己的配置步骤,我没有使用WinCVS进行操作,是直接使用命令行进行修改的,觉得这样思路比较清晰:


1、添加系统变量CVSROOT=E:/CVSNT/Repository,并把E:\CVSNT加入到系统Path路径。


2、进入命令提示符,因为此时为混合验证模式,可以不用不用登陆直接进行checkout。可以建立一个工作目录,在该目录下进行操作,我这里为E:/CVSNT/Works。


检出CVSROOT目录:

cvs co CVSROOT


3、添加CVSNT系统管理员用户,此时会提示设置用户密码:


cvs passwd –r administrator –a cvsadmin


4、修改CVSROOT访问权限:


cd CVSROOT
cvs chown cvsadmin   //更改所有者为cvsadmin
cvs chacl default:n   //默认权限为n
cvs chacl cvsadmin:rwc  //添加cvsadmin


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

输入密码,此时就是以cvsadmin登录了。

8、添加admin文件,首先将CVSROOT检出,在CVSROOT下新建admin文件,内容为

cvsadmin

执行命令:

cvs add admin
cvs ci

9、修改checklist文件,在该文件末尾添加一行:


[空格]admin  error message

注意:admin前的空格不能少。

执行命令:

cvs ci

经过以上步骤,可以说用户配置已经基本完成了,CVSNT可以很好的工作在单一验证方式下。进一步的管理可使用以下命令:


添加用户: cvs passwd -a username,使用时不必理会需要添加别名的提示。

第三步:配置WinCVS来管理CVS服务
   (事实上“WinCVS”和“CVSNT”不必要装在同一台机器上。)
建立“E:\CVSClient”目录作为WinCVS在客户端的管理目录。该目录下建立两个目录”admin”和”temp”。
         菜单“admin”à”Preferences”打开配置窗体,在“CVS”标签页设置“HOME”:“E:\CVSClient\temp”。
在WinCVS页面设置一些外置工具,比如默认的编辑器设为“Ultra Edit”,比较工具设为“Araxis Merge”,都为可选设置。

第四步:从WinCVS连接CVSNT
       菜单“admin”à“Login”出现登陆对话框,选择下面的CVSROOT,并从点击后面的按钮,弹出如下所示窗体,按照要求进行设置:
      
       Protocol选择pserver。Repository输入CVSNT设置中下面对话框对应Name的内容:

选中Username点击“Edit”输入“Administrator”,同理password项输入administrator的密码,hostname输入CVSNT所在的机器IP地址,如果CVSNT改过端口,还必须设置port,然后点击“OK”关闭登陆设置,生成的字符串是:
“:pserver;username=administrator;password=1234;hostname=127.0.0.1:\CVS\CVSServer\CVSRoot”。最后点击确定登录CVSNT。
如果在系统的输出打印:
***** CVS exited normally with code 0 *****
说明登陆成功,否则登陆失败。

第五步:为CVS添加用户
       事实上是给操作系统添加用户,凡是系统用户都能登陆CVSNT。这里假设添加了两个用户“mingming”和“lili”。
        
         拿两个用户在WinCVS上登陆CVS,如果一切顺利的话两个用户是可以登录的。
         默认情况,任何用户都具有对CVS服务器操作的任何权限,包括“创建(c)”,“读(r)”和“写(w)”。

第六步:为根目录设置权限
       用Administrator登录WinCVS。菜单“view”à“Browse Location”à“change”,设置为“E:\CVSClient\admin”。这是WinCVS的左面板如下图:
        
         右键点击“admin”目录,选择“check out module”,弹出对话框,如下图所示:
      
Module Name那里设置CVSROOT。CVSROOT选项那里的设置方式与登录时的设置方法一致。最后点击确定,把服务器上的根目录check out到客户端。
         给CVSRoot设置权限,其他用户设置权限为“没有任何权限(n)”,给administrator设置“任何权限(crw)”,这时需要记住几条命令。选中“CVSRoot”目录,在输出窗口里执行命令,如下图所示,输入“cvs chacl default:r”,然后回车。

       以上命令意思是: 设置默认的访问权限是: 任何用户对CVSROOT只有只读权限。
         同样运行下列命令:
         给administrator设置任何权限: cvs chacl administrator:rcw
         把CVSROOT的所有者设为administrator:   cvs chown administrator
         查看CVSROOT的权限情况:cvs lsacl
         结果如下图所示:
Directory: .
Owner: administrator
  default:r
  administrator:rcw
最后右击CVSROOT,commit整个目录。

第七步:建立项目,为不同的用户开不同的权限
菜单“view”à“browse location”à“change”,把工作目录转到“E:\CVSClient\temp”,建立两个目录,ProjectA和ProjectB,分别在两个目录下建立A.txt和B.txt。刷新左面的工作目录“temp”,看到上述两个目录。
右击任何一个目录,选择“import module”,把目录上传到CVS服务器。同理上传另一个目录。最后删除“E:\CVSClient\temp”两个目录(一定要删除)。接着把上述ProjectA和ProjectB目录checkout到“E:\CVSClient\temp”。
设置mingming用户对ProjectA目录有“一切全限”,而lili对ProjectA没有任何权限。其他用户对ProjectA没有任何权限。
Cvs chacl default:n
Cvs chacl mingming:crw
Cvs chacl lili:n

设置mingming用户和lili用户都具有“一切权限”,其他用户具有只读权限。
Cvs chacl default:r
Cvs chacl mingming:crw
Cvs chacl lili:crw


修改用户权限:cvs chacl username:r|w|c|n,(r:Read w:write c:control n:none)


要添加组管理,只需同添加admin步骤一样,按照格式要求新建group文件即可。


如果还有不清楚的可以看看自带的文档,说得还是比较详细的。
分享到:
评论

相关推荐

    Windows下关于cvs搭建

    ### Windows下关于CVS搭建详解 #### 一、前言 随着版本控制系统的发展,现代软件开发团队越来越多地采用Git或SVN等工具进行代码管理。然而,在早期的软件开发过程中,CVS(Concurrent Versions System)曾是主流的...

    cvs搭建指南 for xp

    【Cvs 搭建指南 for XP】 Cvs(Concurrent Versions System)是一种版本控制系统,用于管理源代码和其他文档的版本。在Windows XP环境下搭建Cvs,你需要安装两个主要组件:服务器端的cvsnt和客户端的TortoiseCVS。...

    cvs搭建过程

    首先,我们来看"**cvs搭建过程**"。这个过程主要包括以下几个步骤: 1. **下载和安装CVS服务端** 从提供的信息中,我们可以看到一个名为`cvsnt_setup.exe`的文件,这很可能是CVSNT服务端的安装程序。CVSNT是CVS的...

    cvs 服务器环境搭建

    本文将详细介绍如何搭建一个CVS服务器环境,并涉及权限控制的设置。 首先,要搭建CVS服务器,你需要下载CVS服务器软件。在这里我们推荐使用cvsnt,它是一个对原始CVS进行了增强的版本,支持Windows和Unix平台。你...

    cvs学习资料,CVS服务器搭建与配置

    本资料包主要围绕CVS服务器的搭建与配置展开,旨在帮助用户理解并掌握CVSNT和Wincvs在Windows环境下的应用。 一、CVS基本概念 CVS是一个开源的版本控制系统,它跟踪文件的修改历史,允许团队成员同时编辑同一份代码...

    CVS服务器的搭建与配置

    【CVS服务器的搭建与配置】是一篇详细指导如何建立和配置CVS(Concurrent Versions System)服务器的文章,旨在帮助用户实现版本控制系统的部署。CVS是一个开源的、基于网络的版本控制系统,允许多个人协作开发同一...

    win7下CVS环境的搭建

    在Windows 7环境下搭建CVS(Concurrent Versions System)服务器是一项必要的任务,特别是对于需要协作开发和版本控制的项目。CVS是一种广泛使用的源代码版本控制系统,它允许多个开发者同时编辑同一份代码,并且...

    CVS环境搭建方案之详细介绍

    【CVS环境搭建方案详解】 CVS(Concurrent Versions System)是一种开源的版本控制系统,用于管理软件项目的源代码和其他文件的版本。随着软件行业的不断发展,多个人协同开发一个项目变得非常常见,CVS就提供了...

    搭建CVS服务器

    ### 搭建CVS服务器知识点详解 #### 一、CVS简介 CVS(Concurrent Versions System)是一种源代码版本控制系统,它被广泛应用于软件开发过程中,用于管理项目的源代码版本控制。CVS能够帮助开发者们跟踪源代码的变化...

    CVS手册(搭建/配置/权限)

    #### 三、搭建与配置CVS ##### 搭建CVS服务端 1. **安装CVS服务端软件**: - 在Linux环境下可以通过包管理器如`apt-get`或`yum`安装CVS。 - 在Windows环境下可通过第三方软件如`Cygwin`安装CVS。 2. **初始化...

    CVS服务器搭建及简单使用实例

    本文将介绍如何搭建CVS服务器并进行简单使用。 **一、CVS服务器安装** 1. **Python**:CVS服务器需要Python作为其依赖环境,因此首先需要安装Python-2.2.3.exe。在安装时选择完全安装,并确保将Python的安装路径...

    单机 CVS系统的搭建

    ### 单机CVS系统的搭建 #### 一、引言 版本控制系统(Version Control System,VCS)在软件开发过程中扮演着重要的角色,它能够帮助开发者有效地管理代码变更历史、协同工作以及解决代码冲突等问题。其中,CVS...

    CVS的配置与搭建教程

    这篇教程将深入讲解CVS的配置与搭建过程,帮助你更好地理解和使用这一工具。 一、CVS的基本概念 1. 仓库(Repository):CVS的核心部分,存储所有版本的项目文件。 2. 工作副本(Working Copy):开发者在本地...

    cvsnt-2.5.03安装及教程

    文章以CVSNT+TortoiseCVS搭建CVS平台的配置过程为主线,详尽介绍了CVS的平台搭建的过程。并以应用为中心,结合Java程序员常用的两种开发工具Eclipse-3.2、IntelliJ IDEA 5.12 介绍了如何在这些IDE中使用CVS。文章中...

    CVS 服务器搭建与 MyEclipse 连接CVS服务器

    CVS 服务器的搭建 用MyEclipse 连接CVS服务器 进行团队开发是的版本控制

    CVS服务器搭建指南

    ### CVS服务器搭建与SSH安全访问配置指南 #### 一、CVS服务器概述及搭建 **CVS (Concurrent Versions System)** 是一种版本控制系统,主要用于管理软件开发中的源代码变更历史。它支持多人协作开发,能够追踪文件...

Global site tag (gtag.js) - Google Analytics