【问题标题】:git svn: "checksum mismatch" "bad revision 'HEAD'" errorsgit svn:“校验和不匹配”“错误的修订版 'HEAD'”错误
【发布时间】:2014-10-18 16:01:43
【问题描述】:

我正在尝试为 svn -> git 定义最佳迁移路径。

我的目标是获得一个 git 存储库:

  • 包含 svn 分支的子集(10 个分支)
  • 从特定版本开始(rev29000 out of 49000)

迁移后 svn 仍会以只读模式运行,因此我们可以获得完整的历史记录。

我成功使用

将整个 svn 存储库克隆到 git
git svn clone --stdlayout --authors-file=<myauthorsfile> svn://<mySvnRepo> <myGitRepo>

但我更喜欢有一个包含上述 SUBSET 的 git,这就是麻烦开始的地方:

我的问题:因为我已经成功构建了一个包含整个 svn 存储库的 git (gitWhole) 存储库: 是否可以使用上述约束(选择性分支/从 rev29000 开始)从 gitWhole 重建第二个 git 存储库?

感谢任何帮助,对于如此大的存储库,“反复试验”非常耗时。

编辑:

在运行 svn clone 命令时仍然遇到“校验和不匹配”错误。 我尝试使用命令解决问题

git svn reset -r<revnumberPrior> -p

有问题的校验和之前的 svn 版本在哪里。

不幸的是,我得到的只是错误

C:\git\GitMigration\PPgit>git svn reset -r31911
fatal: bad revision 'HEAD'
rev-list --first-parent --pretty=medium HEAD --: command returned error: 128

有什么想法吗?

非常感谢和问候

丹尼尔

【问题讨论】:

    标签: git svn migration


    【解决方案1】:

    您可以使用--depth N 参数限制克隆深度,以基于您的gitWhole 存储库构建新存储库。这样,历史记录将被截断为仅N 修订。

    【讨论】:

    • 谢谢丹。现在我应该将它与过滤器结合到 10 个选择性分支(大约 30 个)。
    猜你喜欢
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多