7e81775184
Merging PR may fail because of various problems. The pull request may have a dirty state because there is no transaction when merging a pull request. ref https://github.com/go-gitea/gitea/pull/25741#issuecomment-2074126393 This PR moves all database update operations to post-receive handler for merging a pull request and having a database transaction. That means if database operations fail, then the git merging will fail, the git client will get a fail result. There are already many tests for pull request merging, so we don't need to add a new one. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> (cherry picked from commit ebf0c969403d91ed80745ff5bd7dfbdb08174fc7) Conflicts: modules/private/hook.go routers/private/hook_post_receive.go trivial conflicts because 263a716cb5 * Performance optimization for git push (#30104) was not cherry-picked and because of 998a431747a15cc95f7056a2029b736551eb037b Do not update PRs based on events that happened before they existed (cherry picked from commit eb792d9f8a4c6972f5a4cfea6e9cb643b1d6a7ce) (cherry picked from commit ec3f5f9992d7ff8250c044a4467524d53bd50210) |
||
---|---|---|
.. | ||
check.go | ||
check_test.go | ||
comment.go | ||
commit_status.go | ||
commit_status_test.go | ||
edits.go | ||
lfs.go | ||
main_test.go | ||
merge.go | ||
merge_ff_only.go | ||
merge_merge.go | ||
merge_prepare.go | ||
merge_rebase.go | ||
merge_squash.go | ||
merge_test.go | ||
patch.go | ||
patch_unmerged.go | ||
pull.go | ||
pull_test.go | ||
review.go | ||
review_test.go | ||
temp_repo.go | ||
update.go | ||
update_rebase.go |