2013-06-18 62 views
0

我的想法是,從一個具有多個rev的repo開始,獲取修訂列表以及每個修改後的{matching-file-patterns}。如何在Mercurial的hg日誌中獲取修改的文件列表及其修訂版本?

目標是通過這些數據來獲取每個.CPP和.H文件已更改的次數,以及其他數據作爲日期,更改文件的用戶......以更全面地跟蹤進度該項目。

hg log --template "revision:{rev}\nfiles:\n{files % ' {file}\n'}" 

以上將部分完成我的要求(與輸出管道爲.txt文件和外部解析它一起),但我還是覺得有趣預過濾的結果,這是,汞日誌例如,僅顯示.CPP和.H文件。

我已經看過了進去,並選擇 「設置:* 的.cpp或* .H」 會做,但

hg log "set: **.cpp or **.h" --template "revision:{rev}\nfiles:\n{files % ' {file}\n'}" 

不會使任何類型的過濾。

任何建議/解決方案都是可以接受的,即使在主要任務是自動完成報告! (我完全相信有一個更簡單的方法來實現它)

謝謝。

回答

0
  1. 使用revsets,沒有文件集日誌命令
  2. 使用簡單的模板:在我的測試模板輸出什麼(狀況相關編輯後),但--template "{rev} {author}\n"秀修訂的名單

Revset會是-r "file('**.cpp') + file('**.h')"

編輯

實現日誌,文件集,用於回購和文件

>hg log "set: **.txt or **.png" --template "{rev}:{node|short} {author|user} {date|isodate}\n{files % ' {file}\n'" 

出於某種原因,施工\nfiles:\n{files % ' {file}\n'沒有不行,但沒有靜態文本都可以使用。

日誌的輸出

6:e0670b3704b4 lazybadger 2012-06-24 15:20 +0600 
    functions.php 
    readme.txt 
    screenshot.png 
    style.css 
5:1c722f4facda lazybadger 2012-02-07 07:56 +0600 
    readme.txt 
    sidebar.php 
    style.css 
4:630f5c2e836a lazybadger 2012-01-09 22:33 +0600 
    comments.php 
    functions.php 
    header.php 
    readme.txt 
    sidebar.php 
    style.css 
3:168c55fc758d lazybadger 2011-12-14 04:01 +0600 
    footer.php 
    functions.php 
    header.php 
    readme.txt 
    search.php 
    style.css 
0:f4413f649a23 lazybadger 2011-08-06 01:13 +0600 
    404.php 
    archive.php 
    archives.php 
    comments.php 
    footer.php 
    functions.php 
    header.php 
    html5.js 
    image.php 
    index.php 
    license.txt 
    links.php 
    page.php 
    screenshot.png 
    search.php 
    sidebar.php 
    single.php 
    style.css 

注重爲的文件列表變更 - 它們包括所有類型的文件,不僅需要類型

+0

我使用的模板取自http://selenic.com/ HG /幫助/模板。 – Manex

+0

這個想法是,我得到了每個rev上已更改的.CPP和.H文件的列表。我不明白你的榜樣可以做到這一點,你能澄清嗎?謝謝。 – Manex

+0

@Manex - 我知道你的模板的來源,我知道它的正確和功能(在最簡單的情況下),但它不工作/在我的測試/)模板+ revset組合。我不能說,爲什麼這對不起作用(沒有'hg log'的輸出,而它必須在這裏) –

相關問題