forgejo/routers/web
oliverpool 937b8e8184
fix: release page for empty or non-existing target (#24659)
Backport #24470

Fixes #24145

---

To solve the bug, I added a "computed" `TargetBehind` field to the
`Release` model, which indicates the target branch of a release. This is
particularly useful if the target branch was deleted in the meantime (or
is empty).

I also did a micro-optimization in `calReleaseNumCommitsBehind`. Instead
of checking that a branch exists and then call `GetBranchCommit`, I
immediately call `GetBranchCommit` and handle the `git.ErrNotExist`
error.

This optimization is covered by the added unit test.

_contributed in the context of @forgejo_

(cherry picked from commit cb7ba8969d)
2023-05-16 07:42:22 +02:00
..
admin [BRANDING] alias {FORGEJO,GITEA}_{CUSTOM,WORK_DIR} 2023-05-10 11:05:22 +02:00
auth Respect the REGISTER_MANUAL_CONFIRM setting when registering via OIDC (#24035) (#24333) 2023-04-25 15:25:08 -04:00
events Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
explore Add ONLY_SHOW_RELEVANT_REPOS back, fix explore page bug, make code more strict (#23766) (#23791) 2023-03-30 09:09:22 -05:00
feed User/Org Feed render description as per web (#23887) (#23906) 2023-04-04 00:44:50 -04:00
healthcheck Refactor setting.Database.UseXXX to methods (#23354) (#23356) 2023-03-07 20:11:44 +08:00
misc [API] Forgejo API /api/forgejo/v1 2023-05-10 09:20:14 +02:00
org Fix close org projects (#24588) (#24591) 2023-05-08 20:50:27 +02:00
repo fix: release page for empty or non-existing target (#24659) 2023-05-16 07:42:22 +02:00
shared Only delete secrets belonging to its owner (#24284) (#24286) 2023-04-23 16:36:20 +02:00
user Only delete secrets belonging to its owner (#24284) (#24286) 2023-04-23 16:36:20 +02:00
auth.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
auth_windows.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
base.go Set X-Gitea-Debug header once (#23361) (#23381) 2023-03-09 06:33:05 +08:00
goget.go refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
home.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
metrics.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
nodeinfo.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
swagger_json.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
web.go [BRANDING] define the forgejo webhook type 2023-05-10 11:05:22 +02:00
webfinger.go Use User.ID instead of User.Name in ActivityPub API for Person IRI (#23823) (#23905) 2023-04-03 22:41:57 -05:00