2011-04-07 3 views
2

J'ai un dépôt Git distant à partir duquel j'ai cloné et suis capable de tirer/pousser vers ce référentiel. Mais récemment, lorsque j'ai essayé de recloner le même référentiel dans un répertoire différent, cela ne fonctionnait pas.Impossible de Git cloner mais peut faire un Git tirer/pousser sur le repo déjà cloné

$ git clone -v 'http://[email protected]/git/project.git' project 
Initialized empty Git repository in f:/temp/project/.git/ 
Password: 
error: cannot spawn git: No such file or directory 

Je peux encore faire un git pull et pousser sur le dépôt que j'avais déjà cloné.

J'ai essayé de masquer cette erreur mais pas beaucoup d'aide. Quelqu'un peut-il aussi me dire comment je peux déboguer de telles erreurs?

+0

Par hasard était-il plus de sortie après cela? –

+0

Est-ce que git est dans votre PATH? – Raisen

+0

Que dit 'git remote -v' pour le repo sur lequel vous pouvez toujours pousser/tirer? – Schwern

Répondre

1

Impossible de démarrer la sous-commande requise pour l'extraction des référentiels HTTP. Il est susceptible d'être /usr/lib/git-core/git-http-fetch – s'il est manquant, réinstallez Git.


Si sur Linux, utilisez strace pour vérifier quel programme git tente d'exécuter.

strace -o /tmp/git.log git clone http://.../ 

grep "^exec" /tmp/git.log | grep "ENOENT" 
+0

Je ne suis pas sûr que ce soit un problème avec l'installation git locale. J'obtiens la même erreur quand j'essaye de la cloner d'une autre machine qui a une nouvelle installation git. Et aussi je peux cloner d'autres dépôts dans le même répertoire dans le dépôt distant. –

+0

@Udayakumar: Dans ce cas, vous avez probablement raison. – grawity

1

Pour quelque raison que ce soit, http ne fonctionne pas. Cela peut être un problème avec votre serveur http git (si cela affecte plusieurs clients) ou votre installation git (si tous ces clients utilisent la même version de git). Votre référentiel existant utilise ssh, c'est ce que vous a indiqué git remote -v. Vous pouvez donc continuer à l'utiliser. git clone [email protected]/git/project.git devrait fonctionner.

0

Cela peut également se produire si vous avez trop de balises sur votre dépôt (dans notre cas, nous avons eu plus d'un millier créé automatiquement par Jenkins)

La question: est-il neccessary de garder que beaucoup de balises? sinon supprimer certains d'entre eux

+0

Voici plus d'informations sur le problème et comment le reproduire: http://git.661346.n2.nabble.com/Clone-fails-on-a-repo-with-too-many-heads-tags-td7383212. html – antoine

Questions connexes