"Fossies" - the Fresh Open Source Software Archive

Member "git-difftool.txt" (15 Dec 2018, 4699 Bytes) of package /linux/misc/git-htmldocs-2.20.1.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 git-difftool(1)
    2 ===============
    3 
    4 NAME
    5 ----
    6 git-difftool - Show changes using common diff tools
    7 
    8 SYNOPSIS
    9 --------
   10 [verse]
   11 'git difftool' [<options>] [<commit> [<commit>]] [--] [<path>...]
   12 
   13 DESCRIPTION
   14 -----------
   15 'git difftool' is a Git command that allows you to compare and edit files
   16 between revisions using common diff tools.  'git difftool' is a frontend
   17 to 'git diff' and accepts the same options and arguments. See
   18 linkgit:git-diff[1].
   19 
   20 OPTIONS
   21 -------
   22 -d::
   23 --dir-diff::
   24 	Copy the modified files to a temporary location and perform
   25 	a directory diff on them. This mode never prompts before
   26 	launching the diff tool.
   27 
   28 -y::
   29 --no-prompt::
   30 	Do not prompt before launching a diff tool.
   31 
   32 --prompt::
   33 	Prompt before each invocation of the diff tool.
   34 	This is the default behaviour; the option is provided to
   35 	override any configuration settings.
   36 
   37 -t <tool>::
   38 --tool=<tool>::
   39 	Use the diff tool specified by <tool>.  Valid values include
   40 	emerge, kompare, meld, and vimdiff. Run `git difftool --tool-help`
   41 	for the list of valid <tool> settings.
   42 +
   43 If a diff tool is not specified, 'git difftool'
   44 will use the configuration variable `diff.tool`.  If the
   45 configuration variable `diff.tool` is not set, 'git difftool'
   46 will pick a suitable default.
   47 +
   48 You can explicitly provide a full path to the tool by setting the
   49 configuration variable `difftool.<tool>.path`. For example, you
   50 can configure the absolute path to kdiff3 by setting
   51 `difftool.kdiff3.path`. Otherwise, 'git difftool' assumes the
   52 tool is available in PATH.
   53 +
   54 Instead of running one of the known diff tools,
   55 'git difftool' can be customized to run an alternative program
   56 by specifying the command line to invoke in a configuration
   57 variable `difftool.<tool>.cmd`.
   58 +
   59 When 'git difftool' is invoked with this tool (either through the
   60 `-t` or `--tool` option or the `diff.tool` configuration variable)
   61 the configured command line will be invoked with the following
   62 variables available: `$LOCAL` is set to the name of the temporary
   63 file containing the contents of the diff pre-image and `$REMOTE`
   64 is set to the name of the temporary file containing the contents
   65 of the diff post-image.  `$MERGED` is the name of the file which is
   66 being compared. `$BASE` is provided for compatibility
   67 with custom merge tool commands and has the same value as `$MERGED`.
   68 
   69 --tool-help::
   70 	Print a list of diff tools that may be used with `--tool`.
   71 
   72 --[no-]symlinks::
   73 	'git difftool''s default behavior is create symlinks to the
   74 	working tree when run in `--dir-diff` mode and the right-hand
   75 	side of the comparison yields the same content as the file in
   76 	the working tree.
   77 +
   78 Specifying `--no-symlinks` instructs 'git difftool' to create copies
   79 instead.  `--no-symlinks` is the default on Windows.
   80 
   81 -x <command>::
   82 --extcmd=<command>::
   83 	Specify a custom command for viewing diffs.
   84 	'git-difftool' ignores the configured defaults and runs
   85 	`$command $LOCAL $REMOTE` when this option is specified.
   86 	Additionally, `$BASE` is set in the environment.
   87 
   88 -g::
   89 --[no-]gui::
   90 	When 'git-difftool' is invoked with the `-g` or `--gui` option
   91 	the default diff tool will be read from the configured
   92 	`diff.guitool` variable instead of `diff.tool`. The `--no-gui`
   93 	option can be used to override this setting.
   94 
   95 --[no-]trust-exit-code::
   96 	'git-difftool' invokes a diff tool individually on each file.
   97 	Errors reported by the diff tool are ignored by default.
   98 	Use `--trust-exit-code` to make 'git-difftool' exit when an
   99 	invoked diff tool returns a non-zero exit code.
  100 +
  101 'git-difftool' will forward the exit code of the invoked tool when
  102 `--trust-exit-code` is used.
  103 
  104 See linkgit:git-diff[1] for the full list of supported options.
  105 
  106 CONFIG VARIABLES
  107 ----------------
  108 'git difftool' falls back to 'git mergetool' config variables when the
  109 difftool equivalents have not been defined.
  110 
  111 diff.tool::
  112 	The default diff tool to use.
  113 
  114 diff.guitool::
  115 	The default diff tool to use when `--gui` is specified.
  116 
  117 difftool.<tool>.path::
  118 	Override the path for the given tool.  This is useful in case
  119 	your tool is not in the PATH.
  120 
  121 difftool.<tool>.cmd::
  122 	Specify the command to invoke the specified diff tool.
  123 +
  124 See the `--tool=<tool>` option above for more details.
  125 
  126 difftool.prompt::
  127 	Prompt before each invocation of the diff tool.
  128 
  129 difftool.trustExitCode::
  130 	Exit difftool if the invoked diff tool returns a non-zero exit status.
  131 +
  132 See the `--trust-exit-code` option above for more details.
  133 
  134 SEE ALSO
  135 --------
  136 linkgit:git-diff[1]::
  137 	 Show changes between commits, commit and working tree, etc
  138 
  139 linkgit:git-mergetool[1]::
  140 	Run merge conflict resolution tools to resolve merge conflicts
  141 
  142 linkgit:git-config[1]::
  143 	 Get and set repository or global options
  144 
  145 GIT
  146 ---
  147 Part of the linkgit:git[1] suite