I'm trying to git svn fetch
my repo to perform a git rebase -i
I'm performing the fetch locally why is it so slow? Should it really take so much time to create 1000 revisions? It seems like the process just "falls a sleep" on a file then suddenly there is a flurry of activity.

- 11,192
- 9
- 51
- 91
-
2SVN by nature is slow. Remember Git needs the *entire* history locally, so it checks out *every* revision from SVN. SVN doesn't pull the entire repository down, just a specific revision. – vcsjones Oct 24 '11 at 16:59
-
Even though I'm not doing any remote operations? – Doug Chamberlain Oct 24 '11 at 17:00
-
What do you mean you're "performing the fetch locally" -- `git svn fetch` fetches revisions from the svn repository. Even if you've already fetched all the revisions, it checks the svn repository to see whether it has them all or not. – Tyler Oct 24 '11 at 17:13
-
Sorry, I wasn't clear. What I mean is I'm surprised that performing all the operations using git on the same server where svn is running, and copying from c:\svn\subversion to c:\git\subversion is so slow. Your saying that's just the nature of the beast. – Doug Chamberlain Oct 24 '11 at 17:17
4 Answers
This seems to be a problem of the windows port of 'git svn'. Or more specifically one of the perl libraries of 'git svn' on windows/cygwin.
cloning a 12MB 75 revision svn repo
linux: 45 seconds
windows (cygwin): 25 minutes

- 1,905
- 22
- 22
-
12 years and 8 months later: the problem persists. It may have gotten a tiny bit better. This morning, cloning the same repository took 44 seconds on linux, and (on average) 12 minutes on various windows machines. – Jan de Vos Nov 14 '16 at 22:37
-
And this of course (I think) was the question, not sure why the accepted answer doesn't say anything about this. Isn't there any way to fix this? For the record I'm running (the linux console emulator) Cmdr and that has the same problem. – grom Dec 01 '17 at 08:25
-
42019 year, `git-scm`, `git version 2.22.0.windows.1`, `git svn fetch` the same shite slow of slowness. – Andry Jun 25 '19 at 15:52
-
1
After going through the same thing, I found it's quite a bit faster on linux than it is with cygwin on windows. I'd give that a try.

- 5,598
- 4
- 32
- 41
-
Yes Cygwin is typically [slower](http://stackoverflow.com/q/6811435/266535). But isn't there a git built for Windows? – styfle Nov 27 '13 at 04:59
-
1Specifically, it was perl that was slow, I don't know if msysgit suffers from the same thing. – gtrak Nov 27 '13 at 17:29
-
4Just tried running the same `git svn clone` command (cloning from a local svn repo) from windows and (a VM running) linux. Git versions: Win: 1.8.3.msysgit.0, Linux: 1.8.3.2. Linux is *BLAZING* compared to Windows! I didn't expect that. – Cristian Diaconescu Apr 18 '14 at 09:00
-
2Thanks. Firing up a linux VM with VirtualBox, doing the `git svn clone` there, then cloning that into cygwin (and bringing over the git-svn config) just saved me a few hours. – Jay K Jul 29 '16 at 22:11
-
2Look at the processes behind the scenes with Process Explorer, it spawns a `pearl.exe` repeatedly to do the job. – Dan Dar3 Mar 31 '18 at 14:15
git svn fetch ( and clone) have to do the heavy lifting and create the entire repository, talking to svn and creating the git repository on your local machine. You may do it on the same server where the svn server is ( which is what I think you meant by locally), but still the git svn client has to process a lots of revisions, processing them one-by-one and creating the repo. 1000 revisions is a lot, it might take a while. Be patient and let it do its job. When you work on the repo, make sure you fetch / rebase often.

- 290,304
- 63
- 469
- 417
-
32 days, 2 restarted servers, 1 hard drive ran out of space, 24 hours later and I finally got it to complete. – Doug Chamberlain Oct 26 '11 at 12:12
-
1
-
3Nope, there is no heavy lifting... This is just a performance bug in the windows port of 'git svn'. – harmv May 26 '21 at 14:49
This problem still persists for Windows: pulling/fetching hangs, and nothing happens.
As an addition to all previous answers, I could suggest using of WSL on your Windows machine. You'll be pleasantly surprised by the speed with which the fetch
will take place. It works like a charm.

- 389
- 1
- 6
- 23