git-svn克隆失败,perl.exe失败断言

时间:2012-09-06 17:13:18

标签: git svn git-svn

我的作品拥有绝对庞大而古老的代码库,很快就无法将多个项目合并在一起。我试图把存储库 - 用它的整个历史 - 拉到git来解决其中的一些问题。

但是,当尝试指定命令以确保拉出整个历史记录时,git svn会导致许多问题。

svn存储库和执行拉取的客户端计算机都是基于Windows 7的(svn存储库位于Server 2008计算机上,但实际上是相同的核心)。

这些是我到目前为止所尝试的命令:

git svn clone "https://path/to/svn/" "local/repository/"

问题:这会检索一个功能存储库,但只能提取大约1/4的与存储库关联的历史记录,因为大约一年前进行了一些重大升级,没有人能给我太多详细信息。我不知道为什么会发生这种突破。作为存储库一部分的一些分支容易引起混淆,与主干线路没有共同的提交。这严重损害了git带来的合并利益。

git svn clone -T "https://path/to/svn/trunk/" "https://path/to/svn/" "local/repository"

问题:没有分支参数,没有正确检索分支。

git svn clone --b="https://path/to/svn/branches" -T "https://path/to/svn/trunk/" "https://path/to/svn/" "local/repository"

问题:以下错误:

 subversion/libsvn_subr/path.c:115: failed assertion `is_canonical(component, clen)`.
 0 [sig] perl.exe" 4432 open_stackdumpfile: Dumping stack trace to perl.exe.stackdump

堆栈跟踪是一个难以理解的指针位置集合,它不提供有用的信息。一个例子:

Frame       Function      Args
028F668     74F21194      (000000EC, 0000EA60, 00000000, 0028F6BC)

2 个答案:

答案 0 :(得分:0)

我认为这与git svn dcommit fails because of assertion error "svn_fspath__is_canonical(child_fspath)" (cygwin)

的问题相同

但建议的解决方案可能并不令人满意(降级......)。

答案 1 :(得分:-1)

您是否检查过内存是否用完?原始克隆实际上是RAM密集型的。如果您是,您可以在另一台计算机上进行克隆,然后将其传输到开发计算机以供使用。