有没有办法查看目录中每个文件的最新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
,来查找文件更改的最高版本。