我有一箇中央Mercurial存儲庫,其中包含使用hgsubversion從SVN存儲庫克隆的歷史記錄。自從克隆了原始的hg repo以來,我已經向SVN存儲庫提交了額外的提交;這些目前在默認分支中。使用Mercurial,我如何從默認值更改爲命名分支?
我也有一個命名分支。我已經克隆了這個分支(使用hg clone -b mybranch
)到我的本地系統。現在我想獲取僅在默認情況下存在的更改,並使其在我命名的分支中可用。我看到要做到這一點的顯而易見的方法是在回購上執行hg update mybranch
,然後hg merge default
並提交。這看起來很危險 - 如果我忘了在完成後更新回默認值,所有未來從SVN中取出的內容都會將更改導入mybranch。
我還認爲,也許我不應該指定mybranch當我克隆回購,但克隆整個回購和剛剛更新到mybranch本地。因此,我可以將默認更改拖到本地克隆,並在那裏進行合併。
這裏有什麼正確的答案?在共享回購上做,只是要小心?克隆一切並在本地管理分支機構?還是有更簡單的解決方案,我錯過了?
合併似乎是完美的,我真的沒有得到你的問題。 * hgsubversion *似乎知道SVN分支,所以當你拉動它時,它應該把* SVN-trunk *改變到你的*默認*和* SVN-mybranch *到你的* mybranch *分支中。如果您合併並留在* mybranch *上,* mybranch *的提示是否真的發生改變,如果遠程端只有幹線更改?拉應獨立於您的工作副本的修訂工作。 – 2011-01-20 21:48:52
我的擔心是直接更改主存儲庫及其相關風險。當然,在DVCS的世界裏,所有的回購都基本平等,所以它可能只是我的客戶 - 服務器VCS的偏見。 – 2011-01-21 19:22:00