4 ms·
> I'm not sure what other answer you're expecting? I've seen some things. Binaries, large files, isos, generally just any large file with no lines that somebod
by andrewstuart2 6y ago
> I'm not sure what other answer you're expecting?
I've seen some things. Binaries, large files, isos, generally just any large file with no lines that somebody just didn't know better and committed, changed a few bytes a few times, and generated huge deltas quickly.
I'm far more surprised you don't know what he was expecting than I am that he asked, considering how many times I've run into this in the past.
- chrisseaton 6y agoIf people want a concrete example, here's a 6 GB repo that's 90% Java, 5% C, then some other languages. https://github.com/oracle/graal https://github.com/oracle/graal It's not even a mono-repo - this is just part of the project. Maybe someone's got some tools that let them dig around in the history and find large things or explain why it's so large? I don't think they've been checking ISOs in.
- andrewstuart2 6y agoI'm totally not surprised that large repos exist, without having fallen prey to any antipatterns. Just saying that I know "have you committed any binaries, dependencies, generated code, etc" are the first questions I tend to ask when somebody tells me their repo is massive. In part selection bias, though, because usually the people working on super old projects know exactly why.
- neolog 6y agohttps://rtyley.github.io/bfg-repo-cleaner/ https://rtyley.github.io/bfg-repo-cleaner/
- cmurphycode 6y agoI was really taken aback by this given my previous experience with the Linux kernel git repo size. So, I just checked out Graal. Receiving objects: 100% (981372/981372), 187.08 MiB | 6.39 MiB/s, done. % du -sh graal 328M graal % du -sh .git 221M .git And that includes many binary files that were added and removed over time, but not filter-branched out of existence, including jars, pngs, pdfs :) (https://stackoverflow.com/questions/10622179/how-to-find-identify-large-commits-in-git-history https://stackoverflow.com/questions/10622179/how-to-find-ide...)
- chrisseaton 6y agoHuh... maybe I have a degenerate copy for having it so long and I should try running the compression commands myself.
- lathiat 6y agoSee also “git prune” to remove references to branches and objects no longer on the remote server. Check the docs though I think in some cases I might delete local branches or objects so make a backup first.
- cerved 6y agogit filter repo has tools for analyzing history
- masklinn 6y agoNope, the answer is exactly what’s above, this is a large and old project with a fair amount of churn. There are assets in there but they’re a small minority of the issue. The biggest issue is actually the l10n stuff. It’s all text with lines but there is a lot of it and historically the exports were not really ordered so every major update to the translation files scrambled everything.