【问题标题】:Is it possible to add new files to mercurial commit via pretxncommit hook or any other method?是否可以通过 pretxncommit 钩子或任何其他方法将新文件添加到 mercurial 提交?
【发布时间】:2019-07-26 12:26:41
【问题描述】:

我想检查当前提交中修改了哪些文件,并根据我要修改或未指定的文件并将其添加到该提交中。

我正在考虑在 pretxncommit 钩子上使用脚本,该钩子为我提供了我需要的信息,但我看不到任何可能的方法来向该提交添加新的修改文件。

有什么办法吗?

【问题讨论】:

  • 我想,你选择了通过欺骗提交来解决任务的坏方法。使用控制钩子,阻止不完整的变更集,手动添加所需的文件 - 更安全

标签: mercurial mercurial-hook


【解决方案1】:

它不会在pretxncommit,因为此时变更集已经构建

你需要早点上钩,可能在precommit

precommit:控制。这是开始提交之前运行的。

pretxncommit:控制。这是在本地存储库中创建了一个新的变更集之后,但在使其永久化的事务完成之前运行的。

https://book.mercurial-scm.org/read/hook.html

【讨论】:

  • 你不能对这个任务使用precommit钩子,因为“它在 Mercurial 有任何提交的元数据之前运行,例如要提交的文件,提交消息,或提交日期”/顺便说一句,pretxncommit 也不在游戏中:“这个钩子可以访问与几乎新的变更集相关的元数据,但它不应该对这些数据做任何永久性的事情”
  • 我认为您可以将hg diffhg status 结合起来(在precommit 时间),然后对其采取所需的操作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-18
  • 1970-01-01
  • 2018-12-30
  • 1970-01-01
  • 1970-01-01
  • 2015-04-20
  • 2019-01-17
相关资源
最近更新 更多