Jakub Narebski [off-list ref] writes:
Previous version of this patch (from 7 May 2007) used instead of current
only "to_name" format similar to git-diff-tree raw format for renames:
added deleted TAB path for "src" TAB path for "dst" LF
The problem was when -z option was used: how to separate end of record
from end of from_name and start of to_name. For git-diff we have status
to distinguish those; no such thing for numstat output. Previous version
of patch used (or was to use actually, because of error in the code)
added deleted TAB path for "src" NUL NUL path for "dst" NUL
when -z option was used.
I think the cleanest at this point is to have --numstat-enhanced that
shows
<added> <deleted> <status> <path1>
<added> <deleted> <status> <path1> <path2>
Anything else would be a regression.
Junio C Hamano wrote:
Jakub Narebski [off-list ref] writes:
quoted
Previous version of this patch (from 7 May 2007) used instead of current
only "to_name" format similar to git-diff-tree raw format for renames:
added deleted TAB path for "src" TAB path for "dst" LF
The problem was when -z option was used: how to separate end of record
from end of from_name and start of to_name. For git-diff we have status
to distinguish those; no such thing for numstat output. Previous version
of patch used (or was to use actually, because of error in the code)
added deleted TAB path for "src" NUL NUL path for "dst" NUL
when -z option was used.
I think the cleanest at this point is to have --numstat-enhanced that
shows
<added> <deleted> <status> <path1>
<added> <deleted> <status> <path1> <path2>
Anything else would be a regression.
That is the plan[*1*]. Nevertheless always using destination filename for
"ordinary" numstat is a step in good direction. I don't think that would
break _any_ scripts (as previous version was not good to be parsed by
a machine); I think it is even more probable that old version _broke_
scripts if -M / -C was provided.
[*1*] When I (or somebody else) find time for that.
--
Jakub Narebski
Poland