8

git-lfs/1.1.0 (GitHub; Linux 386; go 1.5.1) を使用、ファイル サイズ 4.3G。

git init
git lfs install
git lfs track *.nnex

.git属性:*.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"

次のエラーが表示されます。

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

1 に答える 1

4

これは、i386 および Git での 32 ビット アドレッシングの問題であり、git-lfs単に 4 GB を超えるファイルをアドレッシングすることはできません。32 ビットの符号なし整数の最大値は で、4,294,967,295約 4 GB になります。

このエラーが Git ソース コード内のどこでスローされたかを確認できます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 }

git-lfsこれが回避できるかどうかを知るには、内部でどのように機能するかについて十分に知りません。

x86_64使用している 32 ビット ( ) システムではなく64 ビット ( ) システムで作業i386するオプションがある場合は、問題が解決されます。git-annexまたは、代わりにを使用git-lfsしてある程度成功する可能性がありますが、他の誰かが で同様の問題を抱えていましたgit-annex。バグ レポートには、これが 32 ビット システムでまだ問題があるかどうかを知るのに十分な詳細がありません。

残念ながら、32 ビット ハードウェアの一般的な制限に直面しており、これらのシステムで 4 GB を超えるファイルを処理しようとすると、多くの問題に遭遇します。アップグレードの時間です!

于 2015-12-28T01:19:19.397 に答える