I previously worked at a company on the team that managed the monorepo and the build system for the code within it. Our checkouts were 4.5GBS full. We had discussed performing yearly rollups, likely around Christmas for the current version. This would essentially be take a full checkout and `rm -rf .git && git init && git add --all` starting out with a new genesis commit. We'd keep the old "branches" in a separate archive only repository on our github and force push this new main copy to the working repository. And then provide guides and support for engineers to utilize the new rolled up repo and port any of their existing WIP.
The concerns were long lived branches that had WIP and I think also just misunderstandings about what was going to happen. We never did it.
The concerns were long lived branches that had WIP and I think also just misunderstandings about what was going to happen. We never did it.