forgejo/services
Lunny Xiao eb792d9f8a
Move database operations of merging a pull request to post receive hook and add a transaction (#30805)
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
	  998a431747 Do not update PRs based on events that happened before they existed
2024-05-12 20:03:10 +02:00
..
actions feat(api): enhance Actions Secrets Management API for repository (#30656) 2024-04-28 15:39:01 +02:00
agit Use the database object format name but not read from git repoisitory everytime and fix possible migration wrong objectformat when migrating a sha256 repository (#29294) 2024-02-26 22:30:26 +01:00
asymkey Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
attachment Add support for API blob upload of release attachments (#29507) 2024-03-06 12:10:46 +08:00
auth Fix tautological conditions (#30735) 2024-05-05 08:59:40 +01:00
automerge Fix misspelling of mergable (#30896) 2024-05-12 20:03:10 +02:00
context Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
contexttest 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
convert Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
cron Update checker setting updates 2024-03-31 10:52:24 +05:00
doctor Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
externalaccount Final round of db.DefaultContext refactor (#27587) 2023-10-14 08:37:24 +00:00
federation feat(federation): validate like activities (#3494) 2024-05-07 07:59:49 +00:00
feed More db.DefaultContext refactor (#27265) 2023-09-29 12:12:54 +00:00
forgejo [UPGRADE] run sanity checks before the database is upgraded 2024-02-05 14:44:33 +01:00
forms ldap: default domain name (#3414) 2024-04-26 22:38:58 +00:00
gitdiff Enable more revive linter rules (#30608) 2024-04-28 15:39:00 +02:00
indexer Update issue indexer after merging a PR (#30715) 2024-05-12 20:03:10 +02:00
issue Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
lfs Move context from modules to services (#29440) 2024-03-06 12:10:43 +08:00
mailer Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
markup Format code 2024-03-28 05:42:25 +01:00
migrations Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
mirror Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-05-05 08:38:16 +01:00
notify Clean up log messages (#30313) 2024-04-15 20:01:35 +02:00
org Delete repos of org when purge delete user (#27273) 2023-10-19 13:16:11 +00:00
packages packages: skip error logging on duplicate 2024-03-24 07:12:31 +01:00
pull 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
release Fix release published actions not triggering for releases created from existing tags 2024-04-15 22:53:53 +02:00
remote Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
repository Fix incorrect default branch when adopt a repository (#30912) 2024-05-12 20:03:10 +02:00
secrets Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
task Fix incorrect ctx usage in defer function (#27740) 2023-10-22 14:12:27 +00:00
uinotification Penultimate round of db.DefaultContext refactor (#27414) 2023-10-11 04:24:07 +00:00
user Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-05-05 08:38:16 +01:00
webhook webhook: send short ref on gitea create/delete payload 2024-04-30 10:41:42 +02:00
wiki Clean up log messages (#30313) 2024-04-15 20:01:35 +02:00