2014-10-18 75 views
2

我想为svn - > git定义最好的迁移路径。git svn:“checksum mismatch”“bad revision'HEAD'”errors

我的目标是获得一个Git仓库:

  • 包含SVN分支的一个子集(10枝)
  • (rev29000出49000)开始在特定修订

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

我成功地克隆了整个svn的使用

git svn clone --stdlayout --authors-file=<myauthorsfile> svn://<mySvnRepo> <myGitRepo> 

与git但我更喜欢具有含上述子集的git的,这里的地方麻烦开始:

我的问题:如我已经成功地构建一个git包含整个SVN回购(gitWhole)回购: 是有可能重建第二git仓库出gitWhole使用上面提到的约束(选择分支/开始rev29000 )?

任何帮助表示赞赏,“试验和错误”是非常耗时与这样大的存储库。

编辑:

仍然击中了 “校验和匹配” 错误运行的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 

任何想法?

非常感谢&问候

丹尼尔

回答

1

您可以限制使用--depth N参数克隆深度,建立一个基于你的gitWhole回购了新的回购协议。这样历史将被截断为只有N版本。

+0

谢谢丹。现在我应该将它与10个选择分支的过滤器(大约30个)结合使用。 – waeberd 2014-10-18 18:41:20