author | Johan Herland <johan@herland.net> | |
Sun, 10 Apr 2011 22:48:52 +0000 (00:48 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Mon, 11 Apr 2011 18:16:15 +0000 (11:16 -0700) | ||
commit | 2ff3a80334115797b8446909655e536f43900bc5 | |
tree | c3c56eea112b1634548a490d4610d23d62c4fc1d | tree | snapshot |
parent | 0133dab75d8b15c559aa9df66134d72dce0e0476 | commit | diff |
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>
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 | blob | history | |
diff.c | diff | blob | history | |
t/t4013-diff-various.sh | diff | blob | history | |
t/t4013/diff.diff_--dirstat_initial_rearrange | diff | blob | history |