一、CVS入门知识详解
1、什么是 CVS?
CVS 是一种客户机/服务器系统,类似于microsoft SourceSafe,可以让开发人员将他们的项目存储在称为资源库的中央位置。使用 cvs 客户机工具,开发人员可以对资源库的内容进行更改。CVS 资源库会依次记录对每个文件所做的每个更改,并创建一个完整的项目开发进展历史。开发人员可以请求特定源文件的旧版本、查看更改日志,并根据需要执行其它 一些有用的任务。所有重要的免费软件项目都使用 CVS 作为其程序员之间的中心点,以便能够综合各程序员的改进和更改。这些项目包括: Gnome, KDE, The GIMP, Wine, 等等。
CVS 的基本工作思路是这样的:在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。由仓库管理员统一管理这些源程序.这样,就好象只有一个人在 修改文件一样.避免了冲突.每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。用户做的任何修改首先都是在本地进行,然后用 cvs 命令进行提交,由 cvs 仓库管理员统一 修改.这样就可以做到跟踪文件变化,冲突控制等等.
CVS可以协助一组人共同开发一个工程。如果你是一个项目中的一组成员之一,CVS也能够帮助你。除非你特别仔细,你很容易覆盖其他人的工作。一些编辑 器,例如GNUEmacs,试图去判定一个文件是否被两人同时修改。不幸的是,如果一个人使用其它的编辑器时,这个安全方式将不再有效。CVS使用让不同 开发者独立工作的方式解决了这个问题。每一个开发者的工作都在他自己的目录内,并且CVS将 在每个开发者的工作完成后进行合并工作。
由于 CVS 是典型的 C/S 结构的软件,因此它也分成服务器端和客户端两部分。不过大多数CVS 软件都把它们合二为一了。我们这里就分别从服务器和客户端的角度讨论cvs的使用。
2、CVS基本概念
Repository(仓库)
CVS的仓库存储全部的版本控制下的文件copy,通常不容许直接访问,只能通过cvs命令,获得一份本地copy,改动后再check in(commit)回仓库。而仓库通常为与工作目录分离的。CVS通过多种方式访问仓库。每种方法有不同目录表示形式。数据如何存放在 repository中:随着CVS版本的不同,存放结构会发生变化,一般情况下用户无需了解数据到底是如何存放的。
Revision(修订版)
每一个file的各个revision都不相同,形如1.1, 1.2.1,一般1.1是该文件的第一个revision,后面的一个将自动增加最右面的一个整数,比如1.2, 1.3, 1.4…有时候会出现1.3.2.2,原因见后。revision总是偶数个数字。一般情况下将revision看作时CVS自己内部的一个编号,而 tag则可以标志用户的特定信息。
Tag(标签)
用符号化的表示方法标志文件特定revision的信息。通常不需要对某一个孤立的文件作tag,而是对所有文件同时作一个tag,以后用户可以仅向特定 tag的文件提交或者checkout。另外一个作用是在发布软件的时候表示哪些文件及其哪个版本是可用的;各文件不同revision可以包括在一个 tag中。如果命名一个已存在的tag默认将不会覆盖原来的;
Branch(分支)
当用户修改一个branch时不会对另外的branch产生任何影响。可以在适当的时候通过合并的方法将两个版本合起来;branch总是在当前 revision后面加上一个偶数整数(从2开始,到0结束),所以branch总是奇数个数字,比如1.2后面branch为1.2.2,该分支下 revision可能为1.2.2.1,1.2.2.2,…
Conflict(冲突)
完全是纯文本的冲突,不包含逻辑上的矛盾,比如CVS不能解决如下问题:某人修改了函数f的参数,而另外一个人在另外一个地方用老的参数调用该函数。文本 冲突需要用户自己参与解决,CVS无法自动解决。(如还有不明之处,请联系飘扬,你可以到我的博客(飘扬博客)http: //www.piaoyang.org 给我留言或QQ47720194,我会尽力解答你的问题。)
Module(模块):CVS服务器根目录下的第一级子目录。通常用于存放一个项目的所有文件
Check out(检出):通常指将仓库中的一整个模块首次导出到本地。
Check in(导入)::通常指通过提交整个目录结构并创建一个新的模块。
Release(发行版本):整个产品的版本
Update(更新):从模块中下载其他人的修改过的文件。更新本地的拷贝。
Commit(提交):将自己修改过的文件提交到模块中。
三、Windows下CVS服务器与客户端的配置
1、windows下CVS服务器的配置
在此,我们以WinCVS为例来介绍。WinCVS顾名思义,是用在windows上的,它是一款相当不错的基于Windows的CVS客户端软件。安装 时没有什么特别的地方,与普通的Windows软件相同,一路next就OK了。(最新的WinCVS可以从http: //sourceforge.net/project/showfiles.php?group_id=10072地址下载到,也可以在http: //sourceforge.net/project 上下载到最新的或其它版本的WinCVS。)由于是软件界面配置,所以针对界面选项填入相应的参数即可,在此不再赘述。
2、windows下CVS客户端的配置
同样我们以WinCVS为例来介绍。安装这个WinCVS不用再啰嗦一遍了吧,跳过,来看配置过程!
2.1 配置WinCVS
选择Admin->Preferences…,在出现的界面上进行一般选项的设置:
1) Authentication:用来配置cvs服务器的认证方式,可以从下拉框中选择其它的认证方式,不过一般只要选择默认的pserver方式就可以,要注意的是必须与cvs服务器配置时所指定的认证方式一致;
2) Path:用来配置cvs在服务器上的主目录路径,也就是服务器上用进行cvs初始化的目录,如:/home/cvsroot;
3) Host Address:用来配置cvs服务器所在服务器的地址,可以是IP地址,也可以是DNS名,如:10.104.1.204;
4) User name:用来配置要使用些WinCVS来登录CVS服务器的用户名,如:cvsyxwu,用户的登录必须由管理员把其添加cvs用户组中;
5) CVSROOT:此项一般都不需要用户进行修改,用户在输入上边的几个选项时,系统将自动根据用户的输入生成此项的相应内容。
6)在上一个界面上选择“Globals” ,进行全局选项的设置,此项的配置主要是要注意这几选项:
第一,Checkout read-only不要选上,否则,checkout出来的源代码将不允许用户进行修改,并且此选项默认是选中的;
第二,Prune (remove) empty directories也不要选上,否则,会自动删除空目录;
第三,对一般配置没有特殊要求的,把Dirty files support、Supply control when adding与TCP/IP compression选项选中;
2.2 登录WinCVS服务器
选择Admin->login,将出现如下对话框要求用户输入登录口令。输入口令后,选择“OK”按钮,如果CVS服务器与WinCVS的配置都没出错的话,将在CVS的状态栏中提示:
cvs -z9 -d :pserver:cvsyxwu@10.104.1.204:/home/cvsroot login
Logging in to :pserver:cvsyxwu@10.104.1.204:2401/home/cvsroot
***** CVS exited normally with code 0 *****
code 0表示正确的登录;而如果出错的话,将是code 1,那么要根据错误的提示进行相应的修改。
2.3拷贝相应模块代码并进行开发
1) 在workspace中的Modules选中要存放checkout模块的目录;
2) 选择Create->Checkout Modeles,将出现一个对话框,需要进行选择。其中,Module name and path on the server就是要存放checkout 内容的目录,由用户输入;而Local folder to checkout to就是第一种用户所选择的目录。
3) 至此你就可以在刚才check out的代码上进行修改或开发了。
分享到:
相关推荐
### 搭建CVS服务器知识点详解 #### 一、CVS简介 CVS(Concurrent Versions System)是一种源代码版本控制系统,它被广泛应用于软件开发过程中,用于管理项目的源代码版本控制。CVS能够帮助开发者们跟踪源代码的变化...
下面将详细介绍如何在Linux服务器上设置CVS服务器,并在Windows客户端上安装并配置CVS客户端。 一、Linux服务器端CVS服务器的安装与配置 1. **安装CVS服务端** 在Linux系统中,通常使用包管理器来安装CVS。例如,...
在这个压缩包中,包含了CVS客户端和服务器端的安装文件,以及一个名为`readme.txt`的说明文件。 **TortoiseCVS-client.exe** 是TortoiseCVS的客户端安装程序。TortoiseCVS是CVS的一个图形用户界面(GUI)版本,它与...
总之,Windows下搭建CVS服务器需要安装CVSNT,配置服务器端口、用户权限,设置环境变量,初始化仓库,以及启动和配置服务。了解这些步骤将帮助你有效地建立和管理代码版本控制。随着技术的演进,开发者应考虑是否...
本文将介绍如何搭建CVS服务器并进行简单使用。 **一、CVS服务器安装** 1. **Python**:CVS服务器需要Python作为其依赖环境,因此首先需要安装Python-2.2.3.exe。在安装时选择完全安装,并确保将Python的安装路径...
CVSNT是CVS的一个Windows版本,它提供了更友好的界面和Windows服务支持,使得在Windows系统上搭建CVS服务器变得更加简便。CVSNT不仅保留了CVS的核心功能,还添加了一些额外的特性,如更好的权限管理,支持更多的...
总的来说,CVS服务器的搭建与配置是一个涉及安装、配置服务器以及客户端的过程,通过这些步骤,团队成员可以高效地协同开发,保证代码的完整性和一致性。对于开发者来说,掌握CVS的使用是进行团队开发的重要技能之一...
总之,"cvsnt.rar"提供了一种在Windows平台上快速建立和管理CVS服务器的途径。通过使用CVSNT,开发者可以高效地进行版本控制,促进团队协作,保证代码的质量和一致性。了解并熟练掌握CVSNT的安装、配置和使用方法,...
### CVS服务器搭建与SSH安全访问配置指南 #### 一、CVS服务器概述及搭建 **CVS (Concurrent Versions System)** 是一种版本控制系统,主要用于管理软件开发中的源代码变更历史。它支持多人协作开发,能够追踪文件...
CVS(Concurrent Versions System)是一种流行的开源版本控制系统,本文将详细介绍如何搭建CVS服务器。 首先,我们需要安装服务器软件cvsnet。cvsnet是Windows平台上CVS服务器的一种实现,它提供了图形化的用户界面...
总结,CVS在Windows上的安装和配置虽然相比Unix系统可能稍显复杂,但借助详细的安装指南和丰富的文档资源,开发者完全可以顺利地在Windows环境中搭建起一个功能完备的CVS服务器。了解并掌握CVS的使用,对于多人协作...
在本文中,我们将详细介绍如何在Win7系统上配置CVS服务器和客户端。 首先,由于旧版本的CVSNT在Win7/2K8系统上可能存在兼容性问题,因此我们需要下载适合的版本。推荐使用CVSNT 2.5.05.3744,可以在...
通过以上步骤,我们可以在FreeBSD平台上成功搭建起一个功能完备的CVS服务器。这对于那些希望利用旧硬件资源进行版本控制和协作开发的团队而言,无疑是一个经济实惠且高效的解决方案。此外,由于FreeBSD系统的强大...
完成上述步骤后,你已经在Windows XP上成功配置了一个CVS服务器,并设置了WinCVS客户端。现在,你可以开始使用CVS进行代码管理和版本控制,允许团队成员协同工作,同时保持代码的完整性和历史记录。记得根据实际需求...
在IT行业中,版本控制系统是开发团队...虽然可能需要一些技术知识,但遵循上述步骤并不断学习,你将能够成功地搭建和管理CVS服务器。在实践中,理解CVS的工作原理和命令行操作将大大提升你的工作效率和团队协作能力。
2. Linux/Unix:通过包管理器(如apt-get、yum)安装CVS服务器和客户端。 三、CVS服务器的配置 1. 创建CVS根目录:这将包含所有仓库的顶层目录。 2. 初始化仓库:使用`cvsinit`命令创建新的仓库,并设置权限。 3. ...
在Windows环境下安装配置CVS服务器是一项基础的IT任务,尤其对于团队协作开发来说,CVS(Concurrent Versions System)是一种流行...遵循上述步骤,你将能够成功搭建一个功能完备的CVS服务器,为团队协作开发提供支持。