Svn to Mercurial:更少的版本号和缺少的标签

时间:2010-11-13 17:47:47

标签: svn mercurial

我想将我的项目(https://softsmithy.svn.sourceforge.net/svnroot/softsmithy)从Subversion迁移到Mercurial。 我正在研究本地镜像(svnsync;如http://panospace.wordpress.com/2010/05/19/svn2hg_part1/所述)。 当前的svn修订号是:544 我正在使用以下命令将subversion存储库转换为Mercurial存储库: hg convert --branchsort --authors svn_users.txt softsmithy-mirror softsmithy-mercurial-all

但是,生成的存储库不包含所有标记。

生成的存储库也只有511个版本。我不确定这是否只与标签有关。

一些缺少的标签正在标记trunk的子目录。这可能是问题的一部分。

如何获取所有标签和修订版?

此致 深褐色

2 个答案:

答案 0 :(得分:2)

您可以使用hgsubversion extension重新尝试转换。它旨在允许从Mercurial双向使用Subversion存储库,但因此它有时可以更好地(更快)地处理简单的单向转换。

hg convert和hgsubversion都不可能自动处理subdir标签。您可能必须在转换后手动添加标记。如果你使用当前版本的hg(> = 1.6),这可以相对容易地完成:

$ svn log svn://example.com/original/repo/tags/subdirtag  # note revision number
$ hg tag -r 'svnrev(X)' TAGNAME                           # X is revision number

答案 1 :(得分:0)

您可以在cvs2hg: Mercurial backend for cvs2svn

下阅读有关subdir标记及其导致的问题以及如何解决它的问题

如果您可以从SVN转换为CVS而不丢失信息,则工具cvs2hg也可能有助于转换为mercurial。它可以配置为适应您想要进行的转换(没有1:1的翻译会发生一些解释)。