源代码控制系统

源代码控制系统 (SCCS) 是一个由命令组成的完整系统,这些命令允许指定的用户控制和跟踪 SCCS 文件的更改。 SCCS 文件允许同一个文件的多个版本同时存在,这在开发一种需要大文件的许多版本的项目中非常有用。

SCCS 命令支持多字节字符集 (MBCS) 字符。

SCCS 简介

SCCS 命令构成了一个完整的系统,用于创建、编辑、转换或更改对 SCCS 文件的控制。 SCCS 文件是使用 SCCS 命令控制的任何文本文件。 所有 SCCS 文件都具有前缀 s., 将它们与常规文本文件分开。

注意: 使用非 SCCS 命令编辑 SCCS 文件可能会损坏 SCCS 文件。

在 SCCS 文件上使用 SCCS 命令。 如果要查看 SCCS 文件的结构,请使用 pg 命令或类似的命令来查看其内容。 但是,不要使用编辑器对该文件进行直接更改。

要更改 SCCS 文件中的文本,请使用 SCCS 命令 (例如 get 命令) 来获取要编辑的文件版本,然后使用任何编辑器来修改文本。 更改文件后,使用 delta 命令保存更改。 为了另外为文件存储一个版本,并控制对其内容的访问,SCCS 文件均具有唯一的结构。

一个 SCCS 文件由三部分组成:

  • 增量表
  • 访问和跟踪标记
  • 文本主体

SCCS 文件中的增量表

SCCS 文件系统只存储文件每个版本的更改,而不会为该文件的每个版本创建单独的文件。 这些更改称为增量。 在每个 SCCS 文件中,这些更改将通过增量表跟踪。

增量表中的每个条目包含了有关增量创建者、增量创建时间以及创建原因的信息。 每个增量都具有一个特定的最多四位的 SID(SCCS 标识号)。 第一位代表发行版,第二位代表级别,第三位代表分支,第四位代表序列。

下面是 SID 号的示例:

SID = 1.2.1.4

即,释放1,级别2,分支1,序列4.

任何一位 SID 数字都不能为 0,所以不存在诸如 2.0 或 2.1.2.0 之类的 SID。

缺省情况下,每次一个新的增量创建后,将按升序对之指定一个 SID 号。 此版本的文件是使用所有先前的增量而构建的。 通常,SCCS 文件按顺序增长,所以每个增量只能由其发行版和级别来确定。 然而,文件可以分成多个分支并创建新的增量子集。 然后文件有一条干线(通过发行版和级别来标识增量)以及一个或多个分支,其中包含了 SID 的所有四部分的增量。 在一个分支上,发行版和级别号是固定不变的,且新的增量是通过更改序号来标识的。

注: 从分支构建的文件版本不使用在分离点之后放置在干线上的任何增量。

SCCS 文件中的控制标记和跟踪标记

SCCS 文件的增量表之后一个以 @(at 符号)开头的列表定义了该 SCCS 文件的各种访问和跟踪选项。 以下是一些 SCCS 标记功能:

  • 指定可以编辑文件的用户
  • 锁定文件的特定发行版,使其不能被编辑
  • 允许对文件进行联合编辑
  • 交叉引用文件更改

SCCS 文件的主体

SCCS 文件的主体包含了该文件的所有不同版本的文本。 因此,文件的主体看上去不像一个标准的文本文件。 控制字符对文本的每一部分用方括号括起,并且指定创建或删除了它的增量。 当 SCCS 系统构建了文件的特定版本时,控制字符会指明对应于每个增量的文本部分。 然后所选的文本段将用于构建特定的版本。