2012-06-22 36 views
1

我是新來的mercurial,所以對於新手問題感到抱歉。
我在/ home/Cassie/localRepo創建了一個名爲「localRepo」的本地資源庫。我有兩個分支,默認和src1分支。對於默認分支,它有file1,file3和src1-branch,它有file1,file2和file4。每當我嘗試列出該存儲庫中的所有文件時,它只會顯示屬於當前分支的文件。如何列出Mercurial中屬於不同分支的所有文件?

例如,如果當前分支是SRC1分支,那麼如果我輸入

ls -l 

這表明只有

file1 file2 file4 

有沒有辦法看到所有文件屬於同一個存儲庫這樣的作爲

file1 file2 file3 file4 

我已經試過

hg status --all 

它仍然只顯示file1 file2和file4。

我的機器是紅帽linux工作站6與mercurial 1.7和tortoisehg。

非常感謝你,

回答

0

有,我知道沒有標準方法,但你可以使用你所提到的方法。

hg branches ------ tells you all the branch 
branch1 
branch2 
..... 

hg update -C branch1 ----- switches you to a branch1 
hg status --all   ----- provides all files for branch1 

hg update -C branch2 ----- switches you to branch2 
hg status --all   ----- provides all the files for branch2 

您可以合併所有分支的輸出並刪除多餘的文件名。 你可以寫一個腳本來做到這一點。

另外-C是危險的,因爲它在轉換到分支時丟棄文件。因此,只有在你想要提交的工作目錄中沒有更改時才應該使用它。

警告:這個想法通常不是看兩個不同分支文件的好方法。

當你在branch1中時,你可以添加一個文件c.txt,並在branch2中添加另一個具有不同內容的c.txt。

在這種情況下,語義上它是兩個具有相同名稱的不同文件。

1

hg manifest --all列出所有修訂版本中的所有文件,包括已刪除和重命名的文件。

考慮:

結果的
o 5: Removed file1, Renamed file3->file6 
| 
| @ 4: Added file5 
| | 
| o 3: Added file4 
| | 
o | 2: Added file3 
| | 
o | 1: Added file2 
|/ 
o 0: Added file1 

hg manifest --all

file1 
file2 
file3 
file4 
file5 
file6 
+0

感謝reply.However,也許是因爲它是因爲我善變的版本,我無法執行命令'汞meanifest --all'。我的系統中不存在這樣的命令。任何其他想法?謝謝, – Cassie

+0

升級? :^)它看起來像在 - 1.9中添加了--all。 –

相關問題