jesseduffield.lazygit/pkg/gui/controllers
Jesse Duffield 53a8bd2e3f Add ability to start an interactive rebase onto an appropriate base
A common issue I have is that I want to move a commit from the top of my branch
all the way down to the first commit on the branch. To do that, I need to navigate
down to the first commit on my branch, press 'e' to start an interactive rebase,
then navigate back up to the top of the branch, then move my commit back down to
the base. This is annoying.

Similarly annoying is moving the commit one-by-one without explicitly starting
an interactive rebase, because then each individual step is its own rebase which
takes a while in aggregate.

This PR allows you to press 'i' from the commits view to start an interactive
rebase from an 'appropriate' base. By appropriate, we mean that we want to start
from the HEAD and stop when we reach the first merge commit or commit on the main
branch. This may end up including more commits than you need, but it doesn't make
a difference.
2024-01-13 12:57:49 +11:00
..
helpers Obtain remote URL by calling "ls-remote --get-url" instead of using git config 2024-01-10 09:24:23 +01:00
attach.go
base_controller.go
basic_commits_controller.go Add command to open git difftool 2024-01-09 14:27:33 +01:00
bisect_controller.go
branches_controller.go Add a sort order menu for local branches 2023-12-27 15:25:29 +01:00
command_log_controller.go
commit_description_controller.go Add key binding for switching from the commit message panel to an editor 2023-08-21 10:03:34 +02:00
commit_message_controller.go Add key binding for switching from the commit message panel to an editor 2023-08-21 10:03:34 +02:00
commits_files_controller.go Add command to open git difftool 2024-01-09 14:27:33 +01:00
common.go
confirmation_controller.go
context_lines_controller.go Move diff context size from UserConfig to AppState 2023-09-05 13:55:30 +02:00
custom_command_action.go Standardise on using lo for slice functions 2023-07-30 18:51:23 +10:00
custom_patch_options_menu_action.go
diffing_menu_action.go
files_controller.go Add command to find base commit for creating a fixup 2024-01-10 09:11:40 +01:00
files_remove_controller.go Support custom keybindings for confirm discard 2023-08-25 08:50:05 -05:00
filter_controller.go
filtering_menu_action.go
git_flow_controller.go
global_controller.go
jump_to_side_window_controller.go
list_controller.go Add a mechanism to insert non-model items into list contexts 2023-08-29 08:04:47 +02:00
local_commits_controller.go Add ability to start an interactive rebase onto an appropriate base 2024-01-13 12:57:49 +11:00
menu_controller.go Add DisabledReason field to MenuItem 2023-09-18 10:15:11 +02:00
merge_conflicts_controller.go Moves log related translations into its own Tr.Log. namespace 2023-07-31 19:42:41 -04:00
options_menu_action.go Add Enabled func to Binding 2023-09-18 10:20:23 +02:00
patch_building_controller.go
patch_explorer_controller.go Pass UserConfig to checkScrollUp/Down instead of just the scrollOffMargin 2023-08-21 08:10:28 +02:00
quit_actions.go
reflog_commits_controller.go Don't pass ignoreWhitespace to git commands 2023-09-04 17:50:49 +02:00
remote_branches_controller.go Add a sort order menu for local branches 2023-12-27 15:25:29 +01:00
remotes_controller.go feat: add jump-to-panel label setting 2023-09-09 09:45:08 +02:00
screen_mode_actions.go Remove special code to rerender views on screen mode change 2023-10-16 09:03:07 +02:00
scroll_off_margin.go Add scrollOffEnabled config 2023-08-21 09:03:45 +02: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
search_prompt_controller.go Add search history 2023-09-20 08:35:41 +03:00
side_window_controller.go
snake_controller.go
staging_controller.go
stash_controller.go Don't pass ignoreWhitespace to git commands 2023-09-04 17:50:49 +02:00
status_controller.go Pass "now" into utils.Loader 2023-10-16 09:03:07 +02:00
sub_commits_controller.go Don't pass ignoreWhitespace to git commands 2023-09-04 17:50:49 +02:00
submodules_controller.go Don't pass ignoreWhitespace to git commands 2023-09-04 17:50:49 +02:00
suggestions_controller.go
switch_to_diff_files_controller.go feat: add jump-to-panel label setting 2023-09-09 09:45:08 +02:00
switch_to_sub_commits_controller.go Add "Show divergence from upstream" entry to Upstream menu in branches panel 2023-08-29 08:16:40 +02:00
sync_controller.go Disallow pulling/pushing a branch while the branch is pushed or pulled 2023-10-08 18:45:36 +02:00
tags_controller.go Fix checking out a tag when a branch with the same name exists 2024-01-09 14:18:35 +01:00
toggle_whitespace_action.go Extract a SaveAppStateAndLogError function 2023-09-04 17:50:49 +02:00
types.go
undo_controller.go
vertical_scroll_controller.go
workspace_reset_controller.go Reset origin when clearing view 2023-08-08 22:01:43 +10:00
worktree_options_controller.go
worktrees_controller.go