You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
forgejo/modules
zeripath d6b96627c1
Add setting to disable the git apply step in test patch (#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 and
disables it by default. The hope is that users will not notice any
significant difference in conflict detection and 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 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>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
2 years ago
..
activitypub Remove deprecated packages & staticcheck fixes (#22012) 2 years ago
analyze Implement FSFE REUSE for golang files (#21840) 2 years ago
auth Implement FSFE REUSE for golang files (#21840) 2 years ago
avatar Implement FSFE REUSE for golang files (#21840) 2 years ago
base Implement FSFE REUSE for golang files (#21840) 2 years ago
cache Implement FSFE REUSE for golang files (#21840) 2 years ago
charset Ensure that plain files are rendered correctly even when containing ambiguous characters (#22017) 2 years ago
container Implement FSFE REUSE for golang files (#21840) 2 years ago
context Rename almost all Ctx functions (#22071) 2 years ago
convert Rename almost all Ctx functions (#22071) 2 years ago
csv Implement FSFE REUSE for golang files (#21840) 2 years ago
doctor Add doctor command for full GC of LFS (#21978) 2 years ago
emoji Implement FSFE REUSE for golang files (#21840) 2 years ago
eventsource Implement FSFE REUSE for golang files (#21840) 2 years ago
generate Implement FSFE REUSE for golang files (#21840) 2 years ago
git On tag/branch-exist check, dont panic if repo is nil (#21787) 2 years ago
gitgraph Implement FSFE REUSE for golang files (#21840) 2 years ago
graceful Implement FSFE REUSE for golang files (#21840) 2 years ago
hcaptcha Implement FSFE REUSE for golang files (#21840) 2 years ago
highlight Implement FSFE REUSE for golang files (#21840) 2 years ago
hostmatcher Implement FSFE REUSE for golang files (#21840) 2 years ago
html Implement FSFE REUSE for golang files (#21840) 2 years ago
httpcache Implement FSFE REUSE for golang files (#21840) 2 years ago
httplib Implement FSFE REUSE for golang files (#21840) 2 years ago
indexer refactor some functions to support ctx as first parameter (#21878) 2 years ago
issue/template Use path not filepath in template filenames (#21993) 2 years ago
json Update gitea-vet to check FSFE REUSE (#22004) 2 years ago
lfs Implement FSFE REUSE for golang files (#21840) 2 years ago
log Update go dev dependencies (#22064) 2 years ago
markup Use multi reader instead to concat strings (#22099) 2 years ago
mcaptcha Implement FSFE REUSE for golang files (#21840) 2 years ago
metrics Implement FSFE REUSE for golang files (#21840) 2 years ago
migration Implement FSFE REUSE for golang files (#21840) 2 years ago
mirror Implement FSFE REUSE for golang files (#21840) 2 years ago
nosql Implement FSFE REUSE for golang files (#21840) 2 years ago
notification Add API management for issue/pull and comment attachments (#21783) 2 years ago
options Implement FSFE REUSE for golang files (#21840) 2 years ago
packages Replace fmt.Sprintf with hex.EncodeToString (#21960) 2 years ago
paginator Update gitea-vet to check FSFE REUSE (#22004) 2 years ago
password Implement FSFE REUSE for golang files (#21840) 2 years ago
pprof Implement FSFE REUSE for golang files (#21840) 2 years ago
private Implement FSFE REUSE for golang files (#21840) 2 years ago
process Implement FSFE REUSE for golang files (#21840) 2 years ago
proxy Implement FSFE REUSE for golang files (#21840) 2 years ago
proxyprotocol Implement FSFE REUSE for golang files (#21840) 2 years ago
public Implement FSFE REUSE for golang files (#21840) 2 years ago
queue Implement FSFE REUSE for golang files (#21840) 2 years ago
recaptcha Implement FSFE REUSE for golang files (#21840) 2 years ago
references Implement FSFE REUSE for golang files (#21840) 2 years ago
regexplru Implement FSFE REUSE for golang files (#21840) 2 years ago
repository Rename almost all Ctx functions (#22071) 2 years ago
secret Implement FSFE REUSE for golang files (#21840) 2 years ago
session Update gitea-vet to check FSFE REUSE (#22004) 2 years ago
setting Add setting to disable the git apply step in test patch (#22130) 2 years ago
sitemap Implement FSFE REUSE for golang files (#21840) 2 years ago
ssh Implement FSFE REUSE for golang files (#21840) 2 years ago
storage Local storage should not store files as executable (#22162) 2 years ago
structs Add API management for issue/pull and comment attachments (#21783) 2 years ago
svg Implement FSFE REUSE for golang files (#21840) 2 years ago
sync Implement FSFE REUSE for golang files (#21840) 2 years ago
system Implement FSFE REUSE for golang files (#21840) 2 years ago
templates refactor some functions to support ctx as first parameter (#21878) 2 years ago
test refactor some functions to support ctx as first parameter (#21878) 2 years ago
timeutil Implement FSFE REUSE for golang files (#21840) 2 years ago
translation Implement FSFE REUSE for golang files (#21840) 2 years ago
typesniffer Implement FSFE REUSE for golang files (#21840) 2 years ago
updatechecker Implement FSFE REUSE for golang files (#21840) 2 years ago
upload Implement FSFE REUSE for golang files (#21840) 2 years ago
uri Implement FSFE REUSE for golang files (#21840) 2 years ago
user Implement FSFE REUSE for golang files (#21840) 2 years ago
util Implement FSFE REUSE for golang files (#21840) 2 years ago
validation Implement FSFE REUSE for golang files (#21840) 2 years ago
watcher Implement FSFE REUSE for golang files (#21840) 2 years ago
web refactor bind functions based on generics (#22055) 2 years ago