什麼時候你會使用hg export
和hg bundle
?使用Mercurial hg bundle和hg export vs合併?
這些命令列在Mercurial快速入門guide上,但我們不清楚何時使用它們。
目前我們通過擁有不同的資源和合並來管理開發者。即:
cd myapp-1.01
hg pull ../myapp-1.0
hg merge
hg commit
hg push
什麼時候你會使用export和bundle而不是我們使用的方法?
什麼時候你會使用hg export
和hg bundle
?使用Mercurial hg bundle和hg export vs合併?
這些命令列在Mercurial快速入門guide上,但我們不清楚何時使用它們。
目前我們通過擁有不同的資源和合並來管理開發者。即:
cd myapp-1.01
hg pull ../myapp-1.0
hg merge
hg commit
hg push
什麼時候你會使用export和bundle而不是我們使用的方法?
主要區別在於父變更集是否存在於目標存儲庫中。例如,如果你的源回購有這樣的:
[A]--[B]---[C]
和你的目的地有這樣的:
[A]--[B]
,你想送[C]你可以使用包(或只是推/拉)。
但是,如果你的目標資源庫有:
[A]--[D]
,你想[C]添加到它,你不得不使用導出和導入。
簡而言之:bundle
適用於當您要推/拉但沒有良好的網絡路徑時,export
適用於當您要發送變更集的邏輯內容而不是特定的確切變更集。
包是更適合於變更的指定範圍保存到輕鬆傳送文件(如,通過電子郵件發送它們被應用到不同的存儲庫中的其他地方)。
從hg --help bundle
:
束文件然後可以 使用常規手段 轉移並施加到另一個存儲庫與 的分類定價或拉命令。這是 有用 當直接推入和拉動不可用時或者導出整個 存儲庫是不可取的。
導出似乎爲某些範圍的變更集生成標題+差異列表,但helpfile沒有提及這是否有助於自動將它們轉移到其他地方。
此外,導出的文件輸出參數是根據修訂版號等格式化的,這使我相信這個命令通常用於保存修訂,使您更容易查看它們(作爲文件)。
補充@ Ry4an所說的話:一個bundle會將變更集插入到原始倉庫中的相同位置,這意味着在新的倉庫中(通常)會有一個新的倉庫。 – Alex 2013-01-11 09:00:26