场景:
我有两个Hg存储库:一个跟踪SVN存储库(比如SVN-track ),另一个是本地纯汞存储库,我从第一个库中提取变更集。
我把变更集从我的纯汞回购推到SVN轨道回购,然后我在SVN轨道回购中重新建立推送变更集,直到历史是好的和直的,这样我就可以推送到SVN存储库。
在我推到SVN之后,hgsubversion将变更集从SVN中拉回来,并剥离原来的变更集。这就是它跟踪的方式,我收集(但是.为什么不保持原版并追踪它呢?)
问题:
现在,如果您已经坚持了这么长时间,那么问题就来了:我想将SVN变更集拉回纯Hg存储库中,但是所有原始的更改集都是在另一个头上以dupe(但具有不同节点ids)的形式返回的。我也许能够重新建立我在纯Hg存储库中添加的所有变更集,但是这样我就会失去历史,而且,实际上,这似乎是太过费力了。我也可以使用具有重复内容并合并本地的拉-SVN变更集,但这使得返回SVN的工作变得越来越困难。
问题:
.hg/svn/rev_map中添加一行来指示原始变更集id?如果是的话,有什么诀窍?H 215f 216发布于 2011-12-01 10:57:37
hgsubversion需要撤回更改的原因是(我预计),因为在您推动之前,svn中可能有其他更改。svn中的每一次提交都包含一个“重基到提示”,这可能会影响您的更改集。因此,它需要把它拉回来,以获得实际发生的情况和新的更改集ID。
Perfarce ( perforce扩展)做了一些类似的事情,但它将原始更改与新提示合并起来,因此图实际上是有意义的。尽管如此,我所做的所有改变还是有重复的。
https://stackoverflow.com/questions/8332075
复制相似问题