【发布时间】:2019-07-26 12:26:41
【问题描述】:
我想检查当前提交中修改了哪些文件,并根据我要修改或未指定的文件并将其添加到该提交中。
我正在考虑在 pretxncommit 钩子上使用脚本,该钩子为我提供了我需要的信息,但我看不到任何可能的方法来向该提交添加新的修改文件。
有什么办法吗?
【问题讨论】:
-
我想,你选择了通过欺骗提交来解决任务的坏方法。使用控制钩子,阻止不完整的变更集,手动添加所需的文件 - 更安全
我想检查当前提交中修改了哪些文件,并根据我要修改或未指定的文件并将其添加到该提交中。
我正在考虑在 pretxncommit 钩子上使用脚本,该钩子为我提供了我需要的信息,但我看不到任何可能的方法来向该提交添加新的修改文件。
有什么办法吗?
【问题讨论】:
它不会在pretxncommit,因为此时变更集已经构建
你需要早点上钩,可能在precommit
precommit:控制。这是在开始提交之前运行的。
pretxncommit:控制。这是在在本地存储库中创建了一个新的变更集之后,但在使其永久化的事务完成之前运行的。
【讨论】:
precommit钩子,因为“它在 Mercurial 有任何提交的元数据之前运行,例如要提交的文件,提交消息,或提交日期”/顺便说一句,pretxncommit 也不在游戏中:“这个钩子可以访问与几乎新的变更集相关的元数据,但它不应该对这些数据做任何永久性的事情”
hg diff 与hg status 结合起来(在precommit 时间),然后对其采取所需的操作