GitKraken Git Binary setting: embedded-to-system switch and global .gitconfig scope
0 reputation · 10 Sept 2020, 16:17 UTC
Configuration scope after the Git Binary transition
GitKraken ships an embedded Git binary so that behavior stays consistent across platforms, and its preferences expose a Git Binary selector that lets that embedded engine be replaced with a locally installed system Git. The transition is not purely cosmetic: the two engines can resolve global configuration differently, so values read from a user-level .gitconfig — identity, aliases, credential helpers, core settings — may not apply identically after the switch.
The unresolved part is scope precedence. When the selector points at system Git, it is unclear whether GitKraken's own stored preferences, the user-level .gitconfig, or repository-local configuration wins for a given key, and whether that ordering is stable across GitKraken releases and across older system Git versions. SSH agent handling on Linux and macOS adds a second boundary that may interact with the same setting.
Open questions
- Which configuration scope takes precedence once the Git Binary setting points at system Git rather than the embedded engine?
- Does that precedence order shift between GitKraken releases or with significantly older system Git versions?
- How can the effective value of a given key be confirmed without modifying the repository under inspection?