2011-09-09 11 views
20

git pull esito negativo con errore seguenteGit tiro non riesce con l'errore di testa cattivo pacchetto

remote: Counting objects: 146, done. 
remote: fatal: unable to create thread: Resource temporarily unavailable 
error: git upload-pack: git-pack-objects died with error. 
fatal: git upload-pack: aborting due to possible repository corruption on the remote side. 
remote: aborting due to possible repository corruption on the remote side. 
fatal: protocol error: bad pack header 

Delle idee come tirare con successo?

+0

possibile duplicato di [Repack of Git repository failed] (http://stackoverflow.com/questions/4826639/repack-of-git-repository-fails) –

risposta

45

Le righe che iniziano con remote vengono emesse da git in esecuzione sul sistema remoto. L'errore:

fatal: unable to create thread: Resource temporarily unavailable 

... suggerisce fortemente che si è a corto di memoria sul server, che può accadere se si dispone di uno:

  1. Un repository con un sacco di file di grandi dimensioni, che può causare il reimballaggio per richiedere molta memoria.
  2. limitata memoria virtuale - sia in generale, o solo per quel conto causa dell'impostazione

Un suggerimento here è quello di limitare la quantità di memoria che imballaggio può prendere accedendo al sistema remoto ulimit (come utente che viene eseguito come Git) e facendo:

git config --global pack.windowMemory "100m" 
git config --global pack.packSizeLimit "100m" 
git config --global pack.threads "1" 
+1

Grazie! Stavo ricevendo lo stesso errore di OP. Ho provato a implementare gli elementi di configurazione pack.windowMemory e pack.SizeLimit, ma stavo ancora ricevendo l'errore. Quando ho aggiunto pack.threads "1" tutto è stato risolto! –

+1

Ho iniziato con grande entusiasmo quando ho provato a passare da svn a git. Ma passando da un problema oscuro a un problema la cui correzione è ancora più oscura, non sono sicuro di quanto sia stata saggia la decisione per il passaggio. –

+0

Ho avuto un problema con quello cambio proprietà pack.SizeLimit invece di pack.packSizeLimit. Questo ha risolto il mio problema. Grazie mille!!! – Stargazer

0

Update: la risposta è stata una modifica suggerimento per la risposta di Mark Longair, che ha ora aggiornato la sua risposta con la denominazione corretta.

Infatti, pack.SizeLimit non è corretto, è pack.packSizeLimit.

Quando ho aggiunto questa opzione, ha funzionato per me :)

ho dovuto metterlo in entrambi i repository remoti e locali.

+0

Questa non sembra essere una risposta alla domanda posta, o almeno una risposta completa, per favore considera di andare più in dettaglio –

Problemi correlati