我試圖找出爲什麼水銀認爲我試圖創建在這種情況下,一個新的遠程分支:水銀推關閉分支
alt text http://a.yfrog.com/img716/8421/9vz.png
難道只是想告訴我,分支將在元數據中顯示爲封閉分支?
我對水銀v1.6.1023
編輯:遠程存儲庫的唯一分支被命名爲「默認」
我試圖找出爲什麼水銀認爲我試圖創建在這種情況下,一個新的遠程分支:水銀推關閉分支
alt text http://a.yfrog.com/img716/8421/9vz.png
難道只是想告訴我,分支將在元數據中顯示爲封閉分支?
我對水銀v1.6.1023
編輯:遠程存儲庫的唯一分支被命名爲「默認」
默認情況下,hg push
將推送本地存儲庫中不在遠程存儲庫中的所有變更集。如果你在本地分支上有一些變化(即你的案例中有Environment_Switching
) - 即使是一個關閉的分支 - 他們也會去,除非你明確地使用hg push -b default
排除它們(假設你沒有合併該分支到default
) 。
要回答你的問題,這只是一個警告,你正在創建一個新的遠程分支。
編輯:hg push -r default
和hg push -b default
是等同的。從輸出爲hg help revs
:
Mercurial支持多種方式來指定單個修訂。 ... 爲簡潔起見刪除了文本 ...分支名稱表示該分支的最終版本。
推動分支的最終版本也會推動它的祖先,這是分支上其餘的變更集。
編輯:誤解了這個問題。以下是您如何在一個分支中獲得多個主管。
一般來說,如果你有比遠程不同的基礎創建一個新的頭。
我已經看到了這個在下面的工作流程:
R1用戶A提交和推
R1用戶B拉動
R2用戶A提交和推
R'用戶B提交併推送
Mercurial將決定用戶B的推送是基於R1,而服務器是在R2上的,因此它將只接受不同分支上用戶B的更改。
爲了防止發生這種情況,請在本地提交用戶B的更改,然後執行hg pull
,然後執行hg merge
並將您的更改與遠程更改合併。 比您可以將您的更改推送到遠程服務器。
你描述的是一個分支上的不同頭部。 – Rudi 2010-08-13 08:25:06
是的,即使您關閉的分支也會在您執行hg push
時被推送。如果你想推動默認,你可以做一個hg push -r default
,那麼你不會看到這條消息。
你的解釋確實說明了信息告訴我的是什麼。但是,我確實嘗試了「hg push -b default」,並且我仍然收到了我要推送新分支的消息。 我沒有嘗試@ Ry4an的「hg push -r default」的建議,但我猜測它們是相同的。 – 2010-08-13 12:07:27
聽起來你已經將'Environment_Switching'分支合併回默認了。在這種情況下,您要麼必須(a)將該分支推送到遠程存儲庫(使用' - new-branch'選項來'hg push'),或者(b)使用'hg克隆「,」hg export「和」hg import「創建一個沒有改變的本地存儲庫,然後從那裏推入,或者(c)在推送之前用移植擴展做一些欺騙手段將更改移動到默認值。 – 2010-08-13 13:35:02