-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Description
Describe the bug
When using partial checkout with git lfs pull --include, LFS files are not being downloaded properly in version 3.6.1. Instead, only pointer files are being pulled.
To Reproduce
I created a repo you can use to reproduce the issue.
Simply run these commands in a new directory with version 3.6.1 (or 3.6.0).
git init .
git remote add origin git@github.com:tetreaultmarc/git-lfs-bug-demo.git
git fetch origin master
git update-ref HEAD $(git rev-parse origin/master)
git checkout $(git rev-parse origin/master) -- test-path
git lfs pull --include test-path
Expected behavior
The PNG file should be downloaded and replaced with its actual contents (as it works in git-lfs 3.5.1)
Actual behavior
Only the LFS pointer file is pulled, not the actual file contents
System environment
git-lfs version 3.6.1
Previously working in git-lfs 3.5.1
OS: Windows 11 Pro 10.0.26100 Build 26100
Git version: 2.48.1.windows.1
Output of git lfs env
git-lfs/3.6.1 (GitHub; windows amd64; go 1.23.3; git ea47a34b)
git version 2.48.1.windows.1
Endpoint=https://github.com/tetreaultmarc/git-lfs-bug-demo.git/info/lfs (auth=none)
SSH=git@github.com:tetreaultmarc/git-lfs-bug-demo.git
LocalWorkingDir=C:\git\git-lfs-testing
LocalGitDir=C:\git\git-lfs-testing\.git
LocalGitStorageDir=C:\git\git-lfs-testing\.git
LocalMediaDir=C:\git\git-lfs-testing\.git\lfs\objects
LocalReferenceDirs=
TempDir=C:\git\git-lfs-testing\.git\lfs\tmp
ConcurrentTransfers=8
TusTransfers=false
BasicTransfersOnly=false
SkipDownloadErrors=false
FetchRecentAlways=false
FetchRecentRefsDays=7
FetchRecentCommitsDays=0
FetchRecentRefsIncludeRemotes=true
PruneOffsetDays=3
PruneVerifyRemoteAlways=false
PruneVerifyUnreachableAlways=false
PruneRemoteName=origin
LfsStorageDir=C:\git\git-lfs-testing\.git\lfs
AccessDownload=none
AccessUpload=none
DownloadTransfers=basic,lfs-standalone-file,ssh
UploadTransfers=basic,lfs-standalone-file,ssh
GIT_EXEC_PATH=C:/Program Files/Git/mingw64/libexec/git-core
GIT_LFS_PATH=C:\Program Files\Git LFS
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"
Additional context
Switching to version 3.5.1 and repeating the exact same steps leads to the expected behavior.
Please let me know if you need more information, but I believe this should be easy to reproduce on your end.