git lfs smudge error when doing an https clone

Viewed 126

I am having a problem where certain projects on my self hosted gitlab 13.9 server can get cloned with ssh without any problems.

But If I clone with https, I get the following error:

Error downloading object: <file> (353bfa2): Smudge error: Error downloading <file> (353bfa2b22928633c05343fb42365cf1d1fe55582392f5d8099be6eca9986c52): batch response: Repository or object not found: https://<user:token>@<url>/info/lfs/objects/batch
Use `git lfs logs last` to view the log.
error: external filter 'git-lfs filter-process' failed
fatal: <file>: smudge filter lfs failed

My lfs env is:

git-lfs/2.13.3 (GitHub; linux amd64; go 1.16.2)
git version 2.37.1

Endpoint=https://<user:token>@<url>.git/info/lfs (auth=none)
LocalWorkingDir=<path>
LocalGitDir=<path>/.git
LocalGitStorageDir=<path>/.git
LocalMediaDir=<path>/.git/lfs/objects
LocalReferenceDirs=
TempDir=<path>/.git/lfs/tmp
ConcurrentTransfers=8
TusTransfers=false
BasicTransfersOnly=false
SkipDownloadErrors=false
FetchRecentAlways=false
FetchRecentRefsDays=7
FetchRecentCommitsDays=0
FetchRecentRefsIncludeRemotes=true
PruneOffsetDays=3
PruneVerifyRemoteAlways=false
PruneRemoteName=origin
LfsStorageDir=<path>/.git/lfs
AccessDownload=none
AccessUpload=none
DownloadTransfers=basic,lfs-standalone-file
UploadTransfers=basic,lfs-standalone-file
GIT_EXEC_PATH=/usr/lib/git-core
git config filter.lfs.process = "git-lfs filter-process"
git config filter.lfs.smudge = "git-lfs smudge -- %f"
git config filter.lfs.clean = "git-lfs clean -- %f"

I dont have access to the gitlab server configs so I am not sure, but I know other projects on the same server work fine with both ssh and https clones.

1 Answers

The error does involves an HTTPS URL, which is not surprising, since Git LFS with GitLab mentions:

When SSH is set as a remote, Git LFS objects still go through HTTPS.

You might want for a GitLab admin on your self-hosted server to perform an "Uploaded files integrity" control.

At least the sudo gitlab-rake gitlab:lfs:check part.

That and (for the same admin) to check the logs when cloning with SSH vs. HTTPS, to understand the difference.

Related