2011-08-24 52 views
1

我有一個存儲在mercurial中的項目,它已經遠遠超出了它原來的職權範圍,現在我想將資源庫分成兩個單獨的項目。說文件樹看起來是這樣的:如何防止不同mercurial分支合併?

src/ 
    a/ 
    a.h 
    a.c 
    b/ 
    b.h 
    b.c 

說我hg clone d這個倉庫兩次,並在第一個克隆,我執行了hg rm src/b/*,並在第二,我執行了hg rm src/a/*。這給了我想要的兩個獨立的源代碼樹,歷史和修訂編號保存在每個分支中。

現在我遇到的問題是,如果將來我不小心從a/clone進入b/clone,會發生什麼情況。我想要的是,如果我曾試圖這樣做,就好像這兩個人從未分享過歷史一樣,只是拒絕從另一個分支拉下來或者推向另一個分支。

這可能嗎?如果沒有,是否有一種規範的方式來創建兩個平行的項目,從一個保留歷史和修訂編號的原始項目?

回答

3

的正規途徑是使用hg convert有這樣的filemap:

exclude b 
rename a . 

(事後用ab逆轉以創建第二個存儲庫中的角色)

這樣你結束與兩個不相關的存儲庫(Mercurial拒絕不使用武力推/拉)相關聯,只包含單個目錄的歷史記錄。

另請參閱this問題以供參考。

相關問題