On Fri, Nov 4, 2016 at 12:49 PM, Markus Hitter <mah@xxxxxxxxxxx> wrote: > > Hello all, +cc Paul Mackeras, who maintains gitk. > > after Gitk brought my shabby development machine (Core2Duo, 4 GB RAM, Ubuntu 16.10, no swap to save the SSD) to its knees once more than I'm comfortable with, I decided to investigate this issue. > > Result of this investigation is, my Git repo has a commit with a diff of some 365'000 lines and Gitk tries to display all of them, consuming more than 1.5 GB of memory. > > The solution is to cut off diffs at 50'000 lines for the display. This consumes about 350 MB RAM, still a lot. These first 50'000 lines are shown, followed by a copyable message on how to view the full diff on the command line. Diffs shorter than this limit are displayed as before. Bikeshedding: I'd argue to even lower the number to 5-10k lines. > > To test the waters whether such a change is welcome, here's the patch as I currently use it. If this patch makes sense I'll happily apply change requests and bring it more in line with Git's patch submission expectations. I have never contributed to gitk myself, which is hosted at git://ozlabs.org/~paulus/gitk though I'd expect these guide lines would roughly apply: https://github.com/git/git/blob/master/Documentation/SubmittingPatches