执行Mercurial命令: hg in -q
生成如下列表。 123:b64543 124:ef312a
此命令将在多个repo上执行。我们如何将存储库路径附加到上面的输出以识别回购?执行命令'hg root'为我们提供了这些信息,但我们只想知道repo有新变更集的路径。我们查看了模板,但找不到能给我们正确信息的变量。
提供任何帮助。
答案 0 :(得分:1)
追加 hg incoming
根路径的最简单方法是将两个命令与&&
连接起来(假设您使用的是Unix):
hg in -q && hg root
这是有效的,因为如果有传入的更改,hg incoming
将返回0,否则返回1(如果有错误,则返回非零值)。
对于更复杂的输出操作,sed通常可以这样做。例如,以下命令将根目录添加到输出:
hg in -q | sed -e "1i$(hg root)"
答案 1 :(得分:0)
我会使用一点bash并在模板中调用hg root
。假设所有目录都是当前目录的子目录(否则以不同的方式给出目录列表):
for i in *; do [ -d $i/.hg ] && hg incoming -R$i --template "$(hg root -R$i) {rev}:{node|short}\n"; done