jesseduffield.lazygit/pkg
Stefan Haller 880064b987 Use the isolated test env for shell commands
Shell.RunShellCommand was passing os.Environ() to its child, while its
sibling runCommandWithOutputAndEnv has used the minimal
NewTestEnvironment since late 2023 when env isolation was introduced;
the sh path was just missed.

This matters when integration tests run from inside a `git rebase -x`
exec in a linked worktree: git sets GIT_DIR=<main>/.git/worktrees/<name>
for the exec, and it leaks all the way down through bash, just, go test,
and the test process, into every git invocation RunShellCommand spawns.
cmd.Dir becomes irrelevant — git resolves GIT_DIR over cwd-based
discovery, with the work-tree taken from the gitdir file (i.e. the
worktree root). So `git checkout -b conflict` in a test fixture creates
the branch on the real worktree and switches its HEAD, hijacking the
in-progress rebase and trashing the working tree. (In the main worktree
git doesn't set GIT_DIR for rebase exec, which is why the bug was only
visible from linked worktrees.)

Using self.env also incidentally restores GIT_CONFIG_GLOBAL for shell
commands, so commits made via RunShellCommand are now authored by the
test config's CI identity rather than whatever the host's ~/.gitconfig
resolves to.
2026-05-25 15:18:18 +02:00
..
app Change a-enter keybinding to m-enter on mac, and c-enter elsewhere 2026-04-30 22:22:53 +02:00
cheatsheet Remove the keybindings legend in the cheatsheets 2026-04-30 22:38:53 +02:00
commands Optimize regex compilations 2026-05-10 15:28:14 +02:00
common Move NewDummyCommon to pkg/common 2025-05-06 09:43:26 +02:00
config Validate that gui.spinner.frames must all have the same width 2026-05-06 18:53:32 +02:00
constants Make the links in the status panel point to the current version rather than master 2024-03-22 08:13:59 +01:00
env Support bare worktrees where worktree does not have its own .git file 2023-08-07 22:40:53 +10:00
fakes Modernize all codes 2025-11-15 10:46:23 +01:00
gocui When drawing tainted views in ForceFlushViewsContentOnly, also draw views that overlap them 2026-05-09 13:58:33 +02:00
gui Refresh worktrees before auto-forwarding branches 2026-05-21 13:59:18 +02:00
i18n Revert the change of <ctrl+j>/<ctrl+k> to <alt+down>/<alt+up> 2026-05-04 18:17:37 +02:00
integration Use the isolated test env for shell commands 2026-05-25 15:18:18 +02:00
jsonschema Modernize all codes 2025-11-15 10:46:23 +01:00
logs Fix linter warnings about ignoring errors from bufio.Scanner 2026-05-03 16:57:24 +02:00
snake Enable intrange linter, and fix warnings 2025-06-30 18:30:11 +02:00
tasks Fix linter warnings about ignoring errors from bufio.Scanner 2026-05-03 16:57:24 +02:00
theme Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
updates Change direct access to Common.UserConfig to a getter 2024-08-18 10:24:52 +02:00
utils Make UnixToDateSmart timezone-deterministic 2026-05-02 17:59:27 +02:00