-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Description
Describe the bug
Running git lfs migrate import using version 3.0.2 is around 60 times slower compared to 3.0.1. Git repository with 5941 commits takes around 9 minutes to complete using version 3.0.1 and using 3.0.2 only managed to reach 60% of the commits in 6 hours of running.
To Reproduce
Steps to reproduce the behavior:
- Download and install Git version 2.34.1 or 2.34.0 from https://github.com/git-for-windows/git/releases
- Run git lfs migrate import --yes --include="..." on a Git repository
- Download 3.0.1 version of Git LFS from https://github.com/git-lfs/git-lfs/releases/download/v3.0.1/git-lfs-windows-amd64-v3.0.1.zip
- Apply the git-lfs.exe file on top of mingw64\bin\git-lfs.exe in the install location of Git
- Repeat step 2 on a fresh Git repository
Expected behavior
Time taken for git lfs migrate import command to run should be identical with v3.0.1 and v3.0.2.
System environment
Windows 10 v1909
Output of git lfs env
git-lfs/3.0.2 (GitHub; windows amd64; go 1.17.2)
git version 2.34.0.windows.1
LocalWorkingDir=D:\Work\SubTest\Subsurface_Git-2.34.0
LocalGitDir=D:\Work\SubTest\Subsurface_Git-2.34.0.git
LocalGitStorageDir=D:\Work\SubTest\Subsurface_Git-2.34.0.git
LocalMediaDir=D:\Work\SubTest\Subsurface_Git-2.34.0.git\lfs\objects
LocalReferenceDirs=
TempDir=D:\Work\SubTest\Subsurface_Git-2.34.0.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=D:\Work\SubTest\Subsurface_Git-2.34.0.git\lfs
AccessDownload=none
AccessUpload=none
DownloadTransfers=basic,lfs-standalone-file,ssh
UploadTransfers=basic,lfs-standalone-file,ssh
GIT_EXE="C:\Git\Git-2.34.0\cmd\git.exe"
GIT_EXEC_PATH=C:/Git/Git-2.34.0/mingw64/libexec/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"
Additional context
This issue seems to be independent from Git version itself as I managed to reproduce the same issue with replacing the Git LFS delivered in Git versions 2.33.0, 2.33.1, 2.34.0 and 2.34.1 with versions 2.13.3, 3.0.1 or 3.0.2 of Git LFS and all Git versions are affected when using 3.0.2.