Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

STATUS_ACCESS_VIOLATION with git svn

Tags:

git

svn

I'm trying to migrate our code from an SVN repo (TortoiseSVN 1.9.3 64 bits) with about 1 GB data on it, to a TFS 2015 with a Git repo. I have Git on my computer (2.9.0.1) and when I try this command line:

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

It creates the .git folder, but then I have a perl.exe.stackdump file with the following problem

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

I have read that Git uses the .subversion/servers files to authenticate, so I guess this isn't the problem? I work exclusively on Windows.

like image 688
krimog Avatar asked Jul 06 '16 16:07

krimog


People also ask

Can you use Git with SVN?

The git-svn tool is an interface between a local Git repository and a remote SVN repository. Git-svn lets developers write code and create commits locally with Git, then push them up to a central SVN repository with svn commit-style behavior.

What is different between Git and SVN?

The difference between Git and SVN version control systems is that Git is a distributed version control system, whereas SVN is a centralized version control system. Git uses multiple repositories including a centralized repository and server, as well as some local repositories.

Why is git preferred over SVN?

Many people prefer Git for version control for a few reasons: It's faster to commit. Because you commit to the central repository more often in SVN, network traffic slows everyone down. Whereas with Git, you're working mostly on your local repository and only committing to the central repository every so often.

What is git SVN clone?

The git svn clone command transforms the trunk, branches, and tags in your SVN repository into a new Git repository. Depending on the structure of your SVN repo, the command needs to be configured differently.


1 Answers

The cause is most likely due to the size of a large commit. I’ve seen similar issues before when fetching, cloning or rebasing while using Cygwin git when the change set is so large that Git and/or Perl run out of memory (it’s not fun when a colleague commits large video files). Closing all other memory-intensive processes helps a lot. FWIW, I also found that I had less problems after upgrading Cygwin from 32-bit to 64-bit.

This seems to be a well-known bug in Msys Git and according to comments on the bug report, you should

try calling successive git svn fetch calls to continue

Use of the 64-bit version of Git for Windows is also recommended. Good luck with it.

like image 198
Anthony Geoghegan Avatar answered Sep 19 '22 15:09

Anthony Geoghegan