forgejo/routers/web/repo
oliverpool cb7ba8969d
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_
2023-05-12 14:14:41 -04:00
..
actions Add run status in action view page (#24223) 2023-04-20 09:24:50 +02:00
activity.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
attachment.go Require repo scope for PATs for private repos and basic authentication (#24362) (#24364) 2023-04-26 20:57:51 -04:00
blame.go Sort repo topic labels by name (#24123) (#24153) 2023-04-17 09:00:19 +08:00
branch.go Make branches list page operations remember current page (#23420) (#23460) 2023-03-14 20:51:14 +08:00
cherry_pick.go Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
commit.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
compare.go Don't list root repository on compare page if pulls not allowed (#24183) (#24210) 2023-04-19 19:07:47 -04:00
download.go Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
editor.go Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
editor_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
find.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
http.go Require repo scope for PATs for private repos and basic authentication (#24362) (#24364) 2023-04-26 20:57:51 -04:00
http_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue.go Refresh the refernce of the closed PR when reopening (#24231) (#24587) 2023-05-08 12:48:06 +02:00
issue_content_history.go Move helpers to be prefixed with gt- (#22879) 2023-02-13 17:59:59 +00:00
issue_dependency.go Fix improper HTMLURL usages in Go code (#22839) 2023-02-11 14:34:11 +08:00
issue_label.go Make label templates have consistent behavior and priority (#23749) (#24071) 2023-04-12 16:05:10 +02:00
issue_label_test.go Make label templates have consistent behavior and priority (#23749) (#24071) 2023-04-12 16:05:10 +02:00
issue_lock.go Fix improper HTMLURL usages in Go code (#22839) 2023-02-11 14:34:11 +08:00
issue_stopwatch.go Fix improper HTMLURL usages in Go code (#22839) 2023-02-11 14:34:11 +08:00
issue_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_timetrack.go Fix improper HTMLURL usages in Go code (#22839) 2023-02-11 14:34:11 +08:00
issue_watch.go Fix improper HTMLURL usages in Go code (#22839) 2023-02-11 14:34:11 +08:00
lfs.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
main_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
middlewares.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
migrate.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
milestone.go Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
packages.go Use dynamic package type list (#22263) 2022-12-29 00:31:54 +01:00
patch.go Redirect to the commit page after applying patch (#23056) (#23127) 2023-02-24 22:43:26 -05:00
projects.go Fix cancel button in the page of project edit not work (#23655) (#23813) 2023-03-30 11:15:50 +02:00
projects_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
pull.go Fix cannot reopen after pushing commits to a closed PR (#23189) (#23324) 2023-03-07 18:47:23 +08:00
pull_review.go Fix improper HTMLURL usages in Go code (#22839) 2023-02-11 14:34:11 +08:00
release.go fix: release page for empty or non-existing target (#24659) 2023-05-12 14:14:41 -04:00
release_test.go fix: release page for empty or non-existing target (#24659) 2023-05-12 14:14:41 -04:00
render.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo.go Make label templates have consistent behavior and priority (#23749) (#24071) 2023-04-12 16:05:10 +02:00
runners.go Implement actions (#21937) 2023-01-31 09:45:19 +08:00
search.go Fix improper HTMLURL usages in Go code (#22839) 2023-02-11 14:34:11 +08:00
setting.go Rename repo.GetOwner to repo.LoadOwner (#22967) 2023-02-18 20:11:03 +08:00
setting_protected_branch.go Get rules by id when editing branch protection rule (#22932) 2023-02-20 19:30:41 +08:00
setting_secrets.go Only delete secrets belonging to its owner (#24284) (#24286) 2023-04-23 16:36:20 +02:00
settings_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tag.go Add main landmark to templates and adjust titles (#22670) 2023-02-01 22:56:10 +00:00
topic.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
treelist.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
view.go Use correct locale key for forks page (#24172) (#24175) 2023-04-17 17:21:53 -04:00
view_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
webhook.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
wiki.go Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
wiki_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00