Summary
Tests that create temporary Git repositories inherit the executing user’s global Git configuration. In an environment with commit.gpgsign=true, test commits can request signing credentials or a passphrase and then fail or hang.
Proposed approach
- Disable commit signing in each test repository with local configuration, or pass the setting explicitly to every test Git command.
- Isolate Git configuration directories or environment variables per test where appropriate.
- Never readjust or overwrite the user’s global Git configuration.
- Centralize test Git invocation and initialization in a shared helper to prevent configuration gaps.
- Add regression coverage that simulates a global
commit.gpgsign=true setting.
- Review other inherited Git settings that could affect deterministic test behavior.
Acceptance criteria
Summary
Tests that create temporary Git repositories inherit the executing user’s global Git configuration. In an environment with
commit.gpgsign=true, test commits can request signing credentials or a passphrase and then fail or hang.Proposed approach
commit.gpgsign=truesetting.Acceptance criteria
commit.gpgsign=trueis set.