git-diff --numstat -z: make it machine readable
authorJunio C Hamano <gitster@pobox.com>
Wed, 12 Dec 2007 07:46:30 +0000 (23:46 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 12 Dec 2007 18:59:22 +0000 (10:59 -0800)
commitf604652e05073aaef6d83e83b5d6499b55bb6dfd
treee435dad9c570157709c3966518058c21be4958c6
parent71a9883db2b60e0d21b730cb9695de69111ab584
git-diff --numstat -z: make it machine readable

The "-z" format is all about machine parsability, but showing renamed
paths as "common/{a => b}/suffix" makes it impossible.  The scripts would
never have successfully parsed "--numstat -z -M" in the old format.

This fixes the output format in a (hopefully minimally) backward
incompatible way.

 * The output without -z is not changed.  This has given a good way for
   humans to view added and deleted lines separately, and showing the
   path in combined, shorter way would preserve readability.

 * The output with -z is unchanged for paths that do not involve renames.
   Existing scripts that do not pass -M/-C are not affected at all.

 * The output with -z for a renamed path is shown in a format that can
   easily be distinguished from an unrenamed path.

This is based on Jakub Narebski's patch.  Bugs and documentation typos
are mine.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/diff-format.txt
diff.c