在我的新Ubuntu 10.10 git svn fetch
上进行一些系统重新配置后,每次尝试获取新的svn修订版时,等待最多30秒就变得很慢。
我正在使用git-svn version 1.7.1 (svn 1.6.12)
它通常可以快速获取修订的文件,但是等待很长时间才能获得下一个版本。在其他机器上,git svn从同一个SVN存储库中获取的工作速度非常快,就像之前几天在我的机器上一样。
我在auth
中删除了~/.subverion
个文件夹。我重新安装了与git和subversion相关的所有包,包括库。它没有帮助。
所以我做了一些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
回复:)
答案 0 :(得分:0)
好的,正如预期的那样,这是DNS和名称解析的问题。
我昨天做的是,我改变了网络配置,只从DHCP获取IP地址,并自己设置搜索域和DNS服务器。到目前为止,一切都运行良好,但git-svn
做更多的事情我注意到,它试图使用一些主机名,我在一周前改变了,唯一的地方,它可以采取它是DNS。重置网络连接以再次从DHCP服务器获取所有内容后,git-svn的问题就消失了。
好的,现在我不能按我的意愿使用DNS搜索路径,但至少git-svn再次开始工作。
可能我必须使用/etc/hosts
进行一些操作,将本地IP设置为我的主机名,以便轻松进行反向查找...