diff options
author | caicandong <50507092+CaiCandong@users.noreply.github.com> | 2023-07-26 16:52:07 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-26 08:52:07 +0000 |
commit | 13359581df51a25ff9f7492419206a9b6e2edbc4 (patch) | |
tree | 151e5a3513c64e6fdc9caaa62c4186583c08a2b3 /services | |
parent | df9afe3aa8ccc1a91858bb8a2d4120cfb603e001 (diff) | |
download | gitea-13359581df51a25ff9f7492419206a9b6e2edbc4.tar.gz gitea-13359581df51a25ff9f7492419206a9b6e2edbc4.zip |
refactor improve NoBetterThan (#26126)
- The `NoBetterThan` function can only handle comparisons between
"pending," "success," "error," and "failure." For any other comparison,
we directly return false. This prevents logic errors like the one in
#26121.
- The callers of the `NoBetterThan` function should also avoid making
incomparable calls.
---------
Co-authored-by: yp05327 <576951401@qq.com>
Co-authored-by: puni9869 <80308335+puni9869@users.noreply.github.com>
Diffstat (limited to 'services')
-rw-r--r-- | services/convert/status.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/services/convert/status.go b/services/convert/status.go index c7b6450e27..6cef63c1cd 100644 --- a/services/convert/status.go +++ b/services/convert/status.go @@ -48,7 +48,7 @@ func ToCombinedStatus(ctx context.Context, statuses []*git_model.CommitStatus, r retStatus.Statuses = make([]*api.CommitStatus, 0, len(statuses)) for _, status := range statuses { retStatus.Statuses = append(retStatus.Statuses, ToCommitStatus(ctx, status)) - if status.State.NoBetterThan(retStatus.State) { + if retStatus.State == "" || status.State.NoBetterThan(retStatus.State) { retStatus.State = status.State } } |