2010-12-10 53 views
1

après une reconfiguration du système sur mon nouveau Ubuntu 10.10 git svn fetch est devenu très lent d'attente jusqu'à 30 secondes chaque fois qu'il essaie d'obtenir une nouvelle révision svn.git svn fetch est devenu lent (jusqu'à 30 secondes d'attente avant chaque extraction de révision)

J'utilise git-svn version 1.7.1 (svn 1.6.12)

Il récupère les fichiers de la révision normalement rapide, mais attend très longtemps pour obtenir la prochaine révision. Sur d'autres machines, git svn fetching depuis le même dépôt SVN fonctionne très rapidement comme il le faisait quelques jours auparavant sur ma machine. J'ai laissé tomber auth dossier dans le ~/.subverion. J'ai réinstallé tous les paquets liés à git et à subversion y compris les bibliothèques. Cela n'aide pas.

Je fait quelques strace, quand il va chercher les révisions, et attend, je peux voir dans quelque chose comme arbre processus ceci:

% 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 

et la sortie du strace est quelque chose comme:

% 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 

alors quel genre de waitpid fait-il? Je veux mon retour rapide git-svn :)

+0

Juste une supposition: git peut-être svn gc pourrait vous aider ? Bien qu'il devrait être exécuté automatiquement, je pense que ça vaut le coup d'essayer ... – eckes

Répondre

0

Ok, comme prévu, c'était un problème avec le DNS et les résolutions de noms.

Ce que j'ai fait hier, c'est que j'ai changé la configuration réseau pour obtenir uniquement l'adresse IP du DHCP et définir moi-même les domaines de recherche et les serveurs DNS. Faisant plus de strace j'ai remarqué, qu'il essayait d'utiliser un nom d'hôte, que j'ai changé il y a une semaine, et le seul endroit, où il aurait pu le prendre était le DNS. Après avoir rétabli la connexion réseau pour tout récupérer du serveur DHCP, le problème avec git-svn a disparu. Ok, maintenant je ne peux pas utiliser les chemins de recherche DNS comme je le veux, mais au moins git-svn a recommencé à fonctionner.

Probablement je dois jouer un peu avec le /etc/hosts pour définir l'adresse IP locale d'avoir le nom de mon hôte pour faciliter les recherches inversées ...