Re: [PATCH] diff: Make numstat machine friendly also for renames (and copies)
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Dec 10, 2007, 23:14 UTC
- Message-ID
- <200712110014.48343.jnareb@gmail.com>
- In-Reply-To
- <7vir36jgty.fsf@gitster.siamese.dyndns.org>
Junio C Hamano wrote:
Show 17 quoted lines
> Jakub Narebski <jnareb@gmail.com> writes: > > > "git diff --numstat" used the same format as "git diff --stat" for > > renamed (and copied) files, except that filenames were not shortened > > when they didn't fit in the column width. This format is suitable for > > human consumption, but it cannot be unambiguously parsed. > > Agreed about the (un)parsability, and --numstat is all about parsability > so I would not object. A fix is really needed there. > > I do not have time to look at the patch right now, but if the changed > output is in line with what --name-status would show, that would be > great. I'd call that "the format that should have been from day one". > > I.e. no '=>' rename marker, but show two names c-quoted (unless -z is > used) and separated with inter_name_termination). IIRC, that is how > rename/copy is shown with --name-status.
Unfortunately this is not possible, at least if we want to retain the assertion that -z output looks like normal output, only without quoting.
diff --name-status has _status_ field which can be used to distinguish if the NUL (for -z output) is the end of source filename, or the end of record.
The patch send changes --numstat to use only _destination_ name. What you want I'd left for futore --numstat-extended (basically --numstat, but with status field.
-- Jakub Narebski Poland