我正在尝试将代码从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上工作。
答案 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 .