lazygit/pkg/commands/git_commands
Stefan Haller 078445db63 Allow deleting a merge commit
For non-merge commits we change "pick" to "drop" when we delete them. We do this
so that we can use the same code for dropping a commit no matter whether we are
in an interactive rebase or not. (If we aren't, we could just as well delete the
pick line from the todo list instead of setting it to "drop", but if we are, it
is better to keep the line around so that the user can change it back to "pick"
if they change their mind.)

However, merge commits can't be changed to "drop", so we have to delete them
from the todo file. We add a new daemon instruction that does this.

We still don't allow deleting a merge commit from within an interactive rebase.
The reason is that we don't show the "label" and "reset" todos in lazygit, so
deleting a merge commit would leave the commits from the branch that is being
merged in the list as "pick" commits, with no indication that they are going to
be dropped because they are on a different branch, and the merge commit that
would have brought them in is gone. This could be very confusing.
2024-12-23 12:12:45 +01:00
..
bisect.go rename sha to hash 9, case: Sha 2024-04-12 08:33:47 +02:00
bisect_info.go rename sha to hash 2 2024-04-12 08:33:47 +02:00
blame.go Add command to find base commit for creating a fixup 2024-01-10 09:11:40 +01:00
branch.go Allow deleting a range selection of branches 2024-12-01 10:59:54 +01:00
branch_loader.go Change direct access to Common.UserConfig to a getter 2024-08-18 10:24:52 +02:00
branch_loader_test.go Add ahead/behind information for @{push} 2024-05-19 09:44:38 +02:00
branch_test.go Allow deleting a range selection of branches 2024-12-01 10:59:54 +01:00
commit.go Fix copying commit author to clipboard 2024-09-23 09:47:14 +02:00
commit_file_loader.go Set diff.noprefix=false for all other diff commands too 2024-02-18 15:22:43 +01:00
commit_file_loader_test.go Merge loaders package into git_commands package 2022-11-14 18:11:45 +11:00
commit_loader.go Show "exec" todos in the list of rebase todos 2024-06-12 12:44:33 +02:00
commit_loader_test.go Store Common instead of just the list of configured main branches in MainBranches 2024-08-18 10:24:52 +02:00
commit_test.go use unsigned integer in test and fix CI/linter complaint 2024-11-19 08:21:19 +11:00
common.go Remove sync mutex 2023-10-08 18:45:36 +02:00
config.go Change direct access to Common.UserConfig to a getter 2024-08-18 10:24:52 +02:00
custom.go Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
deps_test.go Change direct access to Common.UserConfig to a getter 2024-08-18 10:24:52 +02:00
diff.go Respect the diff context size when showing a range diff 2024-12-01 13:01:16 +01:00
file.go Change direct access to Common.UserConfig to a getter 2024-08-18 10:24:52 +02:00
file_loader.go Add user config gui.showNumstatInFilesView 2024-12-08 12:09:47 +01:00
file_loader_test.go Add user config gui.showNumstatInFilesView 2024-12-08 12:09:47 +01:00
file_test.go Support editing multiple files at once using range selection 2024-03-22 08:20:16 +01:00
flow.go Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
flow_test.go Remove redundant variable dedeclarations 2024-05-19 16:38:21 +10:00
git_command_builder.go Show all submodules recursively 2024-03-07 20:16:28 +01:00
git_command_builder_test.go Add worktree tests for removing/detaching 2023-07-30 18:35:23 +10:00
main_branches.go Re-determine existing main branches if mainBranches config changed 2024-08-18 10:24:52 +02:00
patch.go Fix custom patch operations on added files 2024-06-23 12:40:31 +02:00
rebase.go Allow deleting a merge commit 2024-12-23 12:12:45 +01:00
rebase_test.go Remove redundant variable dedeclarations 2024-05-19 16:38:21 +10:00
reflog_commit_loader.go rename sha to hash 8, update some log and comment 2024-04-12 08:33:47 +02:00
reflog_commit_loader_test.go Remove redundant variable dedeclarations 2024-05-19 16:38:21 +10:00
remote.go Allow deleting a range selection of branches 2024-12-01 10:59:54 +01:00
remote_loader.go Implement a sort order menu for remote branches 2023-12-22 16:30:20 +09:00
repo_paths.go Use filepath instead of path for file path operations 2024-08-18 10:24:52 +02:00
repo_paths_test.go Use filepath instead of path for file path operations 2024-08-18 10:24:52 +02:00
stash.go Change direct access to Common.UserConfig to a getter 2024-08-18 10:24:52 +02:00
stash_loader.go chore: use null char as a stash entries divider during loading 2023-12-27 11:21:49 +01:00
stash_loader_test.go Remove redundant variable dedeclarations 2024-05-19 16:38:21 +10:00
stash_test.go use unsigned integer in test and fix CI/linter complaint 2024-11-19 08:21:19 +11:00
status.go Optimize number of early calls to GetRepoPaths 2024-07-06 12:09:48 -07:00
submodule.go Show all submodules recursively 2024-03-07 20:16:28 +01:00
sync.go Specifying branch name source from refs/heads for fast forwarding 2024-08-18 10:42:57 +02:00
sync_test.go Change direct access to Common.UserConfig to a getter 2024-08-18 10:24:52 +02:00
tag.go Remove sync mutex 2023-10-08 18:45:36 +02:00
tag_loader.go Standardise on using lo for slice functions 2023-07-30 18:51:23 +10:00
tag_loader_test.go Remove redundant variable dedeclarations 2024-05-19 16:38:21 +10:00
version.go Add a method GitVersion.IsAtLeast 2024-01-10 09:18:38 +01:00
version_test.go Add a method GitVersion.IsAtLeast 2024-01-10 09:18:38 +01:00
working_tree.go Change direct access to Common.UserConfig to a getter 2024-08-18 10:24:52 +02:00
working_tree_test.go use unsigned integer in test and fix CI/linter complaint 2024-11-19 08:21:19 +11:00
worktree.go Centralise logic for obtaining repo paths 2023-07-30 18:35:24 +10:00
worktree_loader.go Remove redundant variable dedeclarations 2024-05-19 16:38:21 +10:00
worktree_loader_test.go Remove redundant variable dedeclarations 2024-05-19 16:38:21 +10:00