首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mercurial + hgsubversion + svn:两个存储库的故事.(或者,替换变更集?)

Mercurial + hgsubversion + svn:两个存储库的故事.(或者,替换变更集?)
EN

Stack Overflow用户
提问于 2011-11-30 19:53:27
回答 1查看 343关注 0票数 4

场景:

我有两个Hg存储库:一个跟踪SVN存储库(比如SVN-track ),另一个是本地纯汞存储库,我从第一个库中提取变更集。

我把变更集从我的纯汞回购推到SVN轨道回购,然后我在SVN轨道回购中重新建立推送变更集,直到历史是好的和直的,这样我就可以推送到SVN存储库。

在我推到SVN之后,hgsubversion将变更集从SVN中拉回来,并剥离原来的变更集。这就是它跟踪的方式,我收集(但是.为什么不保持原版并追踪它呢?)

问题:

现在,如果您已经坚持了这么长时间,那么问题就来了:我想将SVN变更集拉回纯Hg存储库中,但是所有原始的更改集都是在另一个头上以dupe(但具有不同节点ids)的形式返回的。我也许能够重新建立我在纯Hg存储库中添加的所有变更集,但是这样我就会失去历史,而且,实际上,这似乎是太过费力了。我也可以使用具有重复内容并合并本地的拉-SVN变更集,但这使得返回SVN的工作变得越来越困难。

问题:

  • 是否有更好的方法来执行这个工作流程?如果不是,如何替换hgsubversion从SVN中提取的原始变更集,在纯-Hg
  • 中,为什么hgsubversion必须将SVN变更集(大部分是一个很好的启用工具)拉回SVN变更集以跟踪它们,它不能只保留原始变更集并在.hg/svn/rev_map中添加一行来指示原始变更集id?如果是的话,有什么诀窍?H 215f 216
EN

回答 1

Stack Overflow用户

发布于 2011-12-01 10:57:37

hgsubversion需要撤回更改的原因是(我预计),因为在您推动之前,svn中可能有其他更改。svn中的每一次提交都包含一个“重基到提示”,这可能会影响您的更改集。因此,它需要把它拉回来,以获得实际发生的情况和新的更改集ID。

Perfarce ( perforce扩展)做了一些类似的事情,但它将原始更改与新提示合并起来,因此图实际上是有意义的。尽管如此,我所做的所有改变还是有重复的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8332075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档