如何将一系列修订从 svn 推送到 hg

How to push a range of revisions from svn to hg

我正在尝试从 Subversion 迁移到 Mercurail (Hg)。对于该过程,我使用 hg convert 命令。我只想将一年前的最新修订版迁移到 Mercurial。我尝试使用以下命令

hg convert --rev 4234 http://mysvn/myrepo/trunk

但上述命令仅迁移早于 4234 的修订版 (4233, 4232,..... ,1 ,0)

如何从 HEAD 迁移到 mercurial 到指定版本。

您将需要 SVN 特定的转换配置选项 svn.startrev

您可以将其添加到 .hgrc 中的 [convert] 部分:

[convert]
svn.startrev=4234

或者您可以在命令行中指定该配置选项:

hg --config convert.svn.startrev=4234 convert http://mysvn/myrepo/trunk

请注意,文档说这仅适用于单分支转换。如果您有多个分支,您应该可以使用 splice map 选项来实现您的目标,但这可能需要一些额外的工作。