| Paraphrasing meat of the article: - When you have multiple files in the repo which have the same trailing 16 characters in the repo path, git may wrongly calculate deltas, mixing up between those files. In here they had multiple CHANGELOG.md files mixed up. - So if those files are big and change often, you end up with massive deltas and inflated repo size. - There's a new git option (in Microsoft git fork for now) and config to use full file path to calculate those deltas, which fixes the issue when pushing, and locally repacking the repo. ``` git repack -adf --path-walk git config --global pack.usePathWalk true ``` - According to a screenshot, Chromium repacked in this way shrinks from 100GB to 22GB. - However AFAIU until GitHub enables it by default, GitHub clones from such repos will still be inflated. |
Also, thank you for the TLDR!