lazygit/pkg/integration/tests/interactive_rebase
Stefan Haller 5321101276 Use 'break' instead of 'edit' for BeginInteractiveRebaseForCommit with merge commit
BeginInteractiveRebaseForCommit is used for all the patch commands, and for
rewording. It works by setting the commit we want to stop at to 'edit'; this
doesn't work for merge commits. This wasn't a problem for the patch commands so
far, because you typically don't use custom patches with merge commits (although
we don't prevent this; maybe we should?).

However, it was a problem when you tried to reword a merge commit; this
previously failed with an error, as the test added in the previous commit
demonstrated.

Also, we want to add a new patch command that has to stop *before* the selected
commit (pull patch to new commit before the original one), and this wouldn't
work for the first commit in a feature branch, because it would have to set the
last commit before that to 'edit', which isn't possible if that's a merge (which
is likely).

To fix all this, use a 'break' before the selected commit if the commit is a
merge. It is important that we only do it in that case and not always, otherwise
we would break the new regression tests that were added a few commits ago.
2025-05-10 18:44:31 +02:00
..
advanced_interactive_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
amend_commit_with_conflict.go Add section headers for rebase todos, cherry-picks, reverts, and actual commits 2025-04-20 16:06:15 +02:00
amend_first_commit.go Use sentence case everywhere 2023-05-25 23:52:19 +10:00
amend_fixup_commit.go Use sentence case everywhere 2023-05-25 23:52:19 +10:00
amend_head_commit_during_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
amend_merge.go Improve prompts when amending commits 2023-09-01 18:55:16 +02:00
amend_non_head_commit_during_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
delete_update_ref_todo.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
dont_show_branch_heads_for_todo_items.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
drop_commit_in_copied_branch_with_update_ref.go Use getters for AppState and UserConfig instead of accessing the fields directly 2024-08-18 10:24:52 +02:00
drop_merge_commit.go Remove conditional code related to git earlier than 2.22 2025-04-09 10:40:52 +02:00
drop_todo_commit_with_update_ref.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
drop_with_custom_comment_char.go Support range select in rebase actions 2024-01-23 17:23:56 +11:00
edit_and_auto_amend.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
edit_first_commit.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
edit_last_commit_of_stacked_branch.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
edit_non_todo_commit_during_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
edit_range_select_down_to_merge_outside_rebase.go Remove space after rebase todo 2025-04-29 11:30:37 +02:00
edit_range_select_outside_rebase.go Remove space after rebase todo 2025-04-29 11:30:37 +02:00
edit_the_confl_commit.go Add section headers for rebase todos, cherry-picks, reverts, and actual commits 2025-04-20 16:06:15 +02:00
fixup_first_commit.go Use ErrorToast instead of error panel when invoking a disabled command 2024-01-14 17:45:35 +01:00
fixup_second_commit.go Support range select in rebase actions 2024-01-23 17:23:56 +11:00
interactive_rebase_of_copied_branch.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
interactive_rebase_with_conflict_for_edit_command.go Add section headers for rebase todos, cherry-picks, reverts, and actual commits 2025-04-20 16:06:15 +02:00
mid_rebase_range_select.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
move.go Support range select in rebase actions 2024-01-23 17:23:56 +11:00
move_across_branch_boundary_outside_rebase.go Fix moving a commit across a branch boundary in a stack 2024-12-23 12:18:48 +01:00
move_in_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
move_update_ref_todo.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
move_with_custom_comment_char.go Use comment char config on interactive rebase 2023-07-02 02:07:32 -03:00
outside_rebase_range_select.go Support range select in rebase actions 2024-01-23 17:23:56 +11:00
pick_rescheduled.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
quick_start.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
quick_start_keep_selection.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
quick_start_keep_selection_range.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
rebase_with_commit_that_becomes_empty.go Add test for a special situation in rebases involving empty commits 2025-04-20 15:53:17 +02:00
revert_during_rebase_when_stopped_on_edit.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
revert_multiple_commits_in_interactive_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
revert_single_commit_in_interactive_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
reword_commit_with_editor_and_fail.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
reword_first_commit.go Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
reword_last_commit.go Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
reword_last_commit_of_stacked_branch.go Regression test for renaming the last commit of a stacked branch 2025-05-10 18:19:09 +02:00
reword_merge_commit.go Use 'break' instead of 'edit' for BeginInteractiveRebaseForCommit with merge commit 2025-05-10 18:44:31 +02:00
reword_you_are_here_commit.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
reword_you_are_here_commit_with_editor.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
shared.go Add section headers for rebase todos, cherry-picks, reverts, and actual commits 2025-04-20 16:06:15 +02:00
show_exec_todos.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
squash_down_first_commit.go Use ErrorToast instead of error panel when invoking a disabled command 2024-01-14 17:45:35 +01:00
squash_down_second_commit.go Support range select in rebase actions 2024-01-23 17:23:56 +11:00
squash_fixups_above.go Make it easy to create "amend!" commits 2024-03-22 08:27:45 +01:00
squash_fixups_above_first_commit.go Make it easy to create "amend!" commits 2024-03-22 08:27:45 +01:00
squash_fixups_in_current_branch.go Keep the same line selected after squashing fixup commits 2024-03-09 07:55:22 +01:00
swap_in_rebase_with_conflict.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
swap_in_rebase_with_conflict_and_edit.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
swap_with_conflict.go Show original todo action instead of "conflict", and show <-- CONFLICT instead 2025-04-20 15:55:44 +02:00
view_files_of_todo_entries.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00