2011-12-01 28 views
2

當您在文件上執行hg log時,僅列出了發生更改的修訂版本。我想看看目錄中所有文件的最新版本是什麼。 (在文件級別上認爲hg blame而不是行級別。)有沒有辦法查看目錄中每個文件的最新Mercurial修訂版?

我以爲hg log -l 1 *可能會工作,但它只是顯示所有文件的最新版本。

這是我想看到的輸出類型:

> hg blame --files 
foo: 15 
bar: 2 
baz: 15 
README: 1 

回答

2

另一種方法是使用hg statushg log組合,像這樣:

for FILE in $(hg status -nA); do 
    hg log -l1 --template '{rev}\t' "$FILE" 
    echo $FILE 
done 
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 

這裏顯而易見的缺點是,這是非常緩慢的。

+0

而不是使用'汞blame',你可以使用'汞父母 --template 「{轉} \ n」 '找到文件被更改的最快速度。 –

相關問題