版本控制系统技术演进史,从SCCS到Git( 八 )

RCS版本管理系统

RCS(Revision Control System)由Walter Tichy于1982年用C编写 , 用以替代SCCS , SCCS当时还不是开源的 。

功能

RCS与它的前任SCCS有许多共同之处 , 包括:

逐个文件处理修订;

跨多个文件的更改不能一起归类为原子提交;

跟踪文件旨在一次由一个用户修改;

没有网络功能;

每个跟踪文件的修订都存储在相应的历史文件中;

基本分支和修订在单个文件中的合并 。

技术实现

当将文件检入RCS时 , 会在当前目录下的./RCS/目录中创建相应的历史文件 。 该文件后缀有.v , 比如 , test.txt的文件将将创建test.txt.v的跟踪文件 。

RCS使用反向增量方案来存储文件更改 。 检入文件后 , 文件内容的完整快照将存储在历史记录文件中 。 修改文件并再次检入后 , 将根据现有历史文件内容计算增量 。 旧的快照将被丢弃 , 新的快照将被保存 , 并与增量一起恢复到较早的状态 。 之所以称为反向增量 , 是因为要检出旧版本 , RCS需要从文件的最新版本开始并应用连续的增量 , 直到达到旧版本为止 。 由于始终可以使用当前修订的完整快照 , 因此该方法可以非常快速地检出当前修改 。 但是 , 检出版本越老 , 检出花费的时间越长 , 因为需要针对当前快照计算越来越多的增量 。

推荐阅读