forgejo/services/pull
Brecht Van Lommel 33f9fb8150
Fix slow patch checking with commits that add or remove many files (#31548)
Running git update-index for every individual file is slow, so add and
remove everything with a single git command.

When such a big commit lands in the default branch, it could cause PR
creation and patch checking for all open PRs to be slow, or time out
entirely. For example, a commit that removes 1383 files was measured to
take more than 60 seconds and timed out. With this change checking took
about a second.

This is related to #27967, though this will not help with commits that
change many lines in few files.

(cherry picked from commit b88e5fc72d99e9d4a0aa9c13f70e0a9e967fe057)
2024-07-07 07:33:01 +02:00
..
check.go fix(hook): repo admins are wrongly denied the right to force merge 2024-06-02 21:16:46 +02:00
check_test.go Replace assert.Fail with assert.FailNow (#27578) 2023-10-11 11:02:24 +00:00
comment.go Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
commit_status.go Use db.ListOptionsAll instead of db.ListOptions{ListAll: true} (#29995) 2024-03-26 19:04:27 +01:00
commit_status_test.go Fixing the issue when status check per rule matches multiple actions (#29631) 2024-03-11 23:36:59 +07:00
edits.go
lfs.go Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 2023-12-07 15:27:36 +08:00
main_test.go make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
merge.go Enable unparam linter (#31277) 2024-06-16 13:42:58 +02:00
merge_ff_only.go Add merge style fast-forward-only (#28954) 2024-02-14 17:19:19 +01:00
merge_merge.go Add merge style fast-forward-only (#28954) 2024-02-14 17:19:19 +01:00
merge_prepare.go
merge_rebase.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
merge_squash.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
merge_test.go
patch.go Fix slow patch checking with commits that add or remove many files (#31548) 2024-07-07 07:33:01 +02:00
patch_unmerged.go
pull.go Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
pull_test.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
review.go Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-05-05 08:38:16 +01:00
review_test.go Prevent re-review and dismiss review actions on closed and merged PRs (#30065) 2024-03-30 07:17:32 +01:00
temp_repo.go Adjust object format interface (#28469) 2023-12-17 11:56:08 +00:00
update.go Move database operations of merging a pull request to post receive hook and add a transaction (#30805) 2024-05-12 20:03:10 +02:00
update_rebase.go Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-05-05 08:38:16 +01:00