2011-01-26 118 views

回答

8

你會想要使用隨mercurial一起提供的convert擴展。由於您想從歷史記錄中清理目錄,因此您必須完全過濾現有的存儲庫,然後將其轉換爲新的存儲庫。

假設你的回購以下組成結構:

/ 
src 
doc 
images 
upload 

創建包含以下內容

exclude upload 

你可以做更多與此文件,但保持簡便得到一個簡單的文本文件到你的目標。要排除的路徑是相對於庫根

現在運行善變轉換

hg convert --filemap path/to/the/textfile old-repo new-repo 

切換到新的回購協議的目錄。請注意,mercurial創建了一個裸/空rev回購(沒有內容,但.hg目錄)。運行以下內容更新到最新的更改。注意上傳目錄不見了!

cd path/to/new/repo 
hg update 

警告:我不知道如何處理命名的分支或標記。你是你自己的。至少你不會修改原始的回購。根據需要製作儘可能多的副本,以便正確使用。