2017-01-18 8 views
3

В моем репо используется git lfs. Для свежего клона, я побежал:Не удалось клонировать хранилище с git lfs

git lfs install 
git clone https://example.com/repo.git 

Клон попадает в точку, где он начинает загрузку LFS файлов, получает какой-то файл, а затем выходит из строя. Файл, при котором он терпит неудачу, отличается каждый раз, когда я пытаюсь клонировать. Очень редко это удается.

Вот результат:

Cloning into 'repo'... 
remote: Counting objects: 35699, done. 
remote: Compressing objects: 100% (17678/17678), done. 
remote: Total 35699 (delta 15603), reused 35553 (delta 15545) 
Receiving objects: 100% (35699/35699), 231.45 MiB | 11.12 MiB/s, done. 
Resolving deltas: 100% (15603/15603), done. 
Downloading big_file.big (157.39 KB) 
... 
Downloading some_other_big_file.big (18.84 KB) 
Error downloading object: some_other_big_file.big 

Errors logged to blah.log 
Use `git lfs logs last` to view the log. 
error: external filter 'git-lfs filter-process' failed 
fatal: some_other_big_file.big: smudge filter lfs failed 
warning: Clone succeeded, but checkout failed. 
You can inspect what was checked out with 'git status' 
and retry the checkout with 'git checkout -f HEAD' 

Журналы LFS говорят:

Error downloading object: some_other_big_file.big 

Smudge error: Error buffering media file: cannot write data to tempfile "blah.tmp": LFS: unexpected EOF: 
github.com/git-lfs/git-lfs/errors.newWrappedError 
     C:/Go/src/github.com/git-lfs/git-lfs/errors/types.go:166 
github.com/git-lfs/git-lfs/errors.NewSmudgeError 
     C:/Go/src/github.com/git-lfs/git-lfs/errors/types.go:252 
github.com/git-lfs/git-lfs/lfs.PointerSmudge 
     C:/Go/src/github.com/git-lfs/git-lfs/lfs/pointer_smudge.go:70 
github.com/git-lfs/git-lfs/lfs.(*Pointer).Smudge 
     C:/Go/src/github.com/git-lfs/git-lfs/lfs/pointer.go:65 
github.com/git-lfs/git-lfs/commands.smudge 
     C:/Go/src/github.com/git-lfs/git-lfs/commands/command_smudge.go:84 
github.com/git-lfs/git-lfs/commands.filterCommand 
     C:/Go/src/github.com/git-lfs/git-lfs/commands/command_filter_process.go:65 
github.com/git-lfs/git-lfs/vendor/github.com/spf13/cobra.(*Command).execute 
     C:/Go/src/github.com/git-lfs/git-lfs/vendor/github.com/spf13/cobra/command.go:477 
github.com/git-lfs/git-lfs/vendor/github.com/spf13/cobra.(*Command).Execute 
     C:/Go/src/github.com/git-lfs/git-lfs/vendor/github.com/spf13/cobra/command.go:551 
github.com/git-lfs/git-lfs/commands.Run 
     C:/Go/src/github.com/git-lfs/git-lfs/commands/run.go:66 
main.main 
     C:/Go/src/github.com/git-lfs/git-lfs/git-lfs.go:33 
runtime.main 
     C:/Go/src/runtime/proc.go:183 
runtime.goexit 
     C:/Go/src/runtime/asm_amd64.s:2086 

Если я пытаюсь git lfs pull в этот момент, все работает отлично.

Любая идея, что может вызвать эту ошибку при загрузке файлов lfs?

+0

у меня такая же проблема здесь. Где находится ваше репо? Мой находится на VSTS. – quinmars

ответ

-2

Некоторые вещи, чтобы проверить:

1) Вы проверили объем дискового пространства для временных файлов? Как/tmp, если вы используете какой-то Linux-компьютер (я думаю, вы используете Windows, верно?).

2) Вы пытались использовать «git lfs clone ...» вместо «git clone ...»?

1

У меня была аналогичная проблема, и было already a bug reported with git lfs. В то время как ошибка была решена, это обходное решение помогло мне, где вы пропустили фильтр там, где он был неудачным.

// Skip smudge - We'll download binary files later in a faster batch 
git lfs install --skip-smudge 

// Do git clone here 
git clone ... 

// Fetch all the binary files in the new clone 
git lfs pull 

// Reinstate smudge 
git lfs install --force 

Кредиты: @strich