-
Notifications
You must be signed in to change notification settings - Fork 9.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite the git history to be small #28840
Comments
consider git lfs |
We've been good about it and other best practices for the last couple years, but there's lot of objects in the history from before then. Also our release branches (devel, release3, etc.) don't use LFS. This issue is for rewriting the history and cleaning up the bloat from releases. |
This issue is now completed with #31562 merged and with #32955 soon to be merged. A couple of things to note:
Keeping this in mind, I did some clone tests with
* LFS for master is 203.97 MB, same as before The final output repo, I tested with, can be found here: https://github.com/andi-radulescu-contributor/openpilot As next step, I would see one of two options to reduce the size coming from master-ci, nightly, devel, release3, release3-staging, dashcam3, release2:
Fortunately this change can be made completely separate from the master rewrite. Also linking #30028 here since it has some valid points. |
openpilot is currently a >3GB git clone due to not using LFS at the start of the history.
master
should now be in a good place, including tests to make sure we're not introducing new large files.We want to rewrite the git history to minimize the repo and clone size. The large files are mostly driving models, Android APKs for the comma two, and third party shared libraries. We want to move all these large files to LFS.
While we're rewriting the repo, we might as well also clean up the master history such that it contains all the release history, starting at 0.1. For context, see this blog post. The full
devel
history has been truncated to reduce the clone size, but it can be found here https://github.com/commaai/openpilot-release-archive. The first master commit seems to be on v0.7.2, so we'll want to prepend v0.1-v0.7.1 to the front of master.The deliverable is a script that takes in a copy of the openpilot repo and outputs the new one. The new one should also be pushed to GitHub as a demo. Requirements:
Open questions
See my start at it in #30824
The text was updated successfully, but these errors were encountered: