如何使用svn2git将svn代码库迁移到git?

4
我想将一个仓库从svn迁移到git。我正在使用来自此存储库的svn2git:https://github.com/svn-all-fast-export/svn2git 当我执行: svn2git/svn-all-fast-export --rules ruleset/module svn/module 我遇到了这个错误:
svn: E000002: : Can't open file 'svn/module/format': No such file or directory

此格式文件不存在。

其中,svn/module 文件夹是包含 trunk 文件夹和 tags 文件夹的仓库,两者都有内部文件。

ruleset/module 文件包含以下内容:

create repository module
end repository


match /trunk/module/
  repository module/
  branch master
end match

match /tags/module_(\d+)
  repository module
  branch master
end match

有人知道如何解决这个问题吗?


你尝试过使用仓库的绝对路径吗? - EncryptedWatermelon
@EncryptedWatermelon 是的,我试过了。 - Beto
尝试从“repository module /”中删除“/”。 - EncryptedWatermelon
@EncryptedWatermelon,同样的错误。 - Beto
你使用的是哪个版本的git和svn?此外,你需要在底部添加一个“match /”来捕获所有内容。 - EncryptedWatermelon
1个回答

3
您可能正在尝试转换svn工作副本而不是存储库。 如果您的存储库托管在远程位置,请先使用svnadmin创建转储。
svnadmin dump

接下来创建一个本地仓库:

svnadmin create /path/to/repo

请查看 svnadmin help create 以获取兼容性选项。您可能需要使用该命令来:

--pre-1.6-compatible

然后加载转储文件 svnadmin load /path/to/repo < dump

随后,可以迁移新创建的本地存储库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接