I have seen many false statements about Git LFS and wanted to test how it works on a large repo. We are using a self-hosted GitLab on AWS and using latest Git features like sparse checkout and LFS (we are also contributing to the development of it) to see how far you can push Git.
We develop Anchorpoint, but everything can also be achieved with the command line app.
The test repo has 1TB (1.004 GiB) and a total file count (excluding files, that are ignored by the .gitignore) of 385.493. We are using sparse checkout to work on a subset (4GB) of the project. To make a performance test, we changed 10 files in Unreal Engine.
- “Git status” takes 1581.6007 milliseconds - “Git add . “ takes 1633.8424 milliseconds - “Git commit -m “Added bench” “ takes 1653-3998 milliseconds
Tests also included pushing single files with a size above 9GB and a single commit with 281.876 of files (approx. 300GB of size)