情境:
我有2个Hg存储库:一个跟踪SVN存储库,比如说 SVN-track ,还有一个本地 pure-Hg 存储库,我从第一个存储库中提取变更集
我将变种集从我的 pure-Hg repo推送到 SVN-track repo,然后我重新定义 SVN-track repo直到历史很好,所以我可以推送到SVN存储库。
在我推送到SVN之后,hgsubversion从SVN拉回变更集并剥离原始变更集。这是它跟踪的方式,我收集(但是......为什么不保留原文并跟踪 it ?)。
问题:
现在,如果你已经挂了很长时间,问题就出现了:我想将SVN变更集拉回到 pure-Hg 存储库中,但所有原始变更集都以dupes形式返回(但是另一个头上有不同的节点ID)我可能能够重新设置我在 pure-Hg 存储库中添加的所有变更集,但之后我会丢失历史记录,而且,实际上,这似乎太过分了。我还可以使用带有重复内容的pull-SVN变更集并合并本地,但这会使得结果更加努力地推回到 SVN-track 。
问题:
.hg/svn/rev_map
添加一行表示原始变更集ID? 答案 0 :(得分:0)
hgsubversion需要撤回更改的原因是(我预期),因为在推送之前svn中可能还有其他更改。 svn中的每次提交都包含一个“rebase-to-tip”,它可能会影响你的变更集。因此,它需要将其拉回来以获得实际发生的事情以及新的变更集ID。
Perfarce(perforce扩展)执行类似的操作,但它将原始更改与新提示合并,因此图形实际上是有意义的。我做的所有改变仍然有重复。