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

SCCS第一代版本管理系统

SCCS(Source Code Control System)是最早创建的VCS工具 。 它由贝尔实验室的Marc Rochkind于1972年用C开发 。 SCCS旨在解决源文件修订跟踪的问题 。 此外 , 它还解决程序bug错误定位的问题 。 SCCS是现代VCS的鼻祖 , 至此后VCS发展30年到现在茁壮发展 。

功能

和大多数现代的VCS一样 , SCCS支持一组命令 , 供开发人员做文件版本控制 。 主要实现的功能有:

检入文件以使用SCCS跟踪其历史记录;

检出特定的文件修订以供审核或编译;

检出特定的文件修订以进行编辑;

检入新文件修订以及说明更改的注释;

还原检出文件中所做的更改;

基本分支和变更合并;

提供文件修订历史记录 。

技术实现

当添加文件到SCCS进行跟踪时 , 会创建一种称为s文件或历史文件特殊类型的文件 。 该文件使用以s开头的原始文件名来命名 , 存储在名为SCCS的子目录中 。 比如 , 一个名为test.txt的源文件将在./SCCS/目录中创建一个名为s.test.txt的历史文件 。 创建后 , 历史记录文件将包含原始文件的初始内容以及一些元数据以帮助进行版本跟踪 。 文件校验和存储在历史记录文件中 , 以验证内容是否遭到篡改 。 历史记录文件的内容未经过压缩或编码 。 由于原始文件的内容存储在历史记录文件中 , 因此可以将检出到到工作目录进行查看 , 编译或编辑 。 可以将对文件所做的进一步更改(例如 , 行添加 , 修改和删除)检入到历史文件中 , 并增加修订号 。

推荐阅读