Why git lfs binary files are converted to pointers during git checkout? #5716
Unanswered
withtimesgo1115
asked this question in
Q&A
Replies: 1 comment 6 replies
-
Hey, I'm sorry you're having trouble. Would you be able to provide the exact series of commands you are running, along with the relevant environment variables? For instance, something like:
or whatever the specific, complete set of steps is for your case? We don't need private information, of course. |
Beta Was this translation helpful? Give feedback.
6 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Why git lfs binary files are converted to pointers during git checkout?
Describe your question in as much detail as possible:
In our ci job, the GIT_LFS_SKIP_SMUDGE is set to 0 because we need to use the newest git lfs binary files. We want to speed up the CI job and the idea is to use the pvc mounted to each k8s job pod for consistent storage, to be more specific, to reuse the git repo and the bazel cache. However, the git lfs pull process is too slow(around 5min) 😦 . It is unexpected because we suppose the ci job can use the git repo instead of pull everything each time.
To debug this problem, I did a lot of work:
I added some git configs to the runner to trace the git operation and performance like the following:
GIT_TRACE: 1
GIT_TRACE_PERFORMANCE: 1
GIT_TRACE_SETUP: 1
Meanwhile, I also added "ls -la /path" logs before and after the critical operation (git fetch/git checkout/git clean) in the Gitlab Runner source and build the binaries for gitlab runner.
You can see the lfs binaries in the pvc are converted to pointers during check out process! This is the reason why the following git lfs pull process is slow.
The question is that why git lfs binary files are converted to pointers during git checkout? Anyone can help me out??? Thank you!!!
Steps to reproduce
Versions
Beta Was this translation helpful? Give feedback.
All reactions