Merge branch 'js/difftool-no-index'
authorJunio C Hamano <gitster@pobox.com>
Sun, 19 May 2019 07:45:35 +0000 (16:45 +0900)
committerJunio C Hamano <gitster@pobox.com>
Sun, 19 May 2019 07:45:35 +0000 (16:45 +0900)
The "--dir-diff" mode of "git difftool" is not useful in "--no-index"
mode; they are now explicitly marked as mutually incompatible.

* js/difftool-no-index:
  difftool --no-index: error out on --dir-diff (and don't crash)

1  2 
builtin/difftool.c

@@@ -727,13 -735,11 +727,14 @@@ int cmd_difftool(int argc, const char *
                setup_work_tree();
                setenv(GIT_DIR_ENVIRONMENT, absolute_path(get_git_dir()), 1);
                setenv(GIT_WORK_TREE_ENVIRONMENT, absolute_path(get_git_work_tree()), 1);
-       }
+       } else if (dir_diff)
+               die(_("--dir-diff is incompatible with --no-index"));
  
 -      if (use_gui_tool && diff_gui_tool && *diff_gui_tool)
 -              setenv("GIT_DIFF_TOOL", diff_gui_tool, 1);
 +      if (use_gui_tool + !!difftool_cmd + !!extcmd > 1)
 +              die(_("--gui, --tool and --extcmd are mutually exclusive"));
 +
 +      if (use_gui_tool)
 +              setenv("GIT_MERGETOOL_GUI", "true", 1);
        else if (difftool_cmd) {
                if (*difftool_cmd)
                        setenv("GIT_DIFF_TOOL", difftool_cmd, 1);