| `mergetool.<tool>.path`:: |
| Override the path for the given tool. This is useful in case |
| your tool is not in the `$PATH`. |
| |
| `mergetool.<tool>.cmd`:: |
| Specify the command to invoke the specified merge tool. The |
| specified command is evaluated in shell with the following |
| variables available: `BASE` is the name of a temporary file |
| containing the common base of the files to be merged, if available; |
| `LOCAL` is the name of a temporary file containing the contents of |
| the file on the current branch; `REMOTE` is the name of a temporary |
| file containing the contents of the file from the branch being |
| merged; `MERGED` contains the name of the file to which the merge |
| tool should write the results of a successful merge. |
| |
| `mergetool.<tool>.hideResolved`:: |
| Allows the user to override the global `mergetool.hideResolved` value |
| for a specific tool. See `mergetool.hideResolved` for the full |
| description. |
| |
| `mergetool.<tool>.trustExitCode`:: |
| For a custom merge command, specify whether the exit code of |
| the merge command can be used to determine whether the merge was |
| successful. If this is not set to true then the merge target file |
| timestamp is checked, and the merge is assumed to have been successful |
| if the file has been updated; otherwise, the user is prompted to |
| indicate the success of the merge. |
| |
| `mergetool.meld.hasOutput`:: |
| Older versions of `meld` do not support the `--output` option. |
| Git will attempt to detect whether `meld` supports `--output` |
| by inspecting the output of `meld --help`. Configuring |
| `mergetool.meld.hasOutput` will make Git skip these checks and |
| use the configured value instead. Setting `mergetool.meld.hasOutput` |
| to `true` tells Git to unconditionally use the `--output` option, |
| and `false` avoids using `--output`. |
| |
| `mergetool.meld.useAutoMerge`:: |
| When the `--auto-merge` is given, meld will merge all non-conflicting |
| parts automatically, highlight the conflicting parts, and wait for |
| user decision. Setting `mergetool.meld.useAutoMerge` to `true` tells |
| Git to unconditionally use the `--auto-merge` option with `meld`. |
| Setting this value to `auto` makes git detect whether `--auto-merge` |
| is supported and will only use `--auto-merge` when available. A |
| value of `false` avoids using `--auto-merge` altogether, and is the |
| default value. |
| |
| `mergetool.<variant>.layout`:: |
| Configure the split window layout for vimdiff's _<variant>_, which is any of `vimdiff`, |
| `nvimdiff`, `gvimdiff`. |
| Upon launching `git mergetool` with `--tool=<variant>` (or without `--tool` |
| if `merge.tool` is configured as _<variant>_), Git will consult |
| `mergetool.<variant>.layout` to determine the tool's layout. If the |
| variant-specific configuration is not available, `vimdiff` ' s is used as |
| fallback. If that too is not available, a default layout with 4 windows |
| will be used. To configure the layout, see the 'BACKEND SPECIFIC HINTS' |
| ifdef::git-mergetool[] |
| section. |
| endif::[] |
| ifndef::git-mergetool[] |
| section in linkgit:git-mergetool[1]. |
| endif::[] |
| |
| `mergetool.hideResolved`:: |
| During a merge, Git will automatically resolve as many conflicts as |
| possible and write the `$MERGED` file containing conflict markers around |
| any conflicts that it cannot resolve; `$LOCAL` and `$REMOTE` normally |
| are the versions of the file from before Git's conflict |
| resolution. This flag causes `$LOCAL` and `$REMOTE` to be overwritten so |
| that only the unresolved conflicts are presented to the merge tool. Can |
| be configured per-tool via the `mergetool.<tool>.hideResolved` |
| configuration variable. Defaults to `false`. |
| |
| `mergetool.keepBackup`:: |
| After performing a merge, the original file with conflict markers |
| can be saved as a file with a `.orig` extension. If this variable |
| is set to `false` then this file is not preserved. Defaults to |
| `true` (i.e. keep the backup files). |
| |
| `mergetool.keepTemporaries`:: |
| When invoking a custom merge tool, Git uses a set of temporary |
| files to pass to the tool. If the tool returns an error and this |
| variable is set to `true`, then these temporary files will be |
| preserved; otherwise, they will be removed after the tool has |
| exited. Defaults to `false`. |
| |
| `mergetool.writeToTemp`:: |
| Git writes temporary `BASE`, `LOCAL`, and `REMOTE` versions of |
| conflicting files in the worktree by default. Git will attempt |
| to use a temporary directory for these files when set `true`. |
| Defaults to `false`. |
| |
| `mergetool.prompt`:: |
| Prompt before each invocation of the merge resolution program. |
| |
| `mergetool.guiDefault`:: |
| Set `true` to use the `merge.guitool` by default (equivalent to |
| specifying the `--gui` argument), or `auto` to select `merge.guitool` |
| or `merge.tool` depending on the presence of a `DISPLAY` environment |
| variable value. The default is `false`, where the `--gui` argument |
| must be provided explicitly for the `merge.guitool` to be used. |