我发现一些我需要复活的源代码似乎是一个旧的源存储库。但我不知道使用什么源代码控制工具来生成和管理这个源代码库。在目录中,所有文件都有一个“s”。文件名的前缀。在不知道这些文件的格式的情况下,我无法以任何准确度手动提取源代码。即使我这样做了,手动提取源代码也将非常耗时且容易出错。
什么源代码/版本控制系统在其源文件前加上“s”。当它将源文件存储在其存储库目录中时?
我怎样才能有效地从这个存储库目录中提取最新的源代码?
我发现一些我需要复活的源代码似乎是一个旧的源存储库。但我不知道使用什么源代码控制工具来生成和管理这个源代码库。在目录中,所有文件都有一个“s”。文件名的前缀。在不知道这些文件的格式的情况下,我无法以任何准确度手动提取源代码。即使我这样做了,手动提取源代码也将非常耗时且容易出错。
什么源代码/版本控制系统在其源文件前加上“s”。当它将源文件存储在其存储库目录中时?
我怎样才能有效地从这个存储库目录中提取最新的源代码?
SCCS 使用 s。字首。但它可能不是唯一的!
我从来不知道这些知识有一天会派上用场!
前缀是源代码控制系统 SCCS的s.
特征。其代码可能仍然是专有的,但 GNU 拥有可以操作 SCCS 文件的CSSC项目。它跟踪修订中每个文件的更改,称为“增量”。
SCCS 是 POSIX 的官方版本控制系统;您可以在 Open Group 网站上找到记录的命令(但此处未指定文件格式,AFAICT):
POSIX 未指定文件格式。手册页get
说:
SCCS 文件应为未指定格式的文件。
最初的 SCCS 命令集包括一些 POSIX 未记录的额外内容:
help
程序。命令生成错误代码,例如cm3
并help
解释它们。大多数系统现在只有一个命令,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 年代初创建时的不同。