【问题标题】:Error while using svn2git for SVN to GIT migration使用 svn2git 进行 SVN 到 GIT 迁移时出错
【发布时间】:2017-06-28 22:36:44
【问题描述】:

当我尝试使用 svn2git 命令导入 svn 文件时出现以下错误

运行命令:git svn init --prefix=svn/ --no-metadata --trunk=trunk --tags=tags --branches=branches https://svnserver.com/abc/svn/projectname 运行命令:git svn fetch 无效的文件系统修订号:svn:E160006:无效的修订号'-1'a t /mingw64/share/perl5/site_perl/Git/SVN.pm 第 150 行。 命令失败: git svn 获取

当我尝试使用 tortoise SVN 客户端结帐时,我遇到了同样的错误。然后我安装了和SVN服务器版本一样的客户端,问题就解决了。

但是当使用 svn2git 时,会出现同样的错误吗?有版本兼容性问题吗?我正在使用 SVN 1.7.9 和 svn2git 2.3.2。

【问题讨论】:

  • 看来您还安装了 64 位 git bash。请卸载它并安装 32 位 git。
  • 在 64 位操作系统上安装 32 位可以吗?
  • 是的,在64位操作系统上安装32位git就可以了。
  • 还是没有运气:( .
  • C:\Users\xyz\Desktop\abc\GITLAB>svn2git svnserver.com/abc/svn/projectname 文件系统修订号无效:svn: E160006: /mingw32/share/perl5/site_perl 的修订号无效'-1' /Git/SVN.pm 第 150 行。命令失败:git svn fetch

标签: git version-control svn2git


【解决方案1】:

您正在使用 svn2git 工具,该工具在后台使用 git-svn

对于一次性迁移,git-svn不是转换存储库或部分存储库的正确工具。如果您想将 Git 用作现有 SVN 服务器的前端,这是一个很棒的工具,但对于一次性转换,您应该使用git-svn,而是使用更适合的svn2git这个用例。

有很多工具叫做svn2git,可能最好的一个是来自https://github.com/svn-all-fast-export/svn2git 的KDE 工具。我强烈建议使用 svn2git 工具。它是我所知道的最好的,它在你可以用它的规则文件做什么方面非常灵活。

您将能够轻松配置svn2gits 规则文件,以从当前的 SVN 布局中生成您想要的结果,包括可能存在的任何复杂历史记录,包括从一个 SVN 存储库生成多个 Git 存储库或组合不同的 SVN干净地回购到一个 Git 回购中。

如果您不是 100% 了解存储库的历史,那么在将 SVN 存储库迁移到 Git 时,http://blog.hartwork.org/?p=763 中的svneverever 是一个很好的工具来调查它的历史记录。


尽管git-svn(或您使用的svn2git)更容易上手,这里还有一些其他原因说明为什么使用KDE svn2git 而不是git-svn 除了灵活性之外更胜一筹:

  • svn2git(如果使用正确的)重建历史记录会更好更干净,尤其是对于具有分支和合并等的更复杂的历史记录而言
  • 标签是真正的标签,而不是 Git 中的分支
  • git-svn 标签包含一个额外的空提交,这也使它们不属于分支,因此在您将--tags 提供给命令之前,普通的fetch 不会得到它们,因为默认情况下只有标签指向提取的分支也被提取。使用正确的 svn2git 标签是它们所属的地方
  • 如果您在 SVN 中更改了布局,您可以使用 svn2git 轻松配置它,使用 git-svn 您最终会丢失历史记录
  • 使用svn2git,您还可以轻松地将一个 SVN 存储库拆分为多个 Git 存储库
  • 或将同一 SVN 根目录中的多个 SVN 存储库轻松合并到一个 Git 存储库中
  • 正确的svn2git 的转换速度比git-svn 快无数倍

你看,git-svn 更差,而 KDE svn2git 更优的原因有很多。 :-)

【讨论】:

    猜你喜欢
    • 2018-11-08
    • 1970-01-01
    • 2015-07-11
    • 1970-01-01
    • 2021-09-30
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多