在我新的Ubuntu 10.10 git svn fetch
上进行了一些系统重新配置后,每次试图获得新的svn修订版时,等待时间变得非常慢,最多等待30秒。git svn fetch变慢(在每次修订获取前等待30秒)
我使用git-svn version 1.7.1 (svn 1.6.12)
它取修订的文件通常快,但然后等待很长的时间下一次修订。在其他机器上,从同一个SVN仓库获取git svn的速度非常快,正如我之前几天在我的机器上所做的那样。
我丢掉了auth
文件夹中的~/.subverion
。我重新安装了所有与git相关的软件包并进行了包括库在内的颠覆操作。它没有帮助。
所以我做了一些strace
,当获取的修订,并等待,我可以在进程树是这样看:
% ps fxx | egrep '(git|svn)'
5154 pts/0 S+ 0:00 | \_ strace -fc git svn fetch
5155 pts/0 t+ 0:00 | \_ git svn fetch
5156 pts/0 tL+ 0:00 | \_ /usr/bin/perl /usr/lib/git-core/git-svn fetch
5217 pts/0 S+ 0:00 | \_ git hash-object -w --stdin-paths --no-filters
5219 pts/0 S+ 0:00 | \_ git cat-file --batch
5253 pts/0 S+ 0:00 | \_ git update-ref -m r75 refs/remotes/trunk 8a79cacd6d3c36eb338f6ed5f23269a163600d0f
和strace
的输出是一样的东西:
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
59.28 0.048312 156 309 waitpid
39.99 0.032594 104 313 clone
0.18 0.000149 0 7443 3296 access
0.11 0.000088 0 5936 692 open
0.09 0.000071 0 2285 munmap
0.06 0.000046 0 228 send
0.05 0.000040 0 5761 read
0.04 0.000036 0 1962 brk
0.04 0.000032 0 4366 fstat64
0.04 0.000031 0 1304 write
0.03 0.000021 0 6972 close
0.02 0.000019 0 6502 mmap2
0.02 0.000015 0 131 recvfrom
0.01 0.000012 0 335 pipe
0.01 0.000011 0 863 recv
0.01 0.000010 0 1662 636 stat64
0.01 0.000009 0 894 fcntl64
那么它在做什么waitpid
?我想我的快速git-svn
回来:)
只是一个猜测:也许Git的SVN GC可以帮助你?虽然它应该自动运行,但我认为,值得一试...... – eckes 2010-12-10 09:55:43