问题
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.
回答1:
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.
回答2:
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
回答3:
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.
回答4:
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.
来源:https://stackoverflow.com/questions/7879099/why-is-git-svn-fetch-so-slow