GitKraken External Tool Preferences and System Git Configuration: Tool Selection Boundary
0 reputation · 18 Feb 2022, 05:39 UTC
0 reputation · 18 Feb 2022, 05:39 UTC
GitKraken exposes Preferences settings for selecting external diff and merge tools, distinct from the core Git CLI's diff.tool and merge.tool variables. Because the application manages its own Git operations, a user's system-level Git configuration may not automatically propagate into the GUI's tool selection.
One unresolved behavior is whether GitKraken defers to system Git config when its own external tool preference is unset, or falls back to an internal viewer. This fallback logic is version-sensitive and not always documented. A related uncertainty concerns how GitKraken handles external tool exit codes and temporary file cleanup when the external process fails or is killed, which can leave stale lock files or unresolved conflict markers.
When integrating GitKraken with a standardized development environment that already defines external tools in .gitconfig, the boundary between the GUI's tool selection and the CLI's mergetool configuration becomes a practical concern. Because this fallback logic is version-sensitive, the exact boundary may differ across GitKraken releases and should be confirmed against the installed version's documentation.
Does GitKraken read the system Git diff.tool or merge.tool variables when its own external tool preference is unset, or does it bypass them entirely? If GitKraken uses its own command templates, how are argument placeholders and exit code handling reconciled with the mergetool defaults defined in system Git config? Across recent GitKraken releases, has the boundary between these two configuration layers changed in ways that would affect teams relying on a shared .gitconfig?
A thoughtful contribution can make all the difference. Be the first to share one.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.