gpt4 book ai didi

mercurial - 获取 Mercurial 下一次提交哈希

转载 作者:行者123 更新时间:2023-12-05 02:18:24 24 4
gpt4 key购买 nike

我的版本是 56,哈希值是 6af16aa3edf8。下一次修订将是 57,哈希为 ???。有没有办法知道修订版 57 的哈希值?我需要它在预提交 Hook 中。

为什么?

我开发了一个脚本,通过预提交 Hook 调用,用于更新一些版本文件。这样,编译后的可执行文件可以提供有关构建它们的修订版的所有信息。我在我的版本文件中添加了当前提交的修订号,只需使用“父修订号 + 1”检索即可。由于在同一存储库上与其他人协作时修订号不可靠,因此我更喜欢添加散列。不知道如何找回它...

最佳答案

不,即使您完全了解其变更集,您也无法预测下一个哈希值。提交时间也在那里发挥作用:

~/hg-test $ hg ci -m "b in foo"
~/hg-test $ hg id
d65d61e6898a tip
~/hg-test $ hg rollback
~/hg-test $ hg ci -m "b in foo"
~/hg-test $ hg id
c7f5ff744e43 tip

https://www.mercurial-scm.org/wiki/Nodeid

我建议这样解决你的问题:在您的构建工具中,查询项目是否是从存储库构建的。如果是这样:检索存储库信息。例如

ver = $(hg log -r. -T"{node|short} from {date|isodate}")

给你

c7f5ff744e43 from 2017-07-26 14:05 +0200

根据构建链中的信息即时生成版本文件

出于分发目的,生成并修改此文件到包中,以便构建过程在发现它不是从存储库 check out 开始时仍然有一个可以使用的版本文件。

关于mercurial - 获取 Mercurial 下一次提交哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45323433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com