0

它不会经常发生,但每隔一段时间我就会摸索我的打字,并在没有文件参数的情况下不小心调用“hg resolve -m”。这有助于标记所有冲突已解决。有没有办法阻止它在没有一个或多个文件参数的情况下解决?

4

1 回答 1

0

您可以使用pre-resolve钩子来执行此操作,但您必须自己解析参数以确保它们有效,这可能很棘手。

您可能需要查看的相关环境变量是:

  • HG_ARGS- 整个命令行的内容,例如resolve -m
  • HG_OPTS- 包含指定选项的字典对象。这将有一个条目调用mark,其值为Trueif-m已被指定
  • HG_PATS- 这是指定文件的列表

根据您将使用的脚本语言,您应该能够测试是否包含forHG_OPTS值,如果包含值并且数组为空则失败。TruemarkHG_PATS

当您考虑到--include--exclude参数时,它开始变得复杂。

如果您将要解析的文件指定为--include选项的一部分,则要包含的文件将在 中HG_OPTS,而不是HG_PATS. 另外,我不知道如果您指定hg resolve -m test.txt --exclude test.txt. 我希望它不会解决任何问题,但您需要对其进行测试。

解析命令参数后,您将返回 0 以允许该命令或 1 以阻止它。如果您返回 1,您应该回显失败的原因以避免以后混淆。

如果您不知道如何执行此操作,那么您需要指定您正在使用的操作系统和外壳,以便任何人提供更具体的帮助。

于 2013-09-01T11:08:46.387 回答