使用git svn进行STATUS_ACCESS_VIOLATION

时间:2016-07-06 16:59:14

标签: git svn

我正在尝试将代码从SVN repo(TortoiseSVN 1.9.3 64位)迁移到带有Git仓库的TFS 2015上,其中包含大约1 GB的数据。我的计算机上有Git(2.9.0.1),当我尝试这个命令行时:

git svn clone https://server/directory/trunk

它创建.git文件夹,但后来我有一个perl.exe.stackdump文件,出现以下问题

Exception: STATUS_ACCESS_VIOLATION at rip=00000000000
rax=0000000000000000 rbx=00000006010B9448 rcx=00000006010B9448
rdx=00000006010C1788 rsi=0000000000000011 rdi=0000000000000000
r8 =0000000000000000 r9 =00000006010E8F68 r10=0000000100000000
r11=000000049F2423C9 r12=00000000FFFFC200 r13=00000000FFFFC208
r14=00000006010B0498 r15=00000006010B0408
rbp=00000000FFFFC218 rsp=00000000FFFFC1A8
program=C:\Program Files\Git\usr\bin\perl.exe, pid 26220, thread main
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame        Function    Args
End of stack trace

我已经读过Git使用.subversion / servers文件进行身份验证,所以我猜这不是问题吗?我专门在Windows上工作。

4 个答案:

答案 0 :(得分:5)

原因很可能是由于大型提交的大小。我在使用Cygwin git时获取,克隆或重新定位时遇到类似问题,当更改集太大以至于Git和/或Perl内存不足时(当同事提交大型视频文件时这并不好玩)。关闭所有其他内存密集型进程有很大帮​​助。 FWIW,我还发现将Cygwin从32位升级到64位后我遇到的问题较少。

这似乎是well-known bug in Msys Git,根据对错误报告的评论,你应该

  

尝试呼叫连续的git svn fetch来电继续

还建议使用64位版本的Git for Windows。祝你好运。

答案 1 :(得分:0)

我在git上使用旧版本多次出现类似问题

尝试升级到最新版本(我使用的是2.15 64位),它对我来说效果很好。

答案 2 :(得分:0)

原因是必须通过http / https代理访问SVN存储库。 对于Windows的git-svn,必须在$ home / .subversion / servers中添加代理信息。(c:\ Users \ .subversion \ servers),找到全局扇区,并且http-proxy-host和http-proxy-port不兼容。 在Windows上,git-svn代理设置与git代理设置不同,这是我的问题。

答案 3 :(得分:-1)

我遇到了同样的问题-或至少看到了相同的症状。为我解决的是使用 http 而不是 https

使用https,甚至在下载任何内容之前就发生了错误。使用http,它可以立即工作,下载SVN存储库中的每个文件。

我按照配方here运行的命令:

git svn clone <SVN repo URL - with http> --prefix=svn/ --no-metadata --authors-file "authors-transform.txt" --stdlayout .