jesseduffield.lazygit/pkg/commands/git_commands
Stefan Haller c1e52fc807 Fix dropping submodule changes from a commit
Our logic to decide if a file needs to be checked out from the previous commit
or deleted because it didn't exist in the previous commit didn't work for
submodules. We were using `git cat-file -e` to ask whether the file existed, but
this returns an error for submodules, so we were always deleting those instead
of reverting them back to their previous state.

Switch to using `git ls-tree -- file` instead, which works for both files and
submodules.
2025-10-10 12:55:58 +02: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 Show "Log (x of y)" in the title bar when there is more than one branch log command 2025-10-10 12:49:42 +02:00
branch_loader.go Move LocalBranchSortOrder and RemoteBranchSortOrder to user config 2025-07-09 13:15:03 +02:00
branch_loader_test.go Remove canUsePushTrack parameter of obtainBranches function 2025-04-09 10:40:52 +02:00
branch_test.go Allow deleting a range selection of branches 2024-12-01 10:59:54 +01:00
commit.go Add a user config for using git's external diff command for paging 2025-08-20 10:39:55 +02:00
commit_file_loader.go Rename Name to Path in File and CommitFile 2025-03-20 12:31:34 +01:00
commit_file_loader_test.go Rename Name to Path in File and CommitFile 2025-03-20 12:31:34 +01:00
commit_loader.go Use a better approach for determining pushed and merge statuses 2025-07-31 15:50:53 +02:00
commit_loader_test.go Use a better approach for determining pushed and merge statuses 2025-07-31 15:50:53 +02:00
commit_loading_shared.go Fix showing diffs for renamed file when filtering by path 2025-07-27 12:05:41 +02:00
commit_test.go Add a user config for using git's external diff command for paging 2025-08-20 10:39:55 +02:00
common.go Remove sync mutex 2023-10-08 18:45:36 +02:00
config.go Remove the git.paging.useConfig option 2025-08-19 10:43:28 +02:00
custom.go Add runCommand function to Go template syntax 2025-04-09 10:44:36 +02:00
deps_test.go Enable revive linter, and fix a bunch of warnings 2025-06-30 19:13:20 +02:00
diff.go Add a user config for using git's external diff command for paging 2025-08-20 10:39:55 +02:00
file.go Remove deprecated edit configs 2025-07-08 16:32:21 +02:00
file_loader.go Move DiffContextSize and RenameSimilarityThreshold to user config 2025-07-09 13:15:03 +02:00
file_loader_test.go Move DiffContextSize and RenameSimilarityThreshold to user config 2025-07-09 13:15:03 +02:00
file_test.go Remove deprecated edit configs 2025-07-08 16:32:21 +02:00
flow.go Remove ICmdObj interface 2025-05-01 15:21:37 +02:00
flow_test.go Remove redundant variable dedeclarations 2024-05-19 16:38:21 +10:00
git_command_builder.go Enable revive linter, and fix a bunch of warnings 2025-06-30 19:13:20 +02:00
git_command_builder_test.go Add worktree tests for removing/detaching 2023-07-30 18:35:23 +10:00
main_branches.go Cleanup: remove the ignoringWarnings hack from GetMergeBase 2025-07-31 15:21:34 +02:00
patch.go Use a better name for the auto-stash for moving a custom patch to index 2025-07-03 16:56:30 +02:00
rebase.go Fix dropping submodule changes from a commit 2025-10-10 12:55:58 +02:00
rebase_test.go Fix dropping submodule changes from a commit 2025-10-10 12:55:58 +02:00
reflog_commit_loader.go Fix showing diffs for renamed file when filtering by path 2025-07-27 12:05:41 +02:00
reflog_commit_loader_test.go Fix showing diffs for renamed file when filtering by path 2025-07-27 12:05:41 +02:00
remote.go Allow deleting a range selection of branches 2024-12-01 10:59:54 +01:00
remote_loader.go Move LocalBranchSortOrder and RemoteBranchSortOrder to user config 2025-07-09 13:15:03 +02:00
repo_paths.go Remove git version specific code for versions we no longer support 2025-07-09 12:18:58 +02:00
repo_paths_test.go Remove git version specific code for versions we no longer support 2025-07-09 12:18:58 +02:00
stash.go Add a user config for using git's external diff command for paging 2025-08-20 10:39:55 +02:00
stash_loader.go Add hash field to models.StashEntry 2025-08-25 19:23:30 +02:00
stash_loader_test.go Add hash field to models.StashEntry 2025-08-25 19:23:30 +02:00
stash_test.go Add a user config for using git's external diff command for paging 2025-08-20 10:39:55 +02:00
status.go Make WorkingTreeState a struct, and add cherry-picking and reverting states 2025-04-20 15:53:17 +02:00
submodule.go Enable revive linter, and fix a bunch of warnings 2025-06-30 19:13:20 +02:00
sync.go Remove git version specific code for versions we no longer support 2025-07-09 12:18:58 +02:00
sync_test.go Remove git version specific code for versions we no longer support 2025-07-09 12:18:58 +02:00
tag.go Use a different way to check if a tag is annotated 2025-07-28 10:53:51 +02:00
tag_loader.go Revert "Add IsAnnotated field to models.Tag struct" 2025-07-28 10:53:51 +02:00
tag_loader_test.go Revert "Add IsAnnotated field to models.Tag struct" 2025-07-28 10:53:51 +02: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 Add merge options menu 2025-10-09 08:45:58 +02:00
working_tree_test.go Move DiffContextSize and RenameSimilarityThreshold to user config 2025-07-09 13:15:03 +02:00
worktree.go Centralise logic for obtaining repo paths 2023-07-30 18:35:24 +10:00
worktree_loader.go Remove git version specific code for versions we no longer support 2025-07-09 12:18:58 +02:00
worktree_loader_test.go Remove git version specific code for versions we no longer support 2025-07-09 12:18:58 +02:00