2012-01-21 63 views
7

我需要的結果是,當克隆存儲庫時,代碼位於不是默認分支的分支的最後一個版本,不需要執行「hg update mybranchname」 。 這可能嗎?mercurial將一個分支設置爲新的默認分支

+0

也許重複http://stackoverflow.com/questions/5424377/make-another-branch-default – phemios

+0

你是對的,在上面的鏈接問題是我的相同。對不起,我在谷歌搜索,但沒有找到它。 – giuspen

回答

8

到現在爲止的建議是:您應該always use default as your main branch,因爲如果Mercurial在存儲庫中發現它,它將結賬default

這個變化有點與Mercurial 2.1:你現在可以關閉default分支(如果有的話),並在其位置添加一個名爲default的書籤。新的克隆將檢索書籤並更新到該書籤,從而有效切換到過程中的另一個分支。

請注意,您的責任是將default書籤指向您想要結帳的分支的頭部,因此這不是100%的傻瓜。

+0

這似乎是完整的解決方案,謝謝。 – giuspen

+1

+1非常有趣!超。 – Andomar

1

你可以在分支合併到默認的分支,如:

hg merge mybranchname 
hg commit 

現在分支是效果的主要分支。您可以隱藏舊分支:

hg update mybranchname 
hg commit --close-branch 
+0

所以唯一的方法是從默認分支合併,我不能離開許多分支並將自定義分支設置爲新的默認分支? – giuspen

+0

嗯,你可以'clone -b mybranchname http://repo.url localdir'開始簽出「mybranchname」。我不認爲有一種方法可以讓「小費」指向另一個分支,因爲「小費」本身就是一個真正的分支。 – Andomar

+0

@Andomar - 小費不是分支,而是特殊的bookpark,FYI –

0

默認分支不是「默認」,但從tip分支。

在克隆拉到任何現有的分支之前提交。

+1

對不起,我不明白你的答案 – giuspen

+0

你總是提交**的分支提示變更集**(如果不提交之前提交到另一個分支),而不是「默認」分支 –

+0

我已經在分支上提交了數百次我想成爲默認分支。我明白這是隻可能通過合併到默認分支 – giuspen

相關問題