"ToBoMi via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: deboeto <tobias.boesch@xxxxxxxxx> Use the same ident (human readable name plus e-mail address) you have on your Signed-off-by: line below for this "From: " in-body header. > git gui can open a merge tool when conflicts are > detected (Right click in the diff of the file with > conflicts). > The merge tools that are allowed to > use are hard coded into git gui. > > If one wants to add a new merge tool it has to be > added to git gui through a source code change. > This is not convenient in comparison to how it > works in git (without gui). > > git itself has configuration options for a merge tools > path and command in the git config. > New merge tools can be set up there without a > source code change. Even if you configure an unknown tool, it would not get any benefit from what git-{diff,merge}tool--lib.sh gives the known diff/merge backends, would it? Instead of a more thorough support for known tools done in setup_tool(), an unknown tool would be handled by setup_user_tool() in git-mergetool-lib.sh which gives somewhat degraded support. So "can be set up without" may be true, but giving an impression that a tool that is set up like so would work just like a known tool is misleading. By the way, we do ask contributors to avoid overly long lines, 50-col limt is a bit overly short and makes the resulting text harder to read than necessary. > Those options are used only by pure git in > contrast to git gui. git calls the configured > merge tools directly from the config while git > Gui doesn't. > > With this change git gui can call merge tools > configured in the gitconfig directly without a > change in git gui source code. > It needs a configured merge.tool and a configured > mergetool.cmd config entry. OK. > gitconfig example: > [merge] > tool = vscode > [mergetool "vscode"] > path = the/path/to/Code.exe > cmd = \"Code.exe\" --wait --merge \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\" > > Without the mergetool.cmd configuration and an > unsupported merge.tool entry, git gui behaves > mainly as before this change and informs the user > about an unsupported merge tool, but now also > shows a hint to add a config entry for the tool > in gitconfig. > > If a wrong mergetool.cmd is configured by accident > it is beeing handled by git gui already. In this "is beeing" -> "is being", but "it gets handled by Git GUI already" should be sufficient. > case git gui informs the user that the merge tool > couldn't be opened. This behavior is preserved by > this change and should not change. > > Beyond compare 3 and Visual Studio code were > tested as manually configured merge tools. Quote proper nouns for readability? E.g. "Beyond Compare 3" and "Visual Studio Code" were ... Thanks.