0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-23 07:43:18 -05:00
forgejo/modules
Lunny Xiao 7e81775184
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
(cherry picked from commit eb792d9f8a)

(cherry picked from commit ec3f5f9992d7ff8250c044a4467524d53bd50210)
2024-05-14 15:37:32 +02:00
..
actions Merge pull request '[ACTIONS] port scheduled actions from Gitea' (#2826) from earl-warren/forgejo:wip-gitea-schedule into forgejo 2024-03-27 06:23:56 +00:00
activitypub
analyze
assetfs
auth
avatar
base Refactor StringsToInt64s (#29967) 2024-03-26 19:04:26 +01:00
cache
charset s/Gitea/Forgejo in various log messages and comments 2024-04-22 14:41:17 +00:00
container
csv
emoji
eventsource
generate
git Make "sync branch" also sync object format and add tests (#30878) (#30880) 2024-05-14 15:28:38 +02:00
gitgraph models/asymkey: Implement Tag verification 2024-04-01 13:42:11 +00:00
gitrepo
graceful [FIX] make pprof labels conformant with prometheus spec 2024-04-01 18:22:11 +00:00
hcaptcha
highlight
hostmatcher
html
httpcache
httplib Skip gzip for some well-known compressed file types (#30796) 2024-05-07 07:59:45 +01:00
indexer [FIX] Set max fuzziness to 2 for bleve (#3444) 2024-04-26 08:29:21 +00:00
issue/template
json
label
lfs Close file in the Upload func (#30262) (#30270) 2024-04-08 11:50:17 +02:00
log
markup Fix user mention processing 2024-04-30 12:28:49 +00:00
mcaptcha
metrics
migration
nosql s/Gitea/Forgejo in various log messages and comments 2024-04-22 14:41:17 +00:00
optional
options
packages Some NuGet package enhancements 2024-04-16 06:54:35 +00:00
paginator
pprof
private Move database operations of merging a pull request to post receive hook and add a transaction (#30805) 2024-05-14 15:37:32 +02:00
process [FIX] make pprof labels conformant with prometheus spec 2024-04-01 18:22:11 +00:00
proxy
proxyprotocol
public
queue workergroup: gracefully exit on close(popItemErr) 2024-03-24 07:12:31 +01:00
recaptcha
references
regexplru
repository Move database operations of merging a pull request to post receive hook and add a transaction (#30805) 2024-05-14 15:37:32 +02:00
secret
session Avoid importing modules/web/middleware in modules/session (#30584) (#30589) 2024-04-21 18:16:09 +02:00
setting s/Gitea/Forgejo in various log messages and comments 2024-04-22 14:41:17 +00:00
sitemap
ssh
storage
structs Fix no edit history after editing issue's title and content (#30814) 2024-05-07 08:21:38 +01:00
svg
sync
system
templates Fix user mention processing 2024-04-30 12:28:49 +00:00
test
testlogger Merge pull request '[v7.0/forgejo] [FEAT] Mark database errors in tests as failure' (#2978) from bp-v7.0/forgejo-2dabd20 into v7.0/forgejo 2024-04-02 15:53:23 +00:00
timeutil
translation Rename ByteSize to ReadableSize 2024-04-02 17:29:32 +00:00
turnstile
typesniffer
updatechecker
uri
user
util Clean up log messages (#30313) 2024-04-15 16:11:14 +02:00
validation
web Avoid importing modules/web/middleware in modules/session (#30584) (#30589) 2024-04-21 18:16:09 +02:00
webhook [FEAT] sourcehut webhooks 2024-04-05 19:36:04 +00:00