1

假设我想将一个新版本提交到存储库中,但我想自动将该新提交的校验和(我不知道)插入一个文件(或文件的某个位置),我也需要提交该文件。有没有办法在化石中做到这一点?或者可以告诉化石在每次提交之前运行可执行文件或脚本,以便我可以自动编辑文件以插入校验和?

谢谢

4

2 回答 2

3

该文件manifest.uuid包含提交的校验和,该文件包含该提交中的文件manifest列表及其各自的校验和。(manifest.uuid只是清单的SHA1)。这两个文件都是纯文本,易于解析。

化石本身的构建显示了一种用途。构建时,文件 manifest.uuid 使用 awk) 转换为表单的 C 字符串文字,"[1234567890]"并用于形成出现在所有 html 页面页脚中的修订名称的文本。

请注意,最新版本的化石不会留下这些文件,除非使用类似fossil setting manifest 1.

或者,您可以解析fossil infoor的输出fossil status,两者都包含当前结帐的 id 的值。

对于单个文件,fossil finfo将报告文件的完整更改历史记录,其中确实包括该文件在每个时间点的工件 ID。它可以被解析为该文件的工件 id。更好的是,fossil sha1sum将报告任何文件(或文件或标准输入)的 SHA1 总和。文件的 SHA1 总和其工件 ID。

由于整个签入的 id 只是其清单的 SHA1,其中包括每个签入文件的 SHA1,因此实际上不可能在签入的文件中包含签入的 id。

于 2011-03-04T01:33:20.673 回答
2

由于编辑文件以插入其校验和会更改校验和,因此这是不可能的。

我相信放置在每个结帐根目录的清单(无扩展名)文件确实包含某种校验和,如果解析是可以接受的。

于 2010-12-04T05:46:02.317 回答