gitea/services
Rowan Bohde 7dcccc3bb1
improve performance of diffs (#32393)
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>
2024-11-02 11:29:37 +08:00
..
actions Update scheduled tasks even if changes are pushed by "ActionsUser" (#32246) 2024-10-13 20:28:32 +00:00
agit Make git push options accept short name (#32245) 2024-10-12 05:42:10 +00:00
asymkey
attachment
auth Update go dependencies (#32389) 2024-10-31 12:05:54 +00:00
automerge
context Allow maintainers to view and edit files of private repos when "Allow maintainers to edit" is enabled (#32215) 2024-10-11 19:08:19 +00:00
contexttest
convert Make admins adhere to branch protection rules (#32248) 2024-10-23 12:39:43 +08:00
cron
doctor Refactor the DB migration system slightly (#32344) 2024-10-27 19:54:35 +08:00
externalaccount
feed
forms Make admins adhere to branch protection rules (#32248) 2024-10-23 12:39:43 +08:00
gitdiff improve performance of diffs (#32393) 2024-11-02 11:29:37 +08:00
indexer
issue refactor: remove redundant err declarations (#32381) 2024-10-30 19:36:24 +00:00
lfs Fix missing signature key error when pulling Docker images with SERVE_DIRECT enabled (#32365) 2024-10-31 15:28:25 +00:00
mailer
markup
migrations Support migrating GitHub/GitLab PR draft status (#32242) 2024-10-13 22:58:13 +03:00
mirror
notify
oauth2_provider Make oauth2 code clear. Move oauth2 provider code to their own packages/files (#32148) 2024-10-02 08:03:19 +08:00
org
packages Fix missing signature key error when pulling Docker images with SERVE_DIRECT enabled (#32365) 2024-10-31 15:28:25 +00:00
projects
pull Make admins adhere to branch protection rules (#32248) 2024-10-23 12:39:43 +08:00
release
repository improve performance of diffs (#32393) 2024-11-02 11:29:37 +08:00
secrets
task
uinotification
user Add warn log when deleting inactive users (#32318) 2024-10-23 09:28:28 +08:00
webhook Support requested_reviewers data in comment webhook events (#26178) 2024-10-16 09:10:05 +00:00
webtheme
wiki