hg unbundle进入新的分支

时间:2010-02-16 21:23:40

标签: mercurial

是否可以将捆绑的变更集拆分为存储库中的新分支?我尝试在执行unbundle之前切换到新分支,但这不起作用。

基本上我已经开始了一个新的开发线,并意识到我的提交应该在一个新的分支中。我已经完成hg strip将更改集删除到一个包中,现在我想将这个包重新发送到一个新的分支。

我想我可以为每次提交重新创建补丁,然后手动重新发送每个提交(或者编写一个脚本来执行它),但这似乎是不必要的。谢谢你的帮助!

3 个答案:

答案 0 :(得分:3)

通常,unbundle会完全按照原样添加旧的变更集(从相同的父变更集开始)。为每次提交重新创建补丁的一个很好的替代方法可能是使用移植或rebase扩展(在这种情况下我会使用rebase)。

答案 1 :(得分:0)

您可以将存储库克隆到临时存储库,将包解包到其中,检查更改,如果您满意,请将它们推送到主存储库。如果您不批准更改,只需删除临时存储库和软件包。

答案 2 :(得分:0)

没有。 branch属性是changeset本身的一部分,改变它会改变hashid,从而使它成为一个不同的变更集。捆绑只是手动完成推/拉,它不能改变变更集,因此无法更改其分支。唯一可能的事情是实际修改变更集或重新创建变更集,如export / import,transplant,histedit,mq和convert。