git diff <(command1) <(command2) is less useful than it could be, all it outputs is: diff --git a/dev/fd/63 b/dev/fd/62 index 9e6542b297..9f7b2c291b 120000 --- a/dev/fd/63 +++ b/dev/fd/62 @@ -1 +1 @@ -pipe:[464811685] \ No newline at end of file +pipe:[464811687] \ No newline at end of file Normal diff provides arguably better output: the diff of the output of the commands. This series makes it possible for git diff --no-index to follow symlinks and read from pipes, mimicking the behaviour of normal diff. v1: http://public-inbox.org/git/20161111201958.2175-1-dennis@xxxxxxxxxxxxxxx/ Changes since the RFC/v1 patch: - Following symlinks is now the default. I think an accurate summary of the discussion on v1 is that this behaviour is useful enough to be the default, but to add an escape hatch. That escape hatch is named --no-dereference, name stolen from gnu diff. - Added tests and documentation Specifically not changed: These changes affect only diff --no-index. Using --no-dereference is an error without --no-index. Dennis Kaarsemaker (2): diff --no-index: follow symlinks diff --no-index: support reading from pipes Documentation/diff-options.txt | 7 +++++++ diff-no-index.c | 15 ++++++++++++--- diff.c | 23 +++++++++++++++++++---- diff.h | 2 +- t/t4053-diff-no-index.sh | 40 ++++++++++++++++++++++++++++++++++++++++ t/test-lib.sh | 4 ++++ 6 files changed, 83 insertions(+), 8 deletions(-) -- 2.11.0-234-gaf85957