在我新的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