lazygit/pkg/commands/git_commands
John Whitley 3d9f1e02e5 Refactor repo_paths.go to use git rev-parse
This changes GetRepoPaths() to pull information from `git rev-parse`
instead of effectively reimplementing git's logic for pathfinding. This
change fixes issues with bare repos, esp. versioned homedir use cases,
by aligning lazygit's path handling to what git itself does.

This change also enables lazygit to run from arbitrary subdirectories of
a repository, including correct handling of symlinks, including "deep"
symlinks into a repo, worktree, a repo's submodules, etc.

Integration tests are now resilient against unintended side effects from
the host's environment variables. Of necessity, $PATH and $TERM are the
only env vars allowed through now.
2024-01-24 08:40:01 +01:00
..
bisect.go Centralise logic for obtaining repo paths 2023-07-30 18:35:24 +10:00
bisect_info.go Standardise on using lo for slice functions 2023-07-30 18:51:23 +10: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 remote tags/branches from local tag/branch views (#2738) 2023-08-10 17:39:26 +10:00
branch_loader.go Add a sort order menu for local branches 2023-12-27 15:25:29 +01:00
branch_loader_test.go Add a sort order menu for local branches 2023-12-27 15:25:29 +01:00
branch_test.go Allow deleting remote tags/branches from local tag/branch views (#2738) 2023-08-10 17:39:26 +10:00
commit.go Refactor repo_paths.go to use git rev-parse 2024-01-24 08:40:01 +01:00
commit_file_loader.go Standardise on using lo for slice functions 2023-07-30 18:51:23 +10:00
commit_file_loader_test.go Merge loaders package into git_commands package 2022-11-14 18:11:45 +11:00
commit_loader.go Add option RefToShowDivergenceFrom to GetCommitsOptions 2023-08-29 08:16:40 +02:00
commit_loader_test.go Add option RefToShowDivergenceFrom to GetCommitsOptions 2023-08-29 08:16:40 +02:00
commit_test.go Refactor repo_paths.go to use git rev-parse 2024-01-24 08:40:01 +01:00
common.go Remove sync mutex 2023-10-08 18:45:36 +02:00
config.go Add UserConfig jsonschema generation script 2023-12-02 10:46:24 +01:00
custom.go Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
deps_test.go Add AppState to common.Common 2023-09-04 17:48:39 +02:00
diff.go Refactor repo_paths.go to use git rev-parse 2024-01-24 08:40:01 +01:00
file.go use 'suspend' instead of 'editInTerminal' internally 2023-08-09 22:03:58 +10:00
file_loader.go Write unit tests with the help of afero 2023-07-30 18:35:36 +10:00
file_loader_test.go Write unit tests with the help of afero 2023-07-30 18:35:36 +10:00
file_test.go use 'suspend' instead of 'editInTerminal' internally 2023-08-09 22:03:58 +10:00
flow.go Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
flow_test.go Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
git_command_builder.go Add support for external diff commands (e.g. difftastic) 2023-09-04 16:52:30 +02:00
git_command_builder_test.go Add worktree tests for removing/detaching 2023-07-30 18:35:23 +10:00
patch.go Centralise logic for obtaining repo paths 2023-07-30 18:35:24 +10:00
rebase.go Support range select in rebase actions 2024-01-23 17:23:56 +11:00
rebase_test.go Support random order of command execution in unit tests 2023-07-29 12:36:17 +10:00
reflog_commit_loader.go Refactor reflog commit loader 2023-07-29 10:04:11 +10:00
reflog_commit_loader_test.go Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
remote.go Obtain remote URL by calling "ls-remote --get-url" instead of using git config 2024-01-10 09:24:23 +01:00
remote_loader.go Implement a sort order menu for remote branches 2023-12-22 16:30:20 +09:00
repo_paths.go Refactor repo_paths.go to use git rev-parse 2024-01-24 08:40:01 +01:00
repo_paths_test.go Refactor repo_paths.go to use git rev-parse 2024-01-24 08:40:01 +01:00
stash.go Refactor repo_paths.go to use git rev-parse 2024-01-24 08:40:01 +01: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 feat: add age on stash lines 2023-12-27 11:21:49 +01:00
stash_test.go Refactor repo_paths.go to use git rev-parse 2024-01-24 08:40:01 +01:00
status.go Add StatusCommands.IsInNormalRebase and IsInInteractiveRebase 2023-09-18 10:50:19 +02:00
submodule.go Centralise logic for obtaining repo paths 2023-07-30 18:35:24 +10:00
sync.go Allow multiple fetch commands (or fetch and pull) to run concurrently 2024-01-10 09:18:38 +01:00
sync_test.go Use an interface for tasks instead of a concrete struct 2023-07-10 17:12:21 +10: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 Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +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 Refactor repo_paths.go to use git rev-parse 2024-01-24 08:40:01 +01:00
working_tree_test.go Refactor repo_paths.go to use git rev-parse 2024-01-24 08:40:01 +01:00
worktree.go Centralise logic for obtaining repo paths 2023-07-30 18:35:24 +10:00
worktree_loader.go Refactor repo_paths.go to use git rev-parse 2024-01-24 08:40:01 +01:00
worktree_loader_test.go Refactor repo_paths.go to use git rev-parse 2024-01-24 08:40:01 +01:00