3 ms·
Considering this from the thread, as a response from GitHub to their repack request: > As it turns out, we only run repacks on a repository network level, whic
by trynewideas 4y ago
Considering this from the thread, as a response from GitHub to their repack request:
> As it turns out, we only run repacks on a repository network level, which means that repacks need to consider objects from all forks of a given repository.
> Repacking entire repository networks will always lead to less optimal pack sizes compared to repacking just objects from a single fork. For GitHub, disk space is not the only thing we optimize for, but also performance across forks and client performance.
Repacking the repo locally more than halves the size:
> I tried locally right now to run git repack -a -d -f --depth=250 --window=250 and the size of the .git folder went from 2417MB to 943MB…
But GitHub repacking the repo network reduces the size by only 20%. So presumably GitHub can't aggressively remove things from a repo without affecting how forks work.
This blog post is very old (2015) but there's a section that describes their use of Git alternates to facilitate forks: https://github.blog/2015-09-22-counting-objects/#your-very-own-fork-of-rails https://github.blog/2015-09-22-counting-objects/#your-very-o...