Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Retrieving the original files from "git-lfs" files in a repository

I found a git repository with a bunch of *.png files that I need.

The files' raw format however uses the git lfs and look like this:

version https://git-lfs.github.com/spec/v1
oid 
sha256:82247bedcaf9f441851f272ca2213a64b1b1084b13709eee02f185921b057efe
size 258233

I've tried cloning the repository to view the images but I get the following:

error: external filter 'git-lfs filter-process' failed
fatal: "file_name".png: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.

The "git pull" command returns the same error:

error: external filter 'git-lfs filter-process' failed
fatal: "file_name".png: smudge filter lfs failed.

The "git lfs pull" command simply returns "could not pull".

I ultimately want to view the "file_name".png as an image file instead of the sha256 string.

like image 688
Anis Benna Avatar asked Jun 06 '19 13:06

Anis Benna


People also ask

Where do git LFS files go?

Git LFS stores the binary file content on a custom server or via GitHub, GitLab, or BitBucket's built-in LFS storage. To find the binary content's location, look in your repository's . git/lfs/objects folder.

What is git LFS pull?

Git LFS (Large File Storage) is a Git extension developed by Atlassian, GitHub, and a few other open source contributors, that reduces the impact of large files in your repository by downloading the relevant versions of them lazily.


Video Answer


1 Answers

Your repository seems to be in a bad state. You're missing the HEAD revision, which is present in all Git repositories with at least one commit. git lfs pull and most other Git LFS commands won't work in a repository without commits, which is why you're getting that error.

It also sounds like you're on Windows, due to the lack of sensible shell variable handling. I'd recommend re-cloning your repository in Git Bash, and if you still have a problem, try running the clone (again in Git Bash) with a GIT_TRACE=1 in front of it, which should help explain what's going on.

Do note that if the repository literally contains files with double-quotes in the name, those files won't work in Windows, since Windows doesn't permit file paths to contain double quotes.

like image 138
bk2204 Avatar answered Oct 07 '22 20:10

bk2204