我正在尝试为使用 Subversion 的项目做出贡献。我使用 Mercurial 及其 hgsubversion 扩展来克隆存储库。我的工作发生在功能分支上。
如何使功能分支与默认分支(hgspoke)又名主干(svnspoke)上发生的事情保持同步?
所以我用了hg up feature
更新到功能分支,然后hg pull
这给了我默认分支上的变更集。所以我做了hg merge default
,提交合并,然后尝试hg push
将我的变更集发送到 Subversion。 Mercurial 说:“抱歉,找不到合并修订版的 svn 父级。”
我终于弄清楚了如何在问题中描述的事件发生后使我的存储库解开,这样我就可以继续工作,而不必重新克隆父存储库(显然,当您正在从 Subversion 中撤出!)。如果 Subversion 的“提示”超过了您,导致您无法再推动,只需确保您通过 $HOME/.hgrc 行在 Mercurial 中激活了内置的“rebase”扩展,如下所示:
[extensions]
rebase =
然后,当您的存储库被占用时,您应该能够运行此命令:
$ hg rebase --svn
如果我理解正确的话,它会解散你当前离开 Subversion HEAD 的分支,并在 Mercurial 中与 Subversion 中的 HEAD 相对应的分支“tip”上重建它。从那里,您可以继续工作并再次成功进行推送。到目前为止,它一直对我有用;如果您遇到任何问题,请告诉我!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)