hg incoming 显示版本库根路径

hg incoming display the repository root path

正在执行 Mercurial 命令: -q 中的汞

生成如下列表。 123:b64543 124:ef312a

此命令将在多个存储库上执行。我们如何将存储库路径附加到上述输出以识别存储库?执行命令 'hg root' 为我们提供了该信息,但如果回购有新的变更集,我们只想知道路径。我们查看了模板,但找不到为我们提供正确信息的变量。

感谢任何帮助。

我会稍微 bash 并在模板中调用 hg root。假设所有目录都是当前目录的子目录(否则给出不同的目录列表):

for i in *; do [ -d $i/.hg ] && hg incoming -R$i --template "$(hg root -R$i) {rev}:{node|short}\n"; done

根路径附加到hg incoming 的最简单解决方案是将两个命令与&& 连接起来(假设您使用的是Unix):

hg in -q && hg root

这是有效的,因为 hg incoming 将 return 0 如果有传入的更改,否则为 1(如果有错误则为非零值)。

对于更复杂的输出操作,sed 通常可以做到。例如,以下命令 根添加到输出中:

hg in -q | sed -e "1i$(hg root)"