Dan*_*Tao 7 svn mercurial rebase hgsubversion
我在SO上找到了似乎非常相似的问题,似乎是很好的答案; 但出于某种原因,我似乎还无法弄清楚如何让它发挥作用.我担心的是,它可能根本不可能.
情况就是这样:我正在开发一个小型团队,该团队使用中央SVN存储库作为我们的版本控制系统.我的对程序员和我很沮丧没有选择本地提交(并且不想经历使用SVN分支的麻烦),所以我们研究使用Git或Mercurial作为SVN客户端并发现hgsubversion似乎能够做我们想要的事情:在Hg存储库上本地工作,在本地提交,并在我们准备好时仅推送到SVN.
当时间推进时,我们收到了来自Hg的错误消息:
Sorry, can't find svn parent of a merge revision.
Run Code Online (Sandbox Code Playgroud)
我想知道问题是我们是否必须从SVN获取更改以获取我们的队友更新,然后合并我们的本地更改,现在Hg无法弄清楚如何让SVN开心?这似乎是我从其他SO问题和答案中得到的信息,我已经看过了; 然而,在这些案件(做hg rebase --svn)中分配的建议似乎对我们不起作用; 给出了相同的"找不到svn parent"的消息.
这甚至可能吗?或者当团队中的其他开发人员直接对SVN进行更改时,它是否比它的价值更麻烦?
我已经这样做了一年多了,而且效果很好.我得到甜蜜,甜蜜的DVCS爱和其他人,呃......不要.我使用hgsubversion作为我的桥梁.我对hg-svn有点麻烦.因人而异.
我用这个来设置,从那以后一直爱着它!
需要注意的是,您无法使用Mercurial合并分支之间的更改.您仍然可以在分支(使用hg up [some-branch])上工作,但是当需要将它合并到trunk时,您需要提交,推送some-branch,然后使用subversion合并some-branch到trunk.
我准备了一篇博文,详细介绍了这个过程.你可以在这里看到:http://xinmyname.tumblr.com/post/11305033055/subversion-mercurial-branches-oh-my
祝好运!
问题是hgsubversion无法将Mercurial的合并推送到Subversion.只要您不创建任何合并更改集,一切都应该正常工作.(FWIW Subversion合并工作正常,因为hgsubversion只是忽略合并信息并创建常规的单父更改集.)您所描述的问题是hgsubversion的已知限制之一; 其他人列于hg help subversion.
为了解决这个问题,您可能需要考虑使用rebase扩展来确保推送的历史记录是完全线性的.
| 归档时间: |
|
| 查看次数: |
1110 次 |
| 最近记录: |