Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法查看目录中每个文件的最新Mercurial修订版?_Mercurial - Fatal编程技术网

有没有办法查看目录中每个文件的最新Mercurial修订版?

有没有办法查看目录中每个文件的最新Mercurial修订版?,mercurial,Mercurial,当您对文件执行hg log操作时,仅列出经过更改的修订。我想看看目录中所有文件的最新版本是什么。(从文件级别而不是行级别考虑hg) 我原以为hglog-l1*可能有效,但它只是显示了所有文件的最新版本 以下是我希望看到的输出类型: > hg blame --files foo: 15 bar: 2 baz: 15 README: 1 我怀疑如果您想直接使用hg来实现这一点,您需要编写一个扩展(但我在这里绝对不是专家)。但是如果你愿意使用脚本,你会喜欢这个工作吗 for x in *; d

当您对文件执行
hg log
操作时,仅列出经过更改的修订。我想看看目录中所有文件的最新版本是什么。(从文件级别而不是行级别考虑
hg

我原以为
hglog-l1*
可能有效,但它只是显示了所有文件的最新版本

以下是我希望看到的输出类型:

> hg blame --files
foo: 15
bar: 2
baz: 15
README: 1
我怀疑如果您想直接使用
hg
来实现这一点,您需要编写一个扩展(但我在这里绝对不是专家)。但是如果你愿意使用脚本,你会喜欢这个工作吗

for x in *; do
    highest=`hg blame "$x" 2>/dev/null | cut -d : -f 1 | sort -nr | head -n1`
    if [ "$highest" ]; then echo "$x: $highest" ; fi
done

这里明显的缺点是速度非常慢。

另一种选择是结合使用
hg status
hg log
,如下所示:

for FILE in $(hg status -nA); do
    hg log -l1 --template '{rev}\t' "$FILE"
    echo $FILE
done

您可以使用
hg parents--template“{rev}\n”
,而不是使用
hg dull
,来查找文件更改的最高版本。