hg从svn转换,需要从多个地方拉分支

时间:2010-10-26 03:53:37

标签: mercurial

我有一些svn存储库的奇怪问题我正在尝试转换为hg。我们的存储库或多或少看起来像这样。

proj_root  ___ trunk
       \  \___ tags
        \_____ branches __A
                   \   \__B
                    \_____Q __ C
                          \___ D

理想情况下,我可以指定--config convert.svn.branches=branches;branches/Q或某些无意义。 (Q本身不包含分支,只包含两个“子分支”。

我刚刚完成转换一个Q只有一个子目录的存储库,那里的解决方案很简单。在{filemap选项中rename C/ .,但在这种情况下失败相当明显(Q分支交错C和D)。

理想情况下,我可以在一次传递中完全忽略Q,然后将convert.svn.branches选项设置为branches / Q进行第二次转换,但是我无法在filemap中使用以下语法:

exclude "Q C D"

,也不

exclude "C D"

我希望排除C和D会阻止在该分支上导入任何文件,并且由于我有一个指定的文件映射,因此将删除生成的空提交。无论我尝试过各种语法选项,我都无法让exclude指令排除任何目录。

编辑:我想要的最终结果是一个merchial repo,其中trunk是正常的提示,并命名为分支A,B,C和D ......在转换过程中,傻Q问题可能会消失如果我能弄清楚如何。

1 个答案:

答案 0 :(得分:1)

由于某种原因,当我昨天尝试这个时,它没有用,但今天它有效...

的文件图
exclude "C"
exclude "D"

现在似乎正常工作......我遇到了一个奇怪的问题,第一次转换我正在崩溃,但这是一个与开发人员讨论的问题(无关)