由于 Svndiff 向后滑动源 View ,git svn clone 失败

标签 git svn git-svn

我正在使用 git svn clone 将 svn 存储库迁移到 git,然后将克隆推送到远程源以充当新的 git 存储库。

使用这个过程到目前为止我已经成功迁移了 34 个 svn repos,但是在 git svn clone 过程中,有 4 个由于以下错误而失败

命令:

git svn clone --authors-file=authors.txt svn+ssh://git@server/path/to/SVN/project/trunk/repo_name repo_name.git

导致错误:
Svndiff data contains backward-sliding source view: Svndiff has backwards-sliding source views at /usr/libexec/git-core/git-svn line 5061

有没有人遇到过这个错误并找到解决方法,要么强制 git svn clone 忽略错误并继续,要么先修复 SVN repo?

我可能应该为这个问题添加更多背景知识。
我已经指出了各种工具的方向,以协助 svn 到 git 的迁移,但不幸的是,其中大多数是单向转换,不适合该任务。

我有大约 100 个单独的代码库要转换,每个代码库都是活跃开发中的实时系统,因此迁移将是一个分阶段的方法。
  • 创建每个 svn repo 的实时 git clone -> 使用 git svn rebase 保持同步,然后推送到远程源主分支。 git 处于只读模式(适用于开发人员)。
  • 开始使用 git repo 进行代码审查,而不是 svn
  • 开始分支 git repo 以进行更改而不是 svn,将更改同步回 svn。 svn 只读模式(针对开发人员)。

  • SVN 可能会用于部署/构建过程,因此我无法进行一次性转换,需要使用 git svn dcommit 来保持同步以在所有阶段回推。

    最佳答案

    切换协议(protocol)可能有助于解决此错误消息。我在使用 svn over https checkout 时遇到了同样的问题。我将协议(protocol)从 https://切换到 file://(同一台计算机中的服务器数据),这帮助我克服了这个问题。您可以查看支持线程的链接以获取详细信息:https://support.tmatesoft.com/t/subgit-svn-to-git-migration-issue-fails-by-svn-error-e185001/2428/5其他步骤。
    这种解决方法帮助我将旧版 repo 迁移到 git 格式。我正在使用 subgit。

    关于由于 Svndiff 向后滑动源 View ,git svn clone 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24904329/

    相关文章:

    git - 在 git 别名中包含当前分支

    svn - 哪个 SCM 可以轻松处理 90,000 个文件

    svn - 是否可以删除颠覆存储库中的内容?

    svn - git-svn 和远程 git repo sync

    git - 如何在 Mac OS 中设置 kdiff3?

    git - 在 Android Studio GUI 中显示所有冲突文件

    eclipse - 添加到 svn :ignore greyed out in subclipse

    svn - 如何使用 bitbake check out 受密码保护的颠覆存储库?

    cron - 如何通过 cron 同步 Git-Svn 克隆?

    svn - git-svn 不是 git 命令?