在linux机器上构架cvs服务器的过程

  许多开放软件项目都有他们自己的 CVS 服务器,">项目开发人员把这些服务器作为他们工作的源码仓库。源码仓库的源码目录中保存的都是实现版本控制的历史文件(history file),历史文件名为filename,v。历史文件包含用来恢复所有版本文件的足够信息、所有提交的信息以及提交者信息。历史文件常常被称作RCS文件,因为最早是RCS程序用这种格式来保存文件的所有修改信息,可以从man rcsfile得到历史文件的。

  开发人员每天都会改进 CVS 资源库内的源码,且他们往往分布在世界各地,而 CVS 提供了一种必要的机制,将他们的项目联合成一个集中的、协作的整体。CVS 创建了"组织粘和剂",可以让这些开发人员改进代码而不会干扰别人、丢失重要数据或遗漏彼此对特定源文件的重要更新。

  当开发人员准备好以后,他们把 CVS 上部分当前工作打包成 .tar.gz 文件,作为软件包的新官方版本来发布它。然而,由于种种原因,最新的官方发行版有时并不是最新的。在本教程的第一部分将首先介绍如何使用CVS为个人使用获取最新和最高开发人员版本的源码。

一、版本控制的概念以及几种版本控制工具的简介

1.源文件的标示与版本的概念

源文件是一个软件最为重要的一个组成单元,因此源文件的管理也是整个软件组成管理中最重要的一环,是进行高效软件开发的关键岁所在.对源文件进行管理,必须对源文件进行标示.通常认为只需文件名.而实际上,在一个版本维护工具下对于源文件的标示包括两部分:文件名与版本.即:源文件可以用如下的二元组表示 {filename,version};

所谓版本,一般的软件开发人员都有一个直观的理解,但却很难做出准确的定义.版本,是指某一特定对象的具体实例的潜在存在.这里的某一特定对象是指由版本维护工具管理的如软件组成单元,一般指源文件.具体实例则是指软件开发人员从软件储藏室中恢复出来的软件组成单元的具有一定内容和属性的一个真实拷贝.

把版本定义成一个潜在的存在是基于以下考虑:版本作为源文件的一个表示部分,软件人员对它的引用实际上想得到不同的版本对应的不同源文件,所以说版本是一种抽象.它用来定义一个具体实例应该具有的内容与属性.也就是说版本是一个具体实例的潜在存在,是源文件不同化身的抽象.

有了以上对版本概念的认识.大家对版本维护工具就有了一定的理解:版本维护工具,应该对开发人员屏蔽源文件的存储方式对开发人员是透明的,开发人员不需要明白软件存储库里有什么源文件,只需要说明需要什么样的源文件以及要存储什么样的源文件,版本维护工具自动完成这一切工作.关于版本维护的理论还包括:版本的空间,维数,版本的表示,存储,合并等理论,因为我们这里主要说明cvs 的linux 服务器,所以一切从简,对这方面有兴趣朋友可以阅读相关书籍

本章所讲的cvs 就是这样的一个强大的工具.在讲述cvs 前我们先介绍其他几个版本维护工具.

2.几种版本维护工具的简介

2.1 SCCS

SCCS的全称是Source Code Control System .在介绍之前先定义工作文件的概念.所谓工作文件,是指从软件储藏室得到的有”写”权限的源文件.

SCCS 是一种基本的源文件版本控制工具,它适用于任何正文文件的版本维护.它基于单一文件的版本控制,通常,它的软件储藏室和要维护的文件在同一目录下.

SCCS 工作时,有一个专门的SCCS 格式的文件保留其源文件的编码版本,其记录了足够的信息来生成新的版本,并记录了谁对文件有修改权,拥有该版本的”锁”.

SCCS的版本好事一个四元组,即:发行号,级号,分支号,序号(release,level,banch,sequence)

2.2 RCS

RCS是另一种基本的源代码管理工具,是WALTER.f.Tichy 于1980 年在Indina的 Purdue 大学开发的.RCS和SCCS 类似,也是基于单一文件的版本维护系统.RSC 通过RSC 文件进行文件管理;使用RCS 进行维护的过程与SCCS 相似,也是按恢复提交模式进行的,不多赘述

RCS文件,是RCS 系统中源文件的储藏室,它是一种特殊的编码文件,包含了开发人员恢复老版本的源文件以供开发使用的足够信息.它通常是以.V 为后缀

它的结构如下:

* RCS 头,这一部分记录了对应文件的版本树的头版本号,

* 版本描述: 这一部分描述RCS树上的各个节点的属性性质

* 初始信息:之一部分是在创建第一个RCS 版本时的表述内容

* 文件内容

RCS与SCCS 相似,RCS将所维护的版本也组织成树形结构.但RCS允许多重分支,即,RCS的版本号不像SCCS那样是一个四元组.形式为;发行号,级号,[分支号,序号].版本树如下

2.3 综述

这两种版本维护工具的共同点是:采用了”锁”的方式,对当前问坚持有”锁”的用户才有对文件的修改权.他们采用的机制是所谓的” lock-modify-unlock”.采用这种即只有一个知名的弱点,那就是不至此多用户并发的使用.

时间: 2024-10-14 08:43:13

在linux机器上构架cvs服务器的过程的相关文章

我来说说架设CVS服务器的过程

CVS 是一种客户机/服务器系统,可以让http://www.aliyun.com/zixun/aggregation/7155.html">开发人员将他们的项目存储在称为资源库的中央位置.使用 cvs 客户机工具,开发人员可以对资源库的内容进行更改.CVS 资源库会依次记录对每个文件所做的每个更改,并创建一个完整的项目开发进展历史.开发人员可以请求特定源文件的旧版本.查看更改日志,并根据需要执行其它一些有用的任务. 许多开放软件项目都有他们自己的 CVS 服务器,项目开发人员把这些服务器

Linux与Windows CVS服务器配置与使用

第一部分 CVS服务器的配置(以1.10版) 1. CVS简述与CVS服务器的安装: CVS是目前比较流行与优秀的版本管理与控制工具,它深受大多数开发人员与系统管理的喜爱,同时也是用来管理其它日常文档(如word工作文档之类)的一个强有力的工具.这一部分将对CVS服务器的安装.配置与使用方法进行简单.扼要的介绍,以帮助大家尽快的使用CVS来进行一些版本的管理与控制工作. 2. CVS服务器的安装 CVS服务器版可以从网上的很多地方下载到,也可以到CVS的官方网站进行下载.根据你所使用的系统,下载

介绍CVS服务器的安装、配置与使用方法

CVS是目前比较流行与优秀的版本管理与控制工具,它深受大多数http://www.aliyun.com/zixun/aggregation/7155.html">开发人员与系统管理者的喜爱,同时也是用来管理其它日常文档的强有力工具.下面,小编就对CVS服务器的安装.配置与使用方法进行简单.扼要的介绍,以帮助大家尽快的使用CVS来进行一些版本的管理与控制工作. 1.CVS服务器的安装 CVS服务器版可以从网上的很多地方下载到,也可以到CVS的官方网站进行下载.根据你所使用的系统,下载相应的版

在Linux环境下架设一台CVS服务器

CVS是一种广泛应用的.开源的.透明于网络的http://www.aliyun.com/zixun/aggregation/9591.html">版本控制系统.用户使用CVS时,首先要架设一台CVS服务器,在CVS服务器上导入项目实例.设置 CVS项目访问控制等.而客户则通过客户端来  访问CVS服务器,客户可以取得项目最新代码副本,提交自己修改的代码等,而客户可以从Internet. LAN甚至本机来访问CVS服务器.下面,我就带领大家在Linux环境下架设一台CVS服务器,希望能够对想

Linux系统下Apache服务器设置与优化

Apache服务器的设置文件位于/usr/local/apache/conf/目录下,传统上使用三个配置文件httpd.conf,access.conf和srm.conf,来配置Apache服务器的行为. httpd.conf提供了最基本的服务器配置,是对守护程序httpd如何运行的技术描述:srm.conf是服务器的资源映射文件,告诉服务器各种文件的MIME类型,以及如何支持这些文件:access.conf用于配置服务器的访问权限,控制不同用户和计算机的访问限制:这三个配置文件控制着服务器的各

在Ubuntu Linux上架设Web服务器详解

Apache 是一种功能强大的Web服务器.如今,Internet上无数运行在Linux上的Apache服务器正为Web世界的日益繁荣提供着有力的支撑.本文将向读者介绍如何在Ubuntu Linux系统迅速搭建Apache Web服务器. 尽管Ubuntu 是一种新兴的Linux分支,但Ubuntu 组织却为Apache提供了丰富的支持软件,这些软件都可以从发行版的光盘获取,也可以从官方站点轻松下载.所以,Ubuntu非常适合作为Web服务器的平台. 一. 安装Apache 下面,我们首先介绍如

如何在你的Linux机器上安装运行Oracle jdbc:thin with java (OAS) DBA

oracle  如何在你的Linux机器上安装运行Oracle 开始行动 在RedHat上安装Oracle可以是相当轻而易举的,但要是完全跟着Oracle公司的文档走就未必那么容易了 .最快的捷径是Tom Bisset的主页:http://jordan.fortwayne.com/oracle. 如果您看了Tom的主页,那么您会注意到他漏了JDBC的安装.如果您准备使用JDBC(对于跨平台的Oracle应用十分方便),只需在安装屏幕要求您选择组件(components)时,加上该选项即可.当然,

在linux下配置DNS服务器的方法

有两台邮件服务器分别为192.168.1.1(windows下主机名为b.test.cn)和192.168.1.3(linux下主机名为a.test.com). 在linux下配置DNS服务器,下面是配置过程中设置过的一些文件, /etc/hosts 文件的具体内容如下: # Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 l

Linux下常用cvs命令整理

  1.登录: $export CVSROOT=:pserver:username@the_server_name:/home/cvsroot Note:pserver是访问方式,如果服务器设置的是口令认证,则是 pserver. username是 CVS服务器的用户名,可以根据你的设置修改; the_server_name是CVS服务器的名称或者IP地址; /home/cvsroot是你的CVS服务器的CVSROOT目录,根据你的CVS服务器设置做修改或者询问管理员. 登陆CVS服务器: $