git svn:"校验和不匹配" "糟糕的修订' HEAD'"错误

时间:2014-10-18 16:01:44

标签: git svn migration

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

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

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

svn在迁移后仍将以只读模式运行,因此我们可以拥有完整的历史记录。

我成功地使用

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

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

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

任何帮助表示赞赏,“试用和错误”使用这么大的存储库非常耗时。

修改

在运行svn clone命令时仍然遇到“Checksum mismatch”错误。 我尝试使用命令

解决问题
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

有什么想法吗?

非常感谢&amp;问候

丹尼尔

1 个答案:

答案 0 :(得分:1)

您可以使用--depth N参数限制克隆深度,以根据您的gitWhole repo构建新的repo。这样,历史记录将被截断为N修订版。