2013-02-28 36 views
0

我讀過這個問題:How to move some changeset to a new branch in mercurial如何將基礎版本移動到mercurial的另一個分支?

但我的問題稍有不同。我所擁有的是這樣的:

NULL -> 1 -> 2 -> 3 -> 4 -> etc #default 
\ 
    10 #default (new head without parent) 
    \ 
    11 -> 12 -> 13 -> 14 #new-empty-branch 

Ofcourse我應該COMMITED從一開始去新的空分支修訂版10,但我沒有,因此現在我想從默認分支移動版本10到#new-empty-branch。不幸的是,所有的修改都已經推出。

這是我想與落得什麼:

NULL -> 1 -> 2 -> 3 -> 4 -> etc #default 
\ 
    10 -> 11 -> 12 -> 13 -> 14 #new-empty-branch 

任何想法?

回答

0

你確定你真的想要在後面的圖片中顯示什麼嗎?這是一個有兩個根的存儲庫(沒有父母的兩個版本)。這並不違法,但這不正常,絕對不是人們分支的方式。如果你真的想要這樣(並且相信我,你幾乎肯定不會),你將不得不修改變更集10(因爲命名分支是修訂版的散列組件)以及其後的每個變更集父母的散列是修訂的散列組件),並且最終會得到一個不同的存儲庫,每個克隆它的人都必須刪除它們的克隆並重新登錄。

或者你可以只

hg update 10 
hg commit --close-branch 

和收工。這足以讓10停止出現在hg heads

相關問題