On Sat, Feb 01, 2025 at 10:44:40AM +0100, Lars-Dominik Braun wrote: > > ## Repository Migration Path > > do we want to take this opportunity to start off fresh without migrating > the main repository’s history? It looks like we have accumulated more > than 500MB of commit data so far and everyone who runs `guix pull` the > first time has to download all of that and authenticate a pretty large > number of commits. (Plus, ~/.cache/guix keeps on growing and growing.)
I'm not sure this is worth it, but maybe we can do better! If we were to prune the repo in this way, it would break `guix time-machine`, which is a nice selling point of Guix and really valuable. If we were to do that, it would require updating the code-signing authentication introductory commit. I figure that must be possible although I don't know the details. We could start using shallow clones, and only fetching Git history when required. For a recent commit, this is 25 MB over the wire and 185 MB on disk. Now, shallow cloning has, at least in the past, been computationally *very* expensive for Git server implementations, to the point where it was considered abusive when done by projects that use Git repos like we do. It was *vastly* more efficient to use Git "normally", by doing a full clone and then updating it incrementally with `git fetch`. Maybe this has improved in recent years; I haven't followed the state of the art in this area. Anyways, there's probably some room for improvement in this area, but I think we should consider it out of scope for this proposal.