Merge branch 'ms/http-auth' into next
[git/dscho.git] / Documentation / git-difftool.txt
blob5ae02f807cfa17a43052b656764855f77d653a17
1 git-difftool(1)
2 ===============
4 NAME
5 ----
6 git-difftool - Show changes using common diff tools
8 SYNOPSIS
9 --------
10 'git difftool' [--tool=<tool>] [--no-prompt] [<'git diff' options>]
12 DESCRIPTION
13 -----------
14 'git-difftool' is a git command that allows you to compare and edit files
15 between revisions using common diff tools.  'git difftool' is a frontend
16 to 'git-diff' and accepts the same options and arguments.
18 OPTIONS
19 -------
20 --no-prompt::
21         Do not prompt before launching a diff tool.
23 -t <tool>::
24 --tool=<tool>::
25         Use the diff tool specified by <tool>.
26         Valid merge tools are:
27         kdiff3, kompare, tkdiff, meld, xxdiff, emerge,
28         vimdiff, gvimdiff, ecmerge, and opendiff
30 If a diff tool is not specified, 'git-difftool'
31 will use the configuration variable `diff.tool`.  If the
32 configuration variable `diff.tool` is not set, 'git-difftool'
33 will pick a suitable default.
35 You can explicitly provide a full path to the tool by setting the
36 configuration variable `difftool.<tool>.path`. For example, you
37 can configure the absolute path to kdiff3 by setting
38 `difftool.kdiff3.path`. Otherwise, 'git-difftool' assumes the
39 tool is available in PATH.
41 Instead of running one of the known diff tools,
42 'git-difftool' can be customized to run an alternative program
43 by specifying the command line to invoke in a configuration
44 variable `difftool.<tool>.cmd`.
46 When 'git-difftool' is invoked with this tool (either through the
47 `-t` or `--tool` option or the `diff.tool` configuration variable)
48 the configured command line will be invoked with the following
49 variables available: `$LOCAL` is set to the name of the temporary
50 file containing the contents of the diff pre-image and `$REMOTE`
51 is set to the name of the temporary file containing the contents
52 of the diff post-image.  `$BASE` is provided for compatibility
53 with custom merge tool commands and has the same value as `$LOCAL`.
55 See linkgit:git-diff[1] for the full list of supported options.
57 CONFIG VARIABLES
58 ----------------
59 'git-difftool' falls back to 'git-mergetool' config variables when the
60 difftool equivalents have not been defined.
62 diff.tool::
63         The default diff tool to use.
65 difftool.<tool>.path::
66         Override the path for the given tool.  This is useful in case
67         your tool is not in the PATH.
69 difftool.<tool>.cmd::
70         Specify the command to invoke the specified diff tool.
72 See the `--tool=<tool>` option above for more details.
74 SEE ALSO
75 --------
76 linkgit:git-diff[1]::
77          Show changes between commits, commit and working tree, etc
79 linkgit:git-mergetool[1]::
80         Run merge conflict resolution tools to resolve merge conflicts
82 linkgit:git-config[1]::
83          Get and set repository or global options
86 AUTHOR
87 ------
88 Written by David Aguilar <davvid@gmail.com>.
90 Documentation
91 --------------
92 Documentation by David Aguilar and the git-list <git@vger.kernel.org>.
94 GIT
95 ---
96 Part of the linkgit:git[1] suite