Teach --dirstat not to completely ignore rearranged lines within a file
authorJohan Herland <johan@herland.net>
Sun, 10 Apr 2011 22:48:52 +0000 (00:48 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 11 Apr 2011 18:16:15 +0000 (11:16 -0700)
commit2ff3a80334115797b8446909655e536f43900bc5
treec3c56eea112b1634548a490d4610d23d62c4fc1d
parent0133dab75d8b15c559aa9df66134d72dce0e0476
Teach --dirstat not to completely ignore rearranged lines within a file

Currently, the --dirstat analysis ignores when lines within a file are
rearranged, because the "damage" calculated by show_dirstat() is 0.
However, if the object name has changed, we already know that there is
some damage, and it is unintuitive to claim there is _no_ damage.

Teach show_dirstat() to assign a minimum amount of damage (== 1) to
entries for which the analysis otherwise yields zero damage, to still
represent that these files are changed, instead of saying that there
is no change.

Also, skip --dirstat analysis when the object names are the same (e.g. for
a pure file rename).

Signed-off-by: Johan Herland <johan@herland.net>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/diff-options.txt
diff.c
t/t4013-diff-various.sh
t/t4013/diff.diff_--dirstat_initial_rearrange