X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-mergetool.txt;h=e0b2703b380cb46b23870a97b861462d8e8f758a;hb=ba24e7457aa1f958370bbb67dfb97e3ec806fd4a;hp=a26c260162cf6cbab922dfd6320b1d440d7090ca;hpb=265ae188267fda441f92e513fb89641f78e982fd;p=git.git diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt index a26c26016..e0b2703b3 100644 --- a/Documentation/git-mergetool.txt +++ b/Documentation/git-mergetool.txt @@ -7,17 +7,17 @@ git-mergetool - Run merge conflict resolution tools to resolve merge conflicts SYNOPSIS -------- -'git-mergetool' [--tool=] []... +'git mergetool' [--tool=] []... DESCRIPTION ----------- -Use 'git mergetool' to run one of several merge utilities to resolve -merge conflicts. It is typically run after gitlink:git-merge[1]. +Use `git mergetool` to run one of several merge utilities to resolve +merge conflicts. It is typically run after 'git-merge'. If one or more parameters are given, the merge tool program will be run to resolve differences on each file. If no names are -specified, 'git mergetool' will run the merge tool program on every file +specified, 'git-mergetool' will run the merge tool program on every file with merge conflicts. OPTIONS @@ -27,16 +27,38 @@ OPTIONS Valid merge tools are: kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, and opendiff + -If a merge resolution program is not specified, 'git mergetool' -will use the configuration variable merge.tool. If the -configuration variable merge.tool is not set, 'git mergetool' +If a merge resolution program is not specified, 'git-mergetool' +will use the configuration variable `merge.tool`. If the +configuration variable `merge.tool` is not set, 'git-mergetool' will pick a suitable default. + You can explicitly provide a full path to the tool by setting the -configuration variable mergetool..path. For example, you +configuration variable `mergetool..path`. For example, you can configure the absolute path to kdiff3 by setting -mergetool.kdiff3.path. Otherwise, 'git mergetool' assumes the tool -is available in PATH. +`mergetool.kdiff3.path`. Otherwise, 'git-mergetool' assumes the +tool is available in PATH. ++ +Instead of running one of the known merge tool programs +'git-mergetool' can be customized to run an alternative program +by specifying the command line to invoke in a configuration +variable `mergetool..cmd`. ++ +When 'git-mergetool' is invoked with this tool (either through the +`-t` or `--tool` option or the `merge.tool` configuration +variable) the configured command line will be invoked with `$BASE` +set to the name of a temporary file containing the common base for +the merge, if available; `$LOCAL` set to the name of a temporary +file containing the contents of the file on the current branch; +`$REMOTE` set to the name of a temporary file containing the +contents of the file to be merged, and `$MERGED` set to the name +of the file to which the merge tool should write the result of the +merge resolution. ++ +If the custom merge tool correctly indicates the success of a +merge resolution with its exit code then the configuration +variable `mergetool..trustExitCode` can be set to `true`. +Otherwise, 'git-mergetool' will prompt the user to indicate the +success of the resolution after the custom tool has exited. Author ------ @@ -48,4 +70,4 @@ Documentation by Theodore Y Ts'o. GIT --- -Part of the gitlink:git[7] suite +Part of the linkgit:git[1] suite