mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-24 14:16:22 +00:00
befafe9a05
This has two major changes that significantly reduce the amount of work done for large diffs: * Kill a running git process when reaching the maximum number of files in a diff, preventing it from processing the entire diff. * When loading a diff with the URL param `file-only=true`, skip loading stats. This speeds up loading both hidden files of a diff and sections of a diff when clicking the "Show More" button. A couple of minor things from profiling are also included: * Reuse existing repo in `PrepareViewPullInfo` if head and base are the same. The performance impact is going to depend heavily on the individual diff and the hardware it runs on, but when testing locally on a diff changing 100k+ lines over hundreds of files, I'm seeing a roughly 75% reduction in time to load the result of "Show More" --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> (cherry picked from commit 7dcccc3bb19655a6f83dd495ffc332708d0c8678) |
||
---|---|---|
.. | ||
testdata/academic-module | ||
csv.go | ||
csv_test.go | ||
gitdiff.go | ||
gitdiff_test.go | ||
highlightdiff.go | ||
highlightdiff_test.go | ||
main_test.go |