jesseduffield.lazygit/pkg/gui/controllers
Stefan Haller c712b1d0fe Better local branch delete confirmation
Currently we try to delete a branch normally, and if git returns an error and
its output contains the text "branch -D", then we prompt the user to force
delete, and try again using -D. Besides just being ugly, this has the
disadvantage that git's logic to decide whether a branch is merged is not very
good; it only considers a branch merged if it is either reachable from the
current head, or from its own upstream. In many cases I want to delete a branch
that has been merged to master, but I don't have master checked out, so the
current branch is really irrelevant, and it should rather (or in addition) check
whether the branch is reachable from one of the main branches. The problem is
that git doesn't know what those are.

But lazygit does, so make the check on our side, prompt the user if necessary,
and always use -D. This is both cleaner, and works better.

See this mailing list discussion for more:
https://lore.kernel.org/git/bf6308ce-3914-4b85-a04b-4a9716bac538@haller-berlin.de/
2024-09-28 11:19:32 +02:00
..
helpers Better local branch delete confirmation 2024-09-28 11:19:32 +02:00
attach.go Begin refactoring gui 2023-04-30 13:19:52 +10:00
base_controller.go Remove return value of Focus-related functions 2024-09-06 08:45:48 +02:00
basic_commits_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
bisect_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
branches_controller.go Better local branch delete confirmation 2024-09-28 11:19:32 +02:00
command_log_controller.go Remove return value of Focus-related functions 2024-09-06 08:45:48 +02:00
commit_description_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
commit_message_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
commits_files_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
common.go lots of changes 2023-04-30 13:19:53 +10:00
confirmation_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
context_lines_controller.go Remove return value of RenderToMainViews and some related functions 2024-09-06 08:45:48 +02:00
custom_patch_options_menu_action.go Remove return value of OpenCommitMessagePanel 2024-09-06 08:45:48 +02:00
diffing_menu_action.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
files_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
filter_controller.go Introduce filtered list view model 2023-07-03 12:54:13 +10:00
filtering_menu_action.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
git_flow_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
global_controller.go Rename "Custom Command" to "Shell Command" 2024-08-17 10:56:03 +02:00
jump_to_side_window_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
list_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
list_controller_trait.go Remove ErrorMsg 2024-04-18 10:10:30 +02:00
local_commits_controller.go Create fixup commit at end of its branch when there's a stack of branches 2024-09-15 11:19:39 +02:00
local_commits_controller_test.go Keep the same line selected after squashing fixup commits 2024-03-09 07:55:22 +01:00
menu_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
merge_conflicts_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
options_menu_action.go Replace CurrentContext() with Context().Current() 2024-08-17 11:14:51 +02:00
patch_building_controller.go Remove return value of RefreshPatchBuildingPanel 2024-09-06 08:45:48 +02:00
patch_explorer_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
quit_actions.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
reflog_commits_controller.go Remove return value of RenderToMainViews and some related functions 2024-09-06 08:45:48 +02:00
remote_branches_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
remotes_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
rename_similarity_threshold_controller.go Remove return value of RenderToMainViews and some related functions 2024-09-06 08:45:48 +02:00
screen_mode_actions.go Remove return value of HandleRender 2024-09-06 08:45:48 +02:00
scroll_off_margin.go Replace min/max helpers with built-in min/max 2024-04-07 23:24:10 +08:00
scroll_off_margin_test.go Add tests for scroll-off margin of zero 2023-08-21 08:10:28 +02:00
search_controller.go Introduce filtered list view model 2023-07-03 12:54:13 +10:00
search_prompt_controller.go Enforce single-item selection in various actions 2024-01-19 10:50:49 +11:00
shell_command_action.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
side_window_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
snake_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
staging_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
stash_controller.go Add options for disabling switching to the Files panel after popping or applying a stash 2024-09-15 11:59:59 +02:00
status_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
sub_commits_controller.go Remove return value of Focus-related functions 2024-09-06 08:45:48 +02:00
submodules_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
suggestions_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
switch_to_diff_files_controller.go Remove return value of IContextMgr.Push/Pop et. al. 2024-09-06 08:45:48 +02:00
switch_to_sub_commits_controller.go Set groundwork for better disabled reasons with range select 2024-01-23 13:03:37 +11:00
sync_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
tags_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
toggle_whitespace_action.go Remove return value of Focus-related functions 2024-09-06 08:45:48 +02:00
undo_controller.go Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
vertical_scroll_controller.go Change direct access to Common.UserConfig to a getter 2024-08-18 10:24:52 +02:00
workspace_reset_controller.go Bump gocui 2024-09-06 08:45:48 +02:00
worktree_options_controller.go Set groundwork for better disabled reasons with range select 2024-01-23 13:03:37 +11:00
worktrees_controller.go Remove return value of RenderToMainViews and some related functions 2024-09-06 08:45:48 +02:00