CVS和Subversion

Anonim

CVS与Subversion

并发版本系统(也称为并发版本控制系统或CVS)是一个免费的软件版本控制系统 - 也就是说,它是一个向公众开放的程序,用于管理对存储在计算机中的文档,程序和其他信息的更改。文件)。它允许多个开发人员进行协作。

Subversion(也称为SVN)是一个版本控制系统,用于维护当前和先前版本的文件(如源代码,网页和文档)。它是CVS及其最兼容的后继产品的直接升级。它也是一种开源技术,已广泛应用于多个项目 - 如Apache Software Foundation,Free Pascal,MediaWiki和Google代码。

CVS使用客户端服务器体系结构 - 这意味着服务器存储特定项目的当前版本(或多个版本)以及保存其历史记录。然后,客户端连接到服务器,作为“签出”在连接到服务器之前已完成的项目副本的方法。然后,客户端能够处理该项目的副本,然后检查他之后所做的更改。除了允许一个客户端签入某个项目的副本之外,CVS还允许多个客户端同时处理同一个项目并签入。客户端将能够在他们自己的项目工作副本中修改文件,并将这些编辑发送到服务器。

Subversion提交 - 也就是说,创建一组暂时的更改并使它们永久化 - 作为真正的原子(或一系列数据操作,其中一切都发生或什么都不发生)操作。 Subversion还允许用户重命名,复制,移动和/或删除文件;但是,这些文件将保留其完整的修订历史记录。该系统使用可分析输出,本机客户端/服务器分层库设计,以及分支和标记作为廉价操作(独立于文件大小)。有PHP,Python,Perl和Java的语言绑定。 Subversion也根据更改大小而不是数据大小来计算。

CVS可以维护项目的不同分支 - 也就是说,同一项目的不同方面或排列可能从源项目分支出来,CVS将维护所有版本(项目的已发布版本形成一个分支用于修复错误,同时例如,当前正在开发的不同版本可能包含新功能和主要更改,并形成同一项目的分支。

摘要: 1. CVS允许多个用户在同一个项目上进行协作; Subversion维护文件的当前版本和先前版本。 2. CVS允许用户签入同一项目并进行修改; Subversion提交为真正的原子操作。 3. CVS可以维护项目的不同分支; Subversion使用可解析的输出。