5

我有一个中央 Mercurial 存储库,其中包含使用 hgsubversion 从 SVN 存储库克隆的历史记录。自从原始 hg 存储库被克隆以来,我已经提取了对 SVN 存储库的额外提交;这些当前位于默认分支中。

我也有一个命名的分支。我已将此分支(使用hg clone -b mybranch)克隆到我的本地系统。现在我想获取仅在默认情况下存在的更改,并使它们在我的命名分支中可用。hg update mybranch我看到的明显方法是在 repo 上做一个,然后hg merge default提交。这似乎很危险——如果我在完成后忘记更新回默认值,那么来自 SVN 的所有未来拉动都会将更改拉入mybranch

我还考虑过,也许我在克隆 repo 时不应该指定mybranch,而是克隆了整个 repo 并在本地更新到mybranch。因此,我可以将默认更改拉到我的本地克隆并在那里进行合并。

这里的正确答案是什么?在共享仓库上做,小心点?克隆所有内容并在本地管理分支?还是我缺少更简单的解决方案?

4

2 回答 2

6

一般来说,对于 Mercurial,每当我做一些我认为可能会导致问题的事情时,我都会克隆 repo 并在那里尝试。然后我可以选择将这些更改推回或在真实存储库上执行操作。无论哪种方式,我都可以选择失败并且不造成任何损害。克隆可以扔掉,如果你搞砸了,你不必保留它们。

于 2011-01-21T04:11:51.757 回答
1

在共享仓库中执行此操作并小心。或者克隆整个共享仓库,在那里进行合并,然后推送到仅限分支的克隆。

于 2011-01-21T03:58:19.963 回答