对文件执行hg log
时,仅列出经历更改的修订。我想看看目录中所有文件的最新版本是什么。 (在文件级别而不是行级别考虑hg blame
。)
我原以为hg log -l 1 *
可能会有效,但它只会显示所有文件的最新版本。
这是我想看到的那种输出:
> hg blame --files
foo: 15
bar: 2
baz: 15
README: 1
答案 0 :(得分:2)
另一种方法是使用hg status
和hg log
的组合,如下所示:
for FILE in $(hg status -nA); do
hg log -l1 --template '{rev}\t' "$FILE"
echo $FILE
done
答案 1 :(得分: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
这里明显的缺点是这很慢。