And related the `--tabbed` command line option and the GIT_DIFFTOOL_TABBED environment variable. --- Documentation/config/difftool.txt | 6 ++++++ Documentation/git-difftool.txt | 19 +++++++++++++++---- Documentation/git.txt | 4 ++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Documentation/config/difftool.txt b/Documentation/config/difftool.txt index 6762594480..ac609aee66 100644 --- a/Documentation/config/difftool.txt +++ b/Documentation/config/difftool.txt @@ -12,3 +12,9 @@ difftool.<tool>.cmd:: difftool.prompt:: Prompt before each invocation of the diff tool. + +difftool.tabbed:: + Show compared files in different tabs using single invocation of + the diff tool. Must be a boolean value. Only the following tools + are currently supported: vimdiff and related, meld. Tools with + overridden command line will ignore this configuration variable. diff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.txt index 484c485fd0..1b7a5345ad 100644 --- a/Documentation/git-difftool.txt +++ b/Documentation/git-difftool.txt @@ -69,6 +69,13 @@ with custom merge tool commands and has the same value as `$MERGED`. --tool-help:: Print a list of diff tools that may be used with `--tool`. +--[no-]tabbed:: + Open compared files in different tabs using single invocation + of the diff tool. This overrides configuration or environment. + Currently, only the following tools are supported: vimdiff and + related, meld. Tools with overridden command line will ignore + this option. + --[no-]symlinks:: 'git difftool''s default behavior is create symlinks to the working tree when run in `--dir-diff` mode and the right-hand @@ -95,10 +102,11 @@ instead. `--no-symlinks` is the default on Windows. `diff.tool`, `merge.tool` until a tool is found. --[no-]trust-exit-code:: - 'git-difftool' invokes a diff tool individually on each file. - Errors reported by the diff tool are ignored by default. - Use `--trust-exit-code` to make 'git-difftool' exit when an - invoked diff tool returns a non-zero exit code. + 'git-difftool' invokes a diff tool individually on each file + unless tabbed mode is active. Errors reported by the diff tool + are ignored by default. Use `--trust-exit-code` to make + 'git-difftool' exit immediately when an invoked diff tool + returns a non-zero exit code. + 'git-difftool' will forward the exit code of the invoked tool when `--trust-exit-code` is used. @@ -128,6 +136,9 @@ See the `--tool=<tool>` option above for more details. difftool.prompt:: Prompt before each invocation of the diff tool. +difftool.tabbed:: + Configure default value of the `--tabbed` option. See above. + difftool.trustExitCode:: Exit difftool if the invoked diff tool returns a non-zero exit status. + diff --git a/Documentation/git.txt b/Documentation/git.txt index a6d4ad0818..d7cd6650c9 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -583,6 +583,10 @@ For each path `GIT_EXTERNAL_DIFF` is called, two environment variables, `GIT_DIFF_PATH_TOTAL`:: The total number of paths. +`GIT_DIFFTOOL_TABBED`:: + Run the diff tool in tabbed mode opening all compared files + together. It must contain a boolean value. + other ~~~~~ `GIT_MERGE_VERBOSITY`:: -- 2.27.0