forgejo/modules/setting
zeripath 198342efe4
Add setting to disable the git apply step in test patch (#22130) (#22170)
Backport #22130

For a long time Gitea has tested PR patches using a git apply --check
method, and in fact prior to the introduction of a read-tree assisted
three-way merge in #18004, this was the only way of checking patches.

Since #18004, the git apply --check method has been a fallback method,
only used when the read-tree three-way merge method has detected a
conflict. The read-tree assisted three-way merge method is much faster
and less resource intensive method of detecting conflicts. #18004 kept
the git apply method around because it was thought possible that this
fallback might be able to rectify conflicts that the read-tree three-way
merge detected. I am not certain if this could ever be the case.

Given the uncertainty here and the now relative stability of the
read-tree method - this PR makes using this fallback optional but
enables it by default. A `log.Critical` has been added which will alert
if the `git apply --check` method was successful at checking a PR that
`read-tree` failed on.

The hope is that none of these log.Critical messages will be found and
there will be no significant difference in conflict detection. Thus we
will be able to remove the git apply fallback in future, and/or improve
the read-tree three-way merge method to catch any conflicts that git
apply method might have been able to fix.

An additional benefit for anyone who disables the check method is that
patch checking should be significantly less resource intensive and much
quicker.

(See
https://github.com/go-gitea/gitea/issues/22083\#issuecomment-1347961737)

Ref #22083

Signed-off-by: Andrew Thornton <art27@cantab.net>

<!--

Please check the following:

1. Make sure you are targeting the `main` branch, pull requests on
release branches are only allowed for bug fixes.
2. Read contributing guidelines:
https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md
3. Describe what your pull request does and which issue you're targeting
(if any)

-->

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
2022-12-22 11:59:10 +01:00
..
attachment.go Update default allowed attachment types (#20192) 2022-07-01 15:42:20 +02:00
cache.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
cors.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
cron.go Allow extended config on cron settings (#12939) 2020-09-25 09:58:09 +01:00
cron_test.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
database.go Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
database_sqlite.go Remove legacy +build: constraint (#19582) 2022-05-02 23:22:45 +08:00
database_test.go Move database settings from models to setting (#7806) 2019-08-24 11:24:45 +02:00
directory.go Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
federation.go Add more linters to improve code readability (#19989) 2022-06-20 12:02:49 +02:00
git.go Use git.HOME_PATH for Git HOME directory (#20114) 2022-07-08 16:09:07 +08:00
i18n.go Remove support for sr-SP (#20155) 2022-06-27 14:50:30 -05:00
indexer.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
indexer_test.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
lfs.go Allow specifying SECRET_KEY_URI, similar to INTERNAL_TOKEN_URI (#19663) 2022-10-02 01:26:33 +08:00
log.go Add more linters to improve code readability (#19989) 2022-06-20 12:02:49 +02:00
mailer.go Correct the fallbacks for mailer configuration (#21945) (#21953) 2022-11-27 19:45:59 +00:00
markup.go Allow render HTML with css/js external links (#19017) 2022-06-16 11:33:23 +08:00
migrations.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
mime_type_map.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
mirror.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
oauth2_client.go OAuth2 login: Set account link to "login" as default behavior (#15768) 2021-05-07 16:15:16 +02:00
packages.go Fixed registry host value. (#19363) 2022-04-10 19:57:36 +08:00
picture.go Add system setting table with cache and also add cache supports for user setting (#18058) 2022-10-17 07:29:26 +08:00
project.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
proxy.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
queue.go Add generic set type (#21408) 2022-10-12 13:18:26 +08:00
repository.go Add setting to disable the git apply step in test patch (#22130) (#22170) 2022-12-22 11:59:10 +01:00
service.go auth/reverseproxy: Add support for full name (#20776) 2022-08-16 14:30:27 +08:00
session.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
setting.go Make gitea work using cmd.exe again (#22073) (#22133) 2022-12-14 07:13:16 -06:00
setting_test.go Add an abstract json layout to make it's easier to change json library (#16528) 2021-07-24 18:03:58 +02:00
storage.go Rework repository archive (#14723) 2021-06-23 17:12:38 -04:00
storage_test.go more test case for STORAGE_TYPE overrides (and fixes) (#14096) 2020-12-22 01:03:18 +02:00
task.go Enable deprecation error for v1.17.0 (#18341) 2022-01-20 18:00:38 +01:00
webhook.go Add packagist webhook (#18224) 2022-01-23 21:46:30 +08:00