软件配置管理cvs介绍

合集下载

VSS和CVS比较

VSS和CVS比较

VSS和CVS比较1.软件配置管理基础随着计算机应用范围的日益广泛,应用软件的规模及复杂度日益广泛深入,应用软件的规模和复杂程度日趋大型化,复杂化,这就导致软件开发的方式越来越强调团队的协作开发,而在这种开发方式下,会遇到很多问题,例如:需要将整个软件的版本恢复到以前的某一时间的状态,限制随意修改程序,或者控制某一程序在同一时间内只能一个开发人员修改等等。

为了解决这些问题,提高软件产品和软件项目的质量及软件开发过程中的管理水平,更好地为以后的软件开发工作提供有效的服务,必须采用先进的管理手段,实现软件产品和软件项目源码的科学管理。

软件配置管理工具应运而生。

2.软件配置管理工具软件配置管理工具有很多,例如:Starteam、ClearCase、VSS和CVS等。

Starteam和ClearCase更适合庞大的团队和项目,并且价格不菲,所以并不常用。

目前使用比较广泛的是VSS和CVS。

两者在使用上有各自的优势和不足。

VSS的全名是VisualSourceSafe,是微软公司开发的VisualStudio开发套件中的软件配置管理部分,有非常好的技术支持和非常详尽的技术文挡。

VSS适合在局域网范围内,以Windows平台为主的中、小项目,以文件管理为主要功能,使用方便,学习成本低,对服务器仅需要快速大容量的存储器也是它的优势。

CVS的全名是ConcurrentVersionSystem,是一种可以并发的版本控制系统。

它是一个开源项目,可以直接从网站下载最新的原代码。

CVS可以满足局域网和广域不同的网络条件,提供不同级别安全性选择,在一台专门的服务器配合下,客户可以使用任何平台开发项目。

CVS本身是在unix系统上开发的,在unix下提供的是命令行使用模式。

在Windows平台下你可以选择用CVSNT搭建服务器,用WinCvs作为客户端。

CVS对于已经完成了开发过程进入项目维护阶段,或者进入项目升级阶段的项目,可提供完善的软件配置管理的支持,不过在学习和操作上学习成本比较高。

CVS建立软件配置管理环境

CVS建立软件配置管理环境

建立软件配置管理环境(cvs)1.安装CVS服务器1.1windows环境1.1.1 下载由下载到CVSNT的安装程序。

1.1.2 安装在服务器端执行下载得到的安装程序,进行CVSNT安装。

Windows XP and 2003注意:某些系统的WMI 服务可能会引起访问拒绝错误。

为了避免这种情况的发生,安装前必须停止WMI服务,安装完成后重新启动WMI服务。

Start Screen:License Agreement:Install Directory Selection:Antivirus Software Warning:Install Component Selection Screen:Shortcut Folder Selection Screen:Task Selection Screen:Ready To Install!:Install Progress:Installation Done!:注意:如果遇到有关genkey.exe错误,并且安装成功,但是SSL key 没有生成;因此sserver protocol 不能正确工作。

1.1.3 系统重新启动第一次安装CVSNT后必须重新启动系统,否则当你建库时将会发生“Repository initialization failed”错误。

1.1.4 创建CVS目录在CVS服务器创建两个目录,例如:c:\cvsrepo和c:\cvstemp。

目录必须建立在NTFS盘上。

C:\cvstemp 由SYSTEM的所有用户控制。

Cvstemp目录不能建立在c:\WINNT\Temp或c:\Documents and Settings。

在server 创建一个名称为“CVSUsers”的组,并添加属于这个组的所有CVS 用户。

1.1.5 CVSNT控制面板配置打开控制面板并找到CVSNT applet (绿色的鱼):启动下列插图applet:注意:如果发生问题可能的原因是系统的一些dll丢失。

CVS是什么

CVS是什么

问:请问CVS是什么啊?答:CVS是一个很老的版本控制的工具软件了。

想入门的话推荐一个简单教程:(版权归原作者哦,你可以去百度一下原文。

)-----------------------------------------------------CVS简单教程------------------------------现在服务器和客户端都设置好了,那么怎么用呢,我在这里写一个最简单的(估计也是最常用的)命令介绍:首先,建立一个新的CVS项目,一般我们都已经有一些项目文件了,这样我们可以用下面步骤生成一个新的CVS项目:1. 进入到你的已有项目的目录,比如叫cvstest:$cd cvstest2. 运行命令:$cvs import -m "this is a cvstest project" cvstest v_0_0_1 start说明:import 是cvs的命令之一,表示向cvs仓库输入项目文件.-m参数后面的字串是描述文本,随便写些有意义的东西,如果不加-m 参数,那么cvs会自动运行一个编辑器(一般是vi,但是可以通过修改环境变量EDITOR来改成你喜欢用的编辑器.)让你输入信息,cvstest 是项目名称(实际上是仓库名,在CVS服务器上会存储在以这个名字命名的仓库里.)v_0_0_1是这个分支的总标记.没啥用(或曰不常用.)start 是每次import 标识文件的输入层次的标记,没啥用.这样我们就建立了一个CVS仓库了,然后,我们可以把这个测试项目的文件删除.试验一下如何从仓库获取文件.这里我假设上面的所有客户端工作你都已经做过了.运行下面的命令:$cvs checkout cvstest从仓库中检索出cvstest项目的源文件.如果你已经做过一次checkout了,那么不需要重新checkout,只需要进入cvstest项目的目录,更新一把就行了:$cd cvstest$cvs update一下即可.又或者你不想直接更新,只是想看看有没有更新的东西,那么:$cvs status这时后会打印出一长串状态报告(你可能需要用类似less这样的命令分页显示,或者定向到一个输出文件里慢慢看.),对项目中的每个文件有一份状态报告,类似这样:=========================================================== ========File: foo.c Status: Up-to-dateWorking revision: 1.1.1.1 'Some Date'Repository revision: 1.2 /home/cvsroot/cvstest/foo.c,vSticky Tag: (none)Sticky Date: (none)Sticky Options: (none)这里最重要的就是Status 栏,这里总共可能有四种状态:Up-to-date:表明你要到的文件是最新的.Locally Modified:表明你曾经修改过该文件,但还没有提交,你的版本比仓库里的新.Needing Patch:表明有个哥们已经修改过该文件并且已经提交了!你的版本比仓库里的旧.Needs Merge:表明你曾经修改过该文件,但是偏偏有个不识相的也修改了这个文件,而且还提交给仓库了!如果你只是想保持软件的同步的话(象我),那么上面的东西就足够用了.可是如果多人协作开发项目的话,可就不是了这么简单了.当你参加项目,维护文件时,就需要更多命令,比如说你我都是某nasdaq 项目的开发人员:1,你对某个文件做了修改,比如说改了ceo.c,加了一行程序:printf("where can I find VC to cheat!");改完之后你要把修改提交给仓库,用命令:$cvs commit -m "add a complain" ceo.c或者就是:$cvs commit -m "worry about money"让cvs帮你检查哪个文件需要提交.2,当我开始干活的时候,可能我先:$cvs status一把,这时候我会看到:=========================================================== =======File: ceo.c Status: Needing PatchWorking revision: 1.1.1.1 'Some Date'Repository revision: 1.2 /home/cvsroot/nastaq/ceo.c,vSticky Tag: (none)Sticky Date: (none)Sticky Options: (none)于是我知道有人改了ceo.c,于是我就:$cvs update ceo.c或者干脆:$cvs update把ceo.c这个文件更新为最新版本,然后再干活.然后提交.如果这天你修改了coo.c,加了一行puts("how about another kind of bragging?");并且提交了,但是这时候我已经$cvs status 过了,就是说我不知道你的修改.而我加了一行printf("You must shamelessly and seems knowingness to act as a coo");并且傻乎乎地提交:$cvs commit coo.c这时候,CVS会告诉我cvs commit: Examing .cvs server: Up-to-date check failed for 'coo.c'cvs [server aborted]: correct above error first!于是我知道有个狗屎在我修改文件的当口做了提交,于是我$cvs update这时cvs会报告:RCS file: /home/cvsroot/nasdaq/coo.c,vretrieving revision 1.1.1.1retrieving revision 1.2Merging differences between 1.1.1.1 and 1.2 into coo.crcsmerge: warning: conflicts during mergecvs update: conflicts found in coo.cC coo.c告诉你coo.c有版本冲突,于是我编辑coo.c,这时一般文件里看起来象这样: ...printf("You must shamelessly and seems knowingness to act as a coo");<<<<<<< foo.c=======...puts("how about another kind of bragging?");>>>>>>> 1.2...于是我把上面改成:printf("You must shamelessly and seems knowingness to act as a coo");puts("how about another kind of bragging?");然后$cvs commit -m "merged" coo.c于是下回你再更新的时候就有新的补钉要打...如此往复,直到完成所有修改.不过这里有一些要注意的地方就是删除程序,如果你删掉一行对你可能没有用的程序puts("to be honest"); 而我不想删除(因为我有用),而我不知情地直接:$cvs update了,那么我的这行程序也完蛋了,所以这里我们要注意所有开发人员的协调,千万不要乱删东西,大不了用#if 0#endif宏定义对括起来.实在要删东西,那最好先标记一个版本:$cvs tag v_0_0_1然后你可以发布并删除你自己的工作目录里这个版本的文件(注意:不是删除仓库里的.):$cvs release -d nasdaq然后你再生成一个新分支:$cvs rtag -b -r v_0_0_1 v_0_0_1_1 nasdaq然后再建立v_0_0_1_1的分支$cvs checkout -r v_0_0_1_1 nasdaq编辑并修改这个分支的文件,这样的做法比较好.不过要注意的是,新标记和新分支的建立最好由项目的管理人员负责,否则每个人都做一个分支,那么仓库就太乱了.因此,比较的开发人员之间的直接沟通是不能忽略的.一般来说,在互联网上的标准模式是有一个管理员(可能自己并不写程序),有一个邮递列表,大家都在邮递列表上交流看法和做各种决议.当形成决议之后,管理员做一个新版本的标记.以此循环.还有一些命令,比如要增加一个文件garbage_china_concept_stocks_list:$cvs add garbage_china_concept_stocks_list然后还要:$cvs commit garbage_china_concert_stocks_list看起来有点象数据库里的事务?的确是这样.CVS维护着一个本地的参考文件(在CVS/Entries里),这样提交的时候就可以一次地把所有改变放到服务器端,这样也更安全.同样,如果想删除文件bankrupted_web_site:$rm bankrupted_web_site$cvs remove bankrupted_web_site$cvs commit bankrupted_web_site3,一些小技巧:$Header$ 标记:把这个标记放在文件的任何地方都会被cvs 替换成最后修改的cvs 用户名,该文件当前版本号,最后修改时间,该文件的cvs 仓库路径,看起来象下面这个样子:// $Header: /home/cvsroot/simhost/simhost.cpp,v 1.2 2001/04/20 08:26:10 jqliu Exp $一般我们把它放在开头,这样对程序员修改文件非常便利,很多时候你只要看一眼开头就知道文件是否最新.$Id$标记:把这个标记放在文件的任何地方都会被cvs 替换成最后修改的cvs 用户名,该文件当前版本号,最后修改时间,该文件的cvs 仓库路径,看起来象下面这个样子:$Id: simhost.cpp,v 1.3 2001/04/24 02:27:36 simhost Exp $好了,上面所有的东西,估计就是我们用cvs时80%情况下用的命令和内容,包括文件的更新,提交,冲突的解决,分支的派生,增删文件等.实际上cvs的功能之强大,远远超出我在这里描述的内容,我这个”速成”也就管不了太多了,希望随着时间的推移,我们能够更加有效地使用CVS.也希望大家能够不断补充这篇文章,最后能够成为手册,而不仅仅是速成.当然,还要更多地参考别的文档.赞同。

cvs简介

cvs简介

C/S架构下的CVS
在多人参于开发的项目中,CVS是一个C/S系统。 服务器是项目文件版本库,存放着项目文件所有的 历史改动纪录。开发人员则工作于各自客户端的工 作目录下。目前在Windows 和 Linux 下均有CVS的 客户端工具。Windows 下的客户端工具为Wincvs .
内容综述

2.
3.
导入选项设置

Import settings
1 .设置Module的名字为“demo”, Vender tag和Release tag可以分别 填入初始的导入人名和初始的发 行版本,可根据需要设置。在log message中设置一个日志信息,可 以将来用作追踪用。 按“确定”按钮后,wincvs即开始 执行import命令,并在控制台上输 出命令执行的结果,此时你可以 由返回的代码来判断导入成功与 否.
CVS的特点

CVS的特点
1. CVS可以管理多目录的项目。 2. CVS可以处理分布式的项目。在这样的项目中, 分别处于地理上或网络上不同位置的多名开发人员 可以访问和操作同一个源代码库。 3. 多名开发人员可以同时在一个相同的文件上工 作。它会试着把几个开发人员对同一文件的修改合 并到一起。
C/S 架构下的CVS
提交更改的文件

提交更改的文件
1.
如果文件内容有改变,应 及时的提交到服务器上。 现在我们修改Readme.txt 文件,储存后,文件的图 标即变成了红色,文件的 状态显示“Mod.File”,表 示此文件在工作目录中被 修改过。
在此文件上右键选择 Update Selection 来提交更 改。提交后CVS会先检查 服务器中的文件是否被其 它开发人员更新过;如果 有更新,CVS会尝试将你 的修改和服务器的文件合 并。

CVS

CVS

CVS概述何谓CVSCVS(Concurrent Version System)是一种客户机/服务器系统,可以让开发人员将他们的项目存储在称为资源库的中央位置。

使用cvs客户机工具,开发人员可以对资源库的内容进行更改。

CVS 资源库会依次记录对每个文件所做的每个更改,并创建一个完整的项目开发进展历史。

开发人员可以请求特定源文件的旧版本、查看更改日志,并根据需要执行其它一些有用的任务。

什么是版本控制系统版本控制就是在项目中记录和读取变更的过程。

版本控制系统可以让你取回原有的旧版本来修正其缺陷或更新其功能,并可以让你分组开发,使项目得以多方面同时进行以及产生报告来显示项目中任意两个阶段之间的差异。

软件开发中为什么要用CVS软件业发展到现在,一个项目越来越大,多人协同工作对于一个项目越来越普遍。

在多人工作环境下,版本管理是一个重要的问题,没有好的版本控制和版本管理,大的工程无法顺利进行。

即使是对于一个人开发,版本管理工作也很有益处,它能让您的工作条理清晰,避免许多重复工作。

CVS版本控制系统的优点文件的任何已存储的修订版都可以被调出来观看或修改任两个修订版之间的差异都可以显示出来修补版可以自动建立可以多名开发人员同时编辑同一项目或文件而不会遗失数据项目可以分组开发多方面同时进行。

这些分支版本最后可以合并到开发主线中可以通过规模大小不同的网络进行分布式开发(CVS提供各种不同的认证机制)CVS图解CVS服务器开发者开发者开发者版本同步Import、Checkout、Commit、UpdateCVS中涉及到的概念 仓库模块沙箱仓库Repository: 中文名称:仓库。

它是CVS服务器(可能在远程,也可能在本地)的根目录,我们所有的工作都保存在这个仓库中,包括源代码和这些代码的全部历史。

你可以把Repository想像成一个仓库,仓库中有许多“木桶”,每个“木桶”就是我们的一个让CVS管理起来的工程。

对于CVS来说,这些“木桶”之间是没有什么关联的,删除一个“木桶”不会影响别的“木桶”。

cvs介绍

cvs介绍

简介CVS 是 Concurrent Version System(并行版本系统)的缩写,用于版本管理.如果大家曾经参与过多人协作开发的项目,大家肯定有这样的痛苦经历:由于多个人同时修改同一个文件,自己辛辛苦苦修改的程序被别人彻底删除了.另外,如果你的软件/程序已经发布了三个版本,而这时候用户需要你修改第二个版本的东西,也许你会因为只保留了最新版本而痛哭流涕。

还有就是你对程序做了一些修改,但是修改很少,你只想给远方的同事发一个两个版本之间的差别文件,这样可以免于邮箱不够大,网速太慢之类的问题.为了解决类似这样的问题,以及诸如生成补丁文件,历史版本修改等,一帮黑客(褒义)在原先 Unix 体系里很成熟的 SCCS 和 RCS 的基础上,开发了 CVS。

(SCCS:Source Code Control System,RCS:Revision Control System)。

CVS 的基本工作思路是这样的:在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。

由仓库管理员统一管理这些源程序.这样,就好象只有一个人在修改文件一样.避免了冲突.每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。

用户做的任何修改首先都是在本地进行,然后用cvs 命令进行提交,由 cvs 仓库管理员统一修改.这样就可以做到跟踪文件变化,冲突控制等等.由于 CVS 是典型的 C/S 结构的软件,因此它也分成服务器端和客户端两部分。

不过大多数CVS 软件都把它们合二为一了。

我们这里就分别从服务器和客户端的角度讨论cvs的使用。

Cvs服务器安装首先确保系统安装有cvs:[root@mailxinetd.d]# rpm -qa|grepcvscvs-1.11.1p1-3如果命令输出类似于上面的输出则说明系统已经安装有cvs,否则就需要从安装光盘中安装cvs的rpm包。

一创建CVS属主用户:# useradd -d /cvsrootcvs# chmod 771 /cvsroot二、建立CVS仓库(初始化cvs)# sucvs$ cvs -d /cvsrootinit$exit#四、启动cvs服务器在/etc/xinetd.d/目录下创建文件cvspserver,内容如下:# default: on# description: The cvs server sessions;service cvspserver{socket_type = streamwait = nouser = rootserver = /usr/bin/cvsserver_args = -f --allow-root=/cvsrootpserverlog_on_failure += USERIDonly_from = 192.168.0.0/24}其中only_from是用来限制访问的,可以根据实际情况不要或者修改。

CVS使用说明

CVS使用说明

© 2004 PTC
客户端配置-2
5
PTC Global Service
© 2004 PTC
登录
选择菜单“管理\登录…”
缺省的密码为:changeme
如果返回值为0,说明登录成功。 WinCVS中所有的操作返回值为0都表示成功, 为1表示失败。
6
PTC Global Service
© 2004 PTC
CVS使用说明
Eric Lin Sep 05, 2005
CVS简介

CVS 是 Concurrent Version System(并行版本系统)的缩写,用 于版本管理。

CVS 的基本工作思路:

在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程 序。 由仓库管理员统一管理这些源程序,就好象只有一个人在修改文件一 样,避免了冲突。 每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。 用户做的任何修改首先都是在本地进行,然后用 cvs 命令进行提交, 由 cvs 仓库管理员统一修改。
© 2004 PTC
WinCVS界面
受CVS控制。
不受CVS控制。
9
PTC Global Service
© 2004 PTC
添加新的文件
依次为: 以文本方式添加 以二进制方式添加 以Unicode方式添加
允许同时添加多个文件,添加后需要提交。 所有源程序(如java,rbInfo,txt,html等)都以文本方式添加,其它的(如 ser,doc,xls,ppt,gif,jpg,bmp,class等)以二进制方式添加。

需要管理员用户才可以添加用户; 映射到管理员用户:

更改d:\cvsroot\CVSROOT\passwd文件,设置某个用户映射到 administrator用户,如: eric:TS0inDwBZk4g.:administrator

cvs和wincvs配置

cvs和wincvs配置

cvs配置作者:施浩日期:2013/9/21版本:V1.0cvs介绍CVS是一个C/S系统,可以帮助开发人员进行项目版本控制,使得项目文件能够同步,便于项目成员对源码的维护。

在一台服务器上建立一个项目文件仓库(包含源码),有管理员统一管理。

每个用户在使用文件之前,首先要将文件下载到本地,之后用户可以对文件进行任何修改,最后使用CVS命令进行提交,由CVS库进行统一管理。

CVS把一个文件的所有版本保存在一个文件里,仅仅保存不同版本之间的差异,很容易恢复旧版本,可以避免项目成员之间的文档或源码相互覆盖。

CVS的配置分为服务器端可客户端两部分,在这里服务器段使用LinuxRedHat 5环境,客户端在Win 7环境访问。

服务器端说明在【HAND产品集成虚拟机】中安装了CVS,可以使用rpm –q –a|grepcvs命令进行查看,可以查看到安装包名。

此处假设虚拟机上没有安装cvs服务。

可以使用rpm –e [cvs安装包名]命令进行软件的卸载。

既然已经安装过cvs服务,虚拟机上也就存在cvs相关的配置,后面将谈及。

准备下载安装包:cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz安装与配置1、将下载好的安装包上传到虚拟机中可以在/u01目录下新建一个cvs-1.11.22文件夹,将.gz文件放在这个文件夹中。

2、使用命令进入这个文件夹,将文件进行解压tar –zxvf cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz3、安装./configuremakemake install4、安装完成后可以测试是否安装成功cvs –version可以看到cvs的版本信息。

客户端说明客户端的配置主要使用wincvs,但是wincvs的安装还需要python,不然shell命令就不能使用。

wincvs和python之间的版本控制需要注意,因为不是两者都是最新的版本是最好的,版本之间的差异会导致wincvs找不到安装的python。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 测试远程访问
CVS for unix/linux: [test@linux test]$ cvs login cvs password: WinCVS: AdminLogin 输入口令即可。
• 在Visual Studio 中集成CVS (23)
1.4 CVS工作原理及基本命令
仓库的概念已经描述,在CVS库中CVS以一种特殊的文 件格式(RCS)来保存这些资源。仓库按照目录和文件 结构组织。仓库中每个目录对应一个项目,如:和 cvsap/src/master在同一层次的目录除CVSROOT外,其 他每个目录都应该是不同的项目。其保存了各个版本 的文件,并记录了版本的修改信息。 统一文件的不同版本之间具有派生关系,在版本库中 只存储不同版本间的改动,从而节约空间。(29页) 工作拷贝是指每个开发人员在开发过程中拥有一个独 立于其他开发人员的整个软件项目的全部代码的拷贝, 在客户端,它和主拷贝(仓库)构成了CVS客户/服务 器模式。工作拷贝的每个目录中有一个CVS目录,其下 的文件是cvs管理控制文件。(31页)
CVS的安装和配置
• 在unix/linux平台上安装CVS服务器 安装是超级用户执行的。假设选择一台Linux服务器, 假设主机名为hostcvs。在cvs权威网站 上下载包cvs-1.11.1p1.tar.gz(在 linux中可能已经包含后CVS)。运行:
[root@hostcvs /root]$ gzip –dvf cvs-1.11.1p1.tar.gz
CVS的权限设定的原则是:
CVS用户必须拥有对/cvsap/src/master/CVSROOT目 录及其中所有文件的读权限。
CVS用户必须拥有对/cvsap/src/master/CVSROOT目 录下history文件的写权限。
CVS用户如果希望对系统中的模块(如,project) 代码等资源的修改,必须对该目录有写权限。 对于普通的开发用户应该设为:对 /cvsap/src/master/CVSROOT目录及其下的所有文 件有读权限;对 /cvsap/src/master/CVSROOT/history下的文件有 写权限;对某个项目(模块)下的文件有读写权限 (如,project)。
[root@hostcvs /root]$ tar –xvf cvs-1.11.1p1.tar
进入目录cvs-1.11.1p1,运行:
[root@hostcvs /root]$ ./configure [root@hostcvs /root]$ make
[root@hostcvs /root]$ make install
也可能是/etc/init.d/inetd restart。或者
[root@hostcvs /root]$ /etc/init.d/xinetd restart
至此,CVS服务器安装和配置工作完成。
如果是HP UNIX 则启动超级口令服务器的方法为: ps –ef |grep inetd 找出inetd进程的进程号 kill –HUP <pid> 让inetd进程重新读入配置文 件使得CVS服务生效
1.1
软件配置管理(SCM)相关概念
9.1.1 版本管理不同产品的简单介绍 配置管理软件分类:
软件的版本管理(CVS是软件版本管理的工具)
构件管理 缺陷和跟踪管理 产品介绍: 1)高端产品
如:Rational clearCase
2) 中端产品 如:PVCS (pvcs version manager ,pvcs tracker)、 Perforce
• 测试CVS口令服务器
在cvshos服务器上,执行如下命令: [root@cvshost /root]$ telnet localhost 2401• 客户端的安装和配置
介绍CVSROOT环境变量设置格式: (19页) 客户端的Unix/linux的安装和CVS服务器安装过程相同, 这里不再赘述。CVS for unix/linux客户端的永久配 置方法为: sh/ksh,用编辑器打开$HOME/.profile文件添加: CVSROOT = :pserver:public@192.168.25.6:/cvsap/src/ma ster;export CVSROOT csh,用编辑器打开$HOME/.cshrc文件,在文件的末 尾添加:setenv CVSROOT :pserver:public@192.168.25.6:/cvsap/ src/master
• 启动inetd/xinetd超级服务器
配置好的口令服务器是包在inetd/xinetd超级服务器 内的一个程序。启动的方法为用超级用户登陆,执行 命令:
[root@hostcvs /root]$ unset HOME
用来清除超级用户的$HOME的环境变量,否则执行CVS 命令会出错。
[root@hostcvs /root]$ /etc/rc.d/init.d/inetd restart
跨平台:CVS支持所有的操作系统,而且作为典型的客 户/服务器模式的软件,CVS支持跨平台开发, cvs可 以用在AIX、 HPUX、Solaris、SUNOS、Linux、 Windows
等不同的平台上开发应用,而共用一个CVS服务器。
强大的分布式开发支持:CVS一直以支持分布式开发作 为其基本特征。
your_client$ cd test your_client$ cvs login (logging in to your server) cvs password ***** (你的服务器端cvs帐户口令) your_client$ cvs import –m ―initial import‖ test SSE start 该命令将当前目录(包含子目录)下的所有内容,都放进 CVS系统中,其中, -m 表示在命令中要加注释内容 test 为该项目名称 SSE 为厂商标识 start 为版本标记 没有冲突表示创建新的项目仓库成功。 在WinCVS中可以在菜单中实现。
如果未报错误,则CVS服务器安装OK了。 whereis cvs
• 指定CVS仓库
cvs仓库(Repository)是保存软件资源的设备,可以 根据需要选择一目录作为库的位置,如,/cvsap ,用 超级用户建相应目录。 mkdir /cvssrc mkdir /cvssrc/master
• CVS服务器的初始化
3)低端产品 vss
1.2
• cvs是什么
CVS概述
cvs是Concurrent Versions System的缩写。是强大而 复杂的现代版本控制系统。 • cvs的特点 免费:作为开放源代码的世界杰作,CVS是免费的。在 中国,北京国联捷讯信息技术有限公司 ()为需要CVS技术支 持的公司提供咨询。
CVSROOT
[root@hostcvs /root]$ ls –a /cvssrc/master/CVSROOT
该目录下是原始内容,如果该目录为空,则初始化失败。
• 用户组和用户帐号的设立
用户组和帐号的设立原则:进行配置管理的用户和进 行开发的用户分别设立不同的用户组,如,cvsadmin 和cvsuser 两个组,在两个不同组上建立管理用户和 开发用户。
在确定CVS仓库位置后,就可以初始化CVS服务器。在 初始化的过程中CVS创建其文件系统,并产生原始内容。 在目录/cvsap目录下,以超级用户身份在提示符下执 行:
[root@hostcvs /root]$ [root@hostcvs /root]$ cvs –d /cvssrc/master init 其中的目录project为项目源代码的资源目录。执行命令: [root@hostcvs /root]$ ls /cvssrc/master
• 区分管理员和普通用户的权限设定 1)添加cvsadmin用户组 2)添加cvsuser用户组 3)添加CVS管理员帐号到cvsadmin 4) 添加CVS普通用户到cvsuser 5) 让cvs管理员拥有对配置目录及其下文件的读写权限, 同时给cvs的普通用户对配置目录及其下文件的读权限。 [root@cvshost /root] $ chgrp –R cvsadmin /cvsap/src/master/CVSROOT [root@cvshost /root] $ chmod –R 064 \ /cvsap/src/master/CVSROOT 6) 给cvs普通用户对目录/cvsap/src/master/project的 读写权限 [root@cvshost /root] $chgrp –R cvsuser /cvsap/src/master/project [root@cvshost /root] $ chmod –R 060 /cvsap/src/master/project
cvs命令的格式: cvs [cvs-option] command [command-option] 如:your_client$ cvs –Q check test 可以用命令:cvs --help-commands来查看cvs的命令。 在winCVS中在command line setting 菜单中输入命令即 可。
其中的public为客户端的用户在服务器端的帐户/ 用户名。
CVS for WinCVS的永久配置为: 在窗口中选择Admin--》Preferences并在General选项卡 中输入,如图。 关于unix/linux客户端的临时配置: sh/bash: [test@linux test]$export CVSROOT =:pserver:public@192.168.25.6:/cvsap/src/master csh: [test@linux test]$ setenv CVSROOT :pserver:public@192.168.25.6:/cvsap/src /master
相关文档
最新文档