Roland Kaufmann <rlndkfmn+git@xxxxxxxxx> writes: >> "git diff" (and possibly even things like "git log -p") populating >> two temporary directories (your old/ and new/) and running a custom >> program specified by GIT_EXTERNAL_TREEDIFF environment variable, >> instead of doing > > Would it be better to have yet another configuration available for > this option instead of reusing the existing infrastructure for `git > difftool`? GIT_EXTERNAL_DIFF is designed to drive tools that can take a single pair of files and compare, so it is entirely possible for people to have such tool that would _not_ grok (as a tool named by the variable does not have to) two directories specified by it. So yes, it is essential that the variable not be reused. It probably is OK for "git diff --dirdiff" to use GIT_EXTERNAL_TREEDIFF if and only if GIT_EXTERNAL_DIFF is not defined, and use GIT_EXTERNAL_DIFF otherwise. People who have GIT_EXTERNAL_DIFF set to a tool capable of handing directory pair can just add "--dirdiff" to the command line, and others can find such a tool and set it to GIT_EXTERNAL_TREEDIFF when they do so. >> It also is not clear what could be used in "$@". Obviously you would >> not want things like "-U20" and "--stat" fed to the first "list of >> paths" phase, but there may be some options you may want to give to >> the inner "external diff" thing. > > Ideally, it should work the same way as `git difftool`. I am not so sure about that; difftool is another way to drive a tool one filepair at a time. You want to drive a tool that takes them as two _sets_ of files, one in each directory. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html