可以将Fossil将立即提交的SHA1校验和插入到文件中吗?

时间:2010-12-01 22:32:10

标签: fossil

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

由于

2 个答案:

答案 0 :(得分:3)

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

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

请注意,除非使用fossil setting manifest 1之类的命令启用“清单”设置,否则最新版本的化石不会留下这些文件。

或者,您可以解析fossil infofossil status的输出,这两个输出都包含当前结帐ID的值。

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

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

答案 1 :(得分:2)

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

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