gitea/modules/repository
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
..
branch.go Make "sync branch" also sync object format and add tests (#30878) (#30880) 2024-05-07 08:33:28 +08:00
branch_test.go Make "sync branch" also sync object format and add tests (#30878) (#30880) 2024-05-07 08:33:28 +08:00
collaborator.go Add user blocking (#29028) 2024-03-04 08:16:03 +00:00
collaborator_test.go Even more `db.DefaultContext` refactor (#27352) 2023-10-03 10:30:41 +00:00
commits.go Fix context cache bug & enable context cache for dashabord commits' authors (#26991) 2023-09-11 10:14:01 +00:00
commits_test.go Make offline mode as default to no connect external avatar service by default (#28548) 2023-12-21 07:42:16 +00:00
create.go Add user blocking (#29028) 2024-03-04 08:16:03 +00:00
create_test.go Move createrepository from module to service layer (#26927) 2023-09-06 12:08:51 +00:00
delete.go Even more `db.DefaultContext` refactor (#27352) 2023-10-03 10:30:41 +00:00
env.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
fork.go Reduce usage of `db.DefaultContext` (#27073) 2023-09-14 17:09:32 +00:00
hooks.go Always write proc-receive hook for all git versions (#29287) 2024-02-21 07:01:48 +00:00
init.go Move generate from module to service (#29465) 2024-02-28 14:40:36 +01:00
init_test.go Make label templates have consistent behavior and priority (#23749) 2023-04-10 16:44:02 +08:00
license.go Move createrepository from module to service layer (#26927) 2023-09-06 12:08:51 +00:00
license_test.go Move createrepository from module to service layer (#26927) 2023-09-06 12:08:51 +00:00
main_test.go make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
push.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
repo.go Move migration functions to services layer (#29497) 2024-03-01 02:23:00 +00:00
repo_test.go Don't remove all mirror repository's releases when mirroring (#28817) 2024-01-26 06:18:19 +00:00
temp.go Enable more `revive` linter rules (#30608) 2024-04-22 11:48:42 +00:00