由SVN到CVS到GNU

一、GNU

GNU革奴计划,目标是创建一套完全自由的操作系统。理解为面向开源代码的通用、一致性UNIX OS

对于程序开发者来说,要求所有程序都已源代码的形式发布给其他用户,GNU系统提供GCC GNU Complier Collection GNU编译器集合

通过GPL GNU General Public License 通用许可整保证一旦使用了某种GNU功能的应用程序必须同源代码一同发布。

后来的LGPL GNU lesser Genaral Public License 旧称GNU Library General Public License 库通用许可证。针对商业软件,想要弱化这一要求。

除上述2个协议外,GNU的另一个协议条款是GFDL GNU Free Documentation License 自由文档许可。

GNU旨在搭建面向开源的、一致性UNIX OS,使得自由软件成为可能,即:

1.不论目的为何,有运行该软件的自由

2.有研究该软件如何运行,以及按需要改写该软件的自由。取得该软件的源代码为此要求的前提。

3.有重新发布拷贝的自由

4.有改进该软件,以及向公众发布改进的自由。

二、CVS

CVS ConCurrent Version System 是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。

CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下得源码维护。代码版本控制软件,用于开源软件管理。

Concurrent有并发协作一致的含义。CVS可以用于维护任意文档的开发和使用(对于标准化的三维实体标准文件,比如STEP表述的标准实体文件同样

可以采用CVS系统+终端设计系统的方式进行维护以期实现三维实体的协同设计即Concurrent),文件格式可以是文本类型,也可以是二进制类型。

CVS系统采用Copy-Modify-Merge复制-修改-合并的变化序列表支持文件的同时访问和修改。是的C/S两端数据独立。

流行的开放源代码工程:Mozilla、GIMP、XEmacs、KDE、GNOME

CVS内建了客户机/服务器存取方法,所以任何一个可以连接到因特网的开发者都可以存取在一台CVS服务器上的文件。

CVS采用无限制检出的方式使得系统运转,并且对多个开发者检出同一个文件,并作修改的情况采用合并Merge的方式登记回服务器。

.cvs把文件的所有版本保存在一个文件里,仅仅保存不同版本的差异。

我们OS中安装CVS服务器软件实现CVS管理

三、CVS与SVN

1.存储类型

CVS是基于RCS文件的版本控制系统。对象是树形结构组织的带一定额外信息的普通文件。

SVN是基于关系数据库或一系列二进制文件的FS_FS。

2.速度

CVS慢

SVN牺牲存储代价保证速度快

4.元数据

CVS : 文件 

SVN :允许文件有任意多的可明明属性。

5.文件类型

CVS:文本文件

SVN:all



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值