mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-04 14:47:53 +01:00
c1f85ce27b
`BranchName` provides the nearest branch of the requested `:commit`. It's plenty fast on smaller repositories. On larger repositories like nixpkgs, however, this can easily take 2-3 seconds on a modern machine on a NVMe. For context, at the time of writing, nixpkgs has over 650k commits and roughly 250 branches. `BranchName` is used once in the whole view: The cherry-pick target branch default selection. And I believe that's a logic error, which is why this patch is so small. The nearest branch of a given commit will always be a branch the commit is already part of. The branch you most likely *don't* want to cherry-pick to. Sure, one can technically cherry-pick a commit onto the same branch, but that simply results in an empty commit. I don't believe this is intended and even less so worth the compute. Instead, the cherry-pick branch selection suggestion now always uses the default branch, which used to be the fallback. If a user wants to know which branches contain the given commit, `load-branches-and-tags` exists and should be used instead. Also, to add insult to injury, `BranchName` was calculated for both logged-in and not logged-in users, despite its only consumer, the cherry-pick operation, only being rendered when a given user has write/commit permissions. But this isn't particularly surprising, given this happens a lot in Forgejo's codebase. |
||
---|---|---|
.. | ||
actions | ||
branch | ||
cite | ||
code | ||
diff | ||
editor | ||
find | ||
graph | ||
issue | ||
migrate | ||
projects | ||
pulls | ||
release | ||
settings | ||
tag | ||
wiki | ||
activity.tmpl | ||
admin_flags.tmpl | ||
blame.tmpl | ||
branch_dropdown.tmpl | ||
clone_buttons.tmpl | ||
clone_script.tmpl | ||
code_frequency.tmpl | ||
commit_load_branches_and_tags.tmpl | ||
commit_page.tmpl | ||
commit_status.tmpl | ||
commit_statuses.tmpl | ||
commits.tmpl | ||
commits_list.tmpl | ||
commits_list_small.tmpl | ||
commits_search_dropdown.tmpl | ||
commits_table.tmpl | ||
contributors.tmpl | ||
create.tmpl | ||
create_helper.tmpl | ||
empty.tmpl | ||
file_info.tmpl | ||
flags.tmpl | ||
forks.tmpl | ||
graph.tmpl | ||
header.tmpl | ||
header_fork.tmpl | ||
home.tmpl | ||
icon.tmpl | ||
latest_commit.tmpl | ||
navbar.tmpl | ||
packages.tmpl | ||
pulse.tmpl | ||
recent_commits.tmpl | ||
release_tag_header.tmpl | ||
search.tmpl | ||
search_name.tmpl | ||
shabox_badge.tmpl | ||
star_unstar.tmpl | ||
sub_menu.tmpl | ||
unicode_escape_prompt.tmpl | ||
upload.tmpl | ||
user_cards.tmpl | ||
view_file.tmpl | ||
view_list.tmpl | ||
watch_unwatch.tmpl | ||
watchers.tmpl |