2011-09-03 73 views
1

我需要從Mercurial中提取從最後一個「revision」標記到當前工作版本而不是頭部的已更改文件的列表。該進程是批處理腳本的一部分,因此當前修訂位需要自動執行。如何提取兩個mercurial版本之間更改的文件的列表

我知道我可以用得到的當前版本:

hg id -n 

hg parent --template "{rev}\n" 

我也知道,我可以從一個標記的形式(「從」獲得的文件改變列表)是這樣的:

hg st --rev from > file_list.txt 

我也知道,我可以從一個標記的形式(「從」獲得的文件改變列表)到諾特爾標記的版本(「到」)是這樣的:

hg st --rev from --rev to > file_list.txt 

然而,有一個標籤或一種方式,一個可以指定「到」版本自動成爲當前工作的版本?我需要能夠排除「小費」或「默認」文件。

這個過程發生在DOS批處理文件中,如果有幫助,結果都輸出到文本文件。

+0

這是一個包含自己答案的問題。請忽略它! – Philip

+2

[生成在hg版本之間更改的文件列表]的可能重複(http://stackoverflow.com/questions/2024510/generating-a-list-of-which-files-changed-between-hg-versions) –

回答

4

對不起 - 我弄糊塗了哪些文件實際上已經改變了......答案很簡單:

hg st --rev from > file_list.txt 

這將列出從指定的修訂改變當前的工作版本的所有文件和不是頭版本(提示或默認)。

相關問題