我有一个中央Mercurial存储库,其中包含使用hgsubversion从SVN存储库克隆的历史记录。自从原始的hg repo被克隆以来,我已经撤回了对SVN存储库的额外提交;这些目前是默认分支。
我也有一个命名分支。我已将此分支(使用hg clone -b mybranch
)克隆到我的本地系统。现在我想获取仅在默认情况下存在的更改,并使其在我的命名分支中可用。我看到这样做的显而易见的方法是在repo上执行hg update mybranch
,然后hg merge default
并提交。这似乎很危险 - 如果我在完成后忘记更新回默认值,那么SVN的所有未来拉动都会将更改拉入 mybranch 。
我还考虑过,当我克隆了repo时,也许我不应该指定 mybranch ,但克隆整个仓库并在本地更新为 mybranch 。因此,我可以将默认的更改拉到我的本地克隆并在那里进行合并。
这里的答案是什么?在共享仓库上做,只是要小心?克隆一切并在本地管理分支机构?或者我有一个更容易解决的问题吗?
答案 0 :(得分:6)
一般情况下,Mercurial,无论何时我做一些我认为可能导致问题的事情,我都会克隆回购并在那里试一试。然后我可以选择将这些更改推回或在真实存储库上执行操作。无论哪种方式,我都可以选择失败并且不会造成任何损害。 克隆可以扔掉,如果你搞砸了,你不必保留它们。
答案 1 :(得分:1)
在共享仓库中执行此操作并小心。或者克隆整个共享仓库,在那里进行合并,然后推送到仅分支克隆。