gitea/routers/private
Giteabot ec3f5f9992
Move database operations of merging a pull request to post receive hook and add a transaction (#30805) (#30888)
Backport #30805 by @lunny

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: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-05-08 14:17:18 +00:00
..
tests/repos Fix verifyCommits error when push a new branch (#26664) 2023-08-30 02:27:53 +00:00
actions.go Clean up log messages (#30313) 2024-04-07 19:17:06 +08:00
default_branch.go Move get/set default branch from git package to gitrepo package to hide repopath (#29126) 2024-03-08 15:30:10 +08:00
hook_post_receive.go Move database operations of merging a pull request to post receive hook and add a transaction (#30805) (#30888) 2024-05-08 14:17:18 +00:00
hook_post_receive_test.go Move database operations of merging a pull request to post receive hook and add a transaction (#30805) (#30888) 2024-05-08 14:17:18 +00:00
hook_pre_receive.go Make sure git version&feature are always prepared (#30877) (#30879) 2024-05-07 02:07:33 +00:00
hook_proc_receive.go Make sure git version&feature are always prepared (#30877) (#30879) 2024-05-07 02:07:33 +00:00
hook_verification.go Clean up log messages (#30313) 2024-04-07 19:17:06 +08:00
hook_verification_test.go Adjust object format interface (#28469) 2023-12-17 11:56:08 +00:00
internal.go Move context from modules to services (#29440) 2024-02-27 08:12:22 +01:00
internal_repo.go Move context from modules to services (#29440) 2024-02-27 08:12:22 +01:00
key.go Move context from modules to services (#29440) 2024-02-27 08:12:22 +01:00
mail.go Clean up log messages (#30313) 2024-04-07 19:17:06 +08:00
main_test.go make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
manager.go Move context from modules to services (#29440) 2024-02-27 08:12:22 +01:00
manager_process.go Move context from modules to services (#29440) 2024-02-27 08:12:22 +01:00
manager_unix.go Move context from modules to services (#29440) 2024-02-27 08:12:22 +01:00
manager_windows.go Move context from modules to services (#29440) 2024-02-27 08:12:22 +01:00
restore_repo.go Move context from modules to services (#29440) 2024-02-27 08:12:22 +01:00
serv.go Make sure git version&feature are always prepared (#30877) (#30879) 2024-05-07 02:07:33 +00:00
ssh_log.go Move context from modules to services (#29440) 2024-02-27 08:12:22 +01:00