2009-07-12 4 views
1

Je rencontre un comportement étrange, donc j'espère que quelqu'un peut aider à faire la lumière sur ce sujet. Quand je fais un git push, il se termine par un "fatal: l'extrémité distante a raccroché de manière inattendue" mais la vérification des logs git et du repo distant semble indiquer que le push s'est bien passé. Relancer le git push renvoie «Tout est à jour».git raccroche inopinément (mais la poussée fonctionne)

Donc, un peu d'arrière-plan, j'ai dropbear et git installé sur un Palm Pre et j'essaie de commettre des modifications à un repo sur gitorious. Depuis dropbear est un peu timbré, je devais créer un script shell (appelé sssh) qui fait l'équivalent de

ssh -i ~/.ssh/id_rsa $* 

comme dropbear ne recherche automatiquement la publickey. De plus, j'ai défini GIT_SSH comme étant/opt/bin/sssh. Donc, à ce stade, tout semble pour fonctionner, mais je ne sais pas pourquoi le message «fatal» ne cesse de surgir. Des idées?

Mise à jour: Edité pour montrer ce que j'ai dans .git/config.

[email protected]:/opt/src/modifications# cat .git/config 
[core] 
    repositoryformatversion = 0 
    filemode = true 
    bare = false 
    logallrefupdates = true 
[branch "master"] 
    remote = origin 
    merge = refs/heads/master 
[remote "origin"] 
    url = [email protected]:webos-internals/modifications.git 
    fetch = +refs/heads/*:refs/remotes/origin/* 
[remote "all"] 
    url = [email protected]:webos-internals/modifications.git 
    url = [email protected]:jauderho/webos-hacks.git 
+0

Je viens de rencontrer ce problème sur une boîte OpenWRT. J'ai un email que je vais envoyer à la liste de diffusion dropbear une fois que j'ai souscrit détaillant ce problème. Je ne vois vraiment aucune référence à ce problème dans un endroit où les développeurs dropbear le verraient. Il n'apparaît pas non plus dans leur journal de validation. Enfin, un problème est que les hooks post-réception ne sont pas exécutés. Donc, alors que les références et les objets sont poussés, les hooks ne fonctionnent pas, ce qui est un problème. –

Répondre

1

Ceci est seulement une supposition (vous devriez probablement demander au Git For Human Beings Mailinglist ou si cela ne vous aide pas la liste de diffusion des développeurs ([email protected])). Je suppose que Dropbear lui-même ou votre script wrapper se termine de telle manière que Git pense qu'il y a un problème avec la connexion. Cela peut être quelque chose d'aussi trivial que Git essayant de faire correspondre un pattern sur une chaîne retournée par OpenSSH qui n'est pas 100% identique sur Dropbear, ou un mauvais code de sortie, ou quelque chose comme ça.

+0

[email protected] est la liste de diffusion git, ce n'est pas censé être la liste de diffusion 'développeur seulement' ou quoi que ce soit. –

+0

Je viens d'essayer strace git push maître d'origine et a remarqué que pour une raison quelconque .git/refs/remotes/origine/maître était manquant. J'ai ajouté cela mais je ne semble pas faire de différence. Va demander à la liste de diffusion si. –

0

Si vous utilisez un autre client ssh, vous avez la même erreur?

Je pense que c'est peut-être un problème avec dropbear qu'un problème avec Git.

Les refs sont à l'aide git push origin master au lieu de git push ssh://server/path/to/git/repository master

+0

Il est censé fonctionner correctement avec openssh. Le problème d'avoir besoin d'un script shell en premier lieu est parce que dropbear ne cherche pas un fichier clé dans un emplacement par défaut. Je mettrai à jour le post original avec ce que j'ai dans .git/config –

0

J'obtiens des erreurs avec des crochets post-commit dans Mercurial qui font croire que la transaction a échoué, mais il réussit toujours.

Pourrait être quelque chose de similaire.