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.nnexfatal: Cannot handle files this big

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

git lfs trackListing 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工作知之甚少,不知道这是否可以解决。

如果在 64 位x86_64i386或者,您可能可以使用git-annex而不是取得git-lfs一些成功,但其他人也有类似的问题git-annex。错误报告中没有足够的详细信息来了解这是否仍然是 32 位系统上的问题。

不幸的是,您面临着 32 位硬件的常见限制,并且您在尝试在这些系统上处理大于 4 GB 的文件时会遇到许多问题。是时候升级了!

于 2015-12-28T01:19:19.397 回答