2

我发现一些我需要复活的源代码似乎是一个旧的源存储库。但我不知道使用什么源代码控制工具来生成和管理这个源代码库。在目录中,所有文件都有一个“s”。文件名的前缀。在不知道这些文件的格式的情况下,我无法以任何准确度手动提取源代码。即使我这样做了,手动提取源代码也将非常耗时且容易出错。

什么源代码/版本控制系统在其源文件前加上“s”。当它将源文件存储在其存储库目录中时?

我怎样才能有效地从这个存储库目录中提取最新的源代码?

4

2 回答 2

2

SCCS 使用 s。字首。但它可能不是唯一的!

我从来不知道这些知识有一天会派上用场!

于 2013-11-09T22:45:33.803 回答
2

前缀是源代码控制系统 SCCS的s.特征。其代码可能仍然是专有的,但 GNU 拥有可以操作 SCCS 文件的CSSC项目。它跟踪修订中每个文件的更改,称为“增量”。

SCCS 是 POSIX 的官方版本控制系统;您可以在 Open Group 网站上找到记录的命令(但此处未指定文件格式,AFAICT):

POSIX 未指定文件格式。手册页get说:

SCCS 文件应为未指定格式的文件。

最初的 SCCS 命令集包括一些 POSIX 未记录的额外内容:

  • cdc — 更改 delta 评论(用于更改 delta 的签入评论)
  • comb — 组合,有效地合并 deltas
  • 帮助——没有前缀;当时没有任何其他help程序。命令生成错误代码,例如cm3help解释它们。
  • sccsdiff — 文件的两个增量之间的差异

大多数系统现在只有一个命令,sccs,它接受操作名称,然后是选项。通常,文件被放置到./SCCS/子目录中并根据需要从中提取,sccs前端将处理名称扩展,添加s.或添加SCCS/s.到文件名的开头。

要提取最新版本的源代码,请使用get.

get s.*
sccs get s.*

这些会得到每个文件的默认版本,默认默认是文件的最新版本。

如果您需要进行更改,请使用:

get -e s.filename.c
...make changes...
delta -y'Why you made the changes' s.filename.c
get s.filename.c

请注意,文件“丢失”s.了工作文件名的前缀,就像 RCS(修订控制系统)文件丢失了,v工作文件名的后缀一样。如果您没有遇到过这种情况,请接受 SCCS 和 RCS 在 70 年代末或 80 年代初创建时的不同。

于 2013-11-10T20:37:37.753 回答