假设我想将新版本提交到存储库中,但是我想自动将新提交的校验和(我不知道)插入文件(或文件中的某个地方),这也需要我提交。 有没有办法在化石中做到这一点?或者是否有可能告诉化石在每次提交之前运行可执行文件或脚本,以便我可以自动编辑文件以插入校验和?
由于
答案 0 :(得分:3)
文件manifest.uuid
包含提交的校验和,文件manifest
包含该提交中的文件列表及其各自的校验和。 (manifest.uuid
只是清单的SHA1)。这两个文件都是纯文本,易于解析。
化石本身的构建显示了一种用途。构建时,文件manifest.uuid使用awk转换为"[1234567890]"
形式的C字符串文字,用于形成所有html页脚中出现的修订名称文本。
请注意,除非使用fossil setting manifest 1
之类的命令启用“清单”设置,否则最新版本的化石不会留下这些文件。
或者,您可以解析fossil info
或fossil status
的输出,这两个输出都包含当前结帐ID的值。
对于单个文件,fossil finfo
将报告文件的完整更改历史记录,其中包含每个时间点该文件的工件ID。可以针对该文件的工件ID进行解析。更好,fossil sha1sum
将报告任何文件(或文件或标准输入)的SHA1总和。文件的SHA1总和是其工件ID。
由于整个签入的id只是其清单的SHA1,其中包含每个签入文件的SHA1,因此实际上不可能在签入的文件中包含签入的ID。
答案 1 :(得分:2)
由于编辑文件以插入其校验和将更改校验和,这是不可能的。
我相信放在每个结帐的根目录下的清单(无扩展名)确实包含某种校验和,如果解析是可接受的。