2015-12-12 20 views
8

Utilizzo di git-lfs/1.1.0 (GitHub; linux 386; go 1.5.1), dimensione del file 4.3G.git-lfs: fatale: impossibile gestire file così grandi (4.3G)

git init 
git lfs install 
git lfs track *.nnex 

.gitattributes: *.nnex filter=lfs diff=lfs merge=lfs -text

git add evernote-backup.nnex: fatal: Cannot handle files this big

git lfs ls-files: Git can't resolve ref: "HEAD"

git lfs track: Listing tracked paths evernote-backup.nnex .gitattributes)

git lfs env:

WARNING: Reading LFS config from ".gitconfig", not ".lfsconfig". Rename to ".lfsconfig" before Git LFS v2.0 to remove this warning. 
git-lfs/1.1.0 (GitHub; linux 386; go 1.5.1) 
git version 2.1.4 

LocalWorkingDir=/home/vitaly 
LocalGitDir=/home/vitaly/.git 
LocalGitStorageDir=/home/vitaly/.git 
LocalMediaDir=/home/vitaly/.git/lfs/objects 
TempDir=/home/vitaly/.git/lfs/tmp 
ConcurrentTransfers=3 
BatchTransfer=true 
git config filter.lfs.smudge = "git-lfs smudge %f" 
git config filter.lfs.clean = "git-lfs clean %f" 

Sto ottenendo il seguente errore:

git-lfs: fatal: Cannot handle files this big (4.3G) 
+0

Non è l'impossibilità per git di trovare una preoccupazione per HEAD? http://stackoverflow.com/questions/4848607/git-fatal-no-such-ref-head – rbatt

+0

@rbatt dal tuo collegamento Ho provato 'echo ref: refs/heads/master> .git/HEAD' ma dopo' git lfs ls-files' Vedo lo stesso 'Git non può risolvere ref:" HEAD "' –

+0

puoi fare altre cose in git? Di HEAD irrisolto sembra il problema; ma non lo so – rbatt

risposta

4

Si tratta di un 32 bit di indirizzamento problema su i386, e Git e git-lfs semplicemente non può affrontare un file di dimensioni superiori a 4 GB. Il valore massimo di un numero intero senza segno a 32 bit è 4,294,967,295, che corrisponde a circa 4 GB.

Possiamo vedere dove questo errore viene generato all'interno del codice sorgente di Git in git-compat-util.h:

744 static inline size_t xsize_t(off_t len) 
745 { 
746  if (len > (size_t) len) 
747   die("Cannot handle files this big"); 
748  return (size_t)len; 
749 } 

non so abbastanza su come funziona internamente git-lfs sapere se questo può essere aggirato.

Se si lavora su un sistema a 64 bit (x86_64) anziché a 32 bit (i386), il sistema che si sta utilizzando è un'opzione che risolverà il problema. In alternativa, potresti riuscire a utilizzare git-annex anziché git-lfs con un certo successo, ma con someone else had a similar issue con git-annex. Non ci sono abbastanza dettagli nella segnalazione di bug per sapere se questo è ancora un problema sui sistemi a 32 bit.

Sfortunatamente, stai affrontando una limitazione comune dell'hardware a 32 bit e ti imbatterai in una serie di problemi che tentano di gestire file di dimensioni superiori a 4 GB su questi sistemi. È tempo di aggiornamento!

Problemi correlati