2009-04-05 10 views
5

Ich habe zu diesem Repo erfolgreich für einige Zeit gedrängt, es fing an, mir den folgenden Fehler von nirgendwo zu geben, irgendwelche Ideen, warum es geschieht?git push error: pack-objects starb mit merkwürdigem fehler

Ishaqs-Mac:source ishaq$ git push 
Counting objects: 68, done. 
Delta compression using 2 threads. 
Compressing objects: 100% (50/50), done. 
Connection to SERVER closed by remote host. 
error: pack-objects died with strange error 
error: failed to push some refs to 'SERVER:PROJECT.git' 

schätzen Sie Ihre Zeit und Hilfe.

+0

Ich bin auf Mac OS X 10.5 Leopard mit Git Version 1.6.2 und die größte Datei, die ich in meinem Repo habe, ist in .git/objects/pack -r - r - r-- 1 Ishaq Mitarbeiter 8.1 M April 5 18:20 pack-7feb0b56fcf48eb328f0d4f1a734064d15f9051c.pack –

Antwort

4

paar Punkte zu überprüfen:

  • Problem des Speicherplatz auf der Druckseite (wie "aus Festplattenspeicher" in $ GIT_DIR oder $ TMP_DIR?)

  • Recht Probleme (unter welcher Account der Prozess ausgeführt wird?)

  • Plattformspezifisches Problem: Unter Mac OS können Sie eine MacPort configuration problem haben.

  • Unterschied der Version zwischen dem git auf der Druckseite und die auf dem entfernten Standort (zum Beispiel bedeutet, wenn Sie versuchen, Submodule auf dem Remote-Peer zu drücken, mit einem git binary, die nicht über Submodul weiß , könnten Sie einige Probleme wie diese haben)

Hinweis: Da ein error message associated with the pack_object() function ist, so überprüfen, ob git pack noch funktioniert.

static void pack_objects(int fd, struct ref *refs) 
{ 
    for (;;) { 
     int status, code; 
     pid_t waiting = waitpid(pid, &status, 0); 
     if (waiting < 0) { 
      if (errno == EINTR) 
       continue; 
      return error("waitpid failed (%s)", strerror(errno)); 
     } 
     if ((waiting != pid) || WIFSIGNALED(status) || 
      !WIFEXITED(status)) 
      return error("pack-objects died with strange error"); 
     code = WEXITSTATUS(status); 
     if (code) 
      return -code; 
     return 0; 
    } 
} 

Hinweis-Bis: Es gibt einige aktuelle Fälle für diese Fehlermeldung, wenn pushing to GitHub (Ende Januar 2009)

+0

Danke, - Ich habe Git über das Installationsprogramm installiert (nicht Mac-Ports) könnte ich immer noch dieses MacPorts spezifische Problem haben? - das Repository hat die gleichen Berechtigungen wie jedes andere Repo - Server hat 1.5.4, aber wenn das das Problem war, sollte es vor dort gewesen sein - git repack funktioniert gut –

+0

Ich klonte nur das Repo an einem anderen Ort, und versuchte zu drücken, es funktioniert gut. weiß nicht, was mit der vorhandenen Kopie falsch ist, es hat 7,8 lokale commits, so kann ich es nicht einfach verwerfen :( –

4

Leider sind die Fehlermeldungen nicht sehr hilfreich sind. Aber dein Problem kommt nicht von Git Pack; die erste Fehlermeldung ist von OpenSSH, die den Remote-Server erreichen, konnten aber nicht melden Sie sich an:

Connection to SERVER closed by remote host. 

Dies ist kein Passwort Problem (das eine andere Fehlermeldung hat), sondern könnte ein Berechtigungsproblem sein (wie eine Gruppe, die keine ordnungsgemäße Berechtigung hat, die ich gelegentlich unter OSX sehe) oder ein unbekannter Accountname (auf manchen Systemen meldet dies mit Passwortproblemen) oder ein Timeout. Sie könnten versuchen, sich über die Befehlszeile anzumelden:

$ ssh [email protected] 

um herauszufinden, welche Art von Problem Sie haben. Sie können auch versuchen, Berechtigungen zu reparieren. OS X scheint besonders anfällig für Probleme mit wiederkehrenden Berechtigungen und das Ausführen von ungeraden Gruppen zu sein.

Hinweis - Da Sie auf Leopard sind, schlage ich vor, dass Sie SSHKeychain installieren, die SSH-Identitäten verwaltet und Ihre SSH-Passphrasen automatisch im Systemkeychain speichert. Es wird Ihrem aktuellen Problem nicht helfen, aber könnte ähnliche Probleme in der Zukunft verhindern.

+0

Hallo Paul, Ich habe bereits Schlüsselbund installiert und ich kann mich auf meinem Server nur f über meine Schlüssel anmelden :-) hatte an einen anderen Ort geklont und es erlaubte mir von dort aus zu pushen. versucht, Patches zu diesem Ort zu erstellen und anzuwenden, hat nicht funktioniert, nachlaufende Leerzeichen Fehler heute schob ich es aus meinem Büro –

+0

Interessant. Ich sehe nicht, wie das zu diesen Fehlermeldungen geführt hat, aber wie gesagt, die Fehlermeldungen helfen nicht viel. Herzlichen Glückwunsch, es gelöst zu bekommen. – Paul

-1

Wenn Sie ein Code-Review-Tool wie Gerrit verwenden, und Sie erhalten dies, wenn Sie versuchen, Code zu pushen, könnte es sein, weil Java-Programme im Allgemeinen bei der Speicherverwaltung fantastisch sind. Und Sie werden niemanden im Internet finden, der Ihnen helfen kann, bis Sie in Ihrer Verzweiflung beschließen, Gerrit zu töten und es neu zu starten. Und dann poof, Ihr Problem geht weg ... bis ein paar Tage später, wenn Sie Gerrit erneut für das gleiche Problem neu starten müssen.

Java ist genial.

+0

Nein, wie ich schon sagte, das einzige, was mich stört, wenn ich von einem anderen Ort als mein Zuhause (Büro, Coffee-Shop, etc.) schieben, funktioniert es gut. funktioniert nicht von zu Hause aus. Ich bin nicht auf Java. –