mirror of
https://github.com/go-gitea/gitea.git
synced 2025-02-08 18:19:55 +01:00
Fixes: #26333.
Previously, this endpoint only updates the `StatusCheckContexts` field
when `EnableStatusCheck==true`, which makes it impossible to clear the
array otherwise.
This patch uses slice `nil`-ness to decide whether to update the list of
checks. The field is ignored when either the client explicitly passes in
a null, or just omits the field from the json ([which causes
`json.Unmarshal` to leave the struct field
unchanged](https://go.dev/play/p/Z2XHOILuB1Q)). I think this is a better
measure of intent than whether the `EnableStatusCheck` flag was set,
because it matches the semantics of other field types.
Also adds a test case. I noticed that [`testAPIEditBranchProtection`
only checks the branch
name](
|
||
---|---|---|
.. | ||
avatar.go | ||
blob.go | ||
branch.go | ||
collaborators.go | ||
commits.go | ||
file.go | ||
fork.go | ||
git_hook.go | ||
git_ref.go | ||
hook_test.go | ||
hook.go | ||
issue_attachment.go | ||
issue_comment_attachment.go | ||
issue_comment.go | ||
issue_dependency.go | ||
issue_label.go | ||
issue_pin.go | ||
issue_reaction.go | ||
issue_stopwatch.go | ||
issue_subscription.go | ||
issue_tracked_time.go | ||
issue.go | ||
key.go | ||
label.go | ||
language.go | ||
main_test.go | ||
migrate.go | ||
milestone.go | ||
mirror.go | ||
notes.go | ||
patch.go | ||
pull_review.go | ||
pull.go | ||
release_attachment.go | ||
release_tags.go | ||
release.go | ||
repo_test.go | ||
repo.go | ||
star.go | ||
status.go | ||
subscriber.go | ||
tag.go | ||
teams.go | ||
topic.go | ||
transfer.go | ||
tree.go | ||
wiki.go |