threads / discuss / 25976

git diff --summary only seems to work when combined with --stat

Subject: git diff --summary only seems to work when combined with --stat

## tl;dr

4 messages between Dec 6, 2010 and Dec 7, 2010.

replies: 3people: 2as markdown or json

demerphq· Dec 6, 2010, 20:55 UTC · lore
Hi,
It seems like the --summary option only works in combination --stat.

It doesn't seem to work if I use it by itself, nor in combination with --name-status or --num-stat. And depending on the order, it either does nothing, or causes a usage note.

Is this intentional? If so, could it be reconsidered? At the very least in combination with --name-status and by itself, I can kind of understand it not working with --numstat

Ive tested with two gits, and it seems to be the same in both:
git version 1.7.2.1 and git version 1.7.3.2.168.gd6b63

Cheers, yves

$ git diff --summary --stat HEAD^
 somefile |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)
$ git diff --summary HEAD^
$ git diff --summary --numstat HEAD^
12      2       somefile
$ git diff --summary --name-status HEAD^
M       somefile
$ git diff --name-status --sumary HEAD^
usage: git diff <options> <rev>{0,2} -- <path>*
$ git diff --numstat --sumary HEAD^
usage: git diff <options> <rev>{0,2} -- <path>*
-- 
perl -Mre=debug -e "/just|another|perl|hacker/"
Jonathan Nieder· Dec 6, 2010, 21:03 UTC · re: demerphq · lore

Re: git diff --summary only seems to work when combined with --stat

Hi Yves,
demerphq wrote:
Show 5 quoted lines
> It seems like the --summary option only works in combination --stat.
> 
> It doesn't seem to work if I use it by itself, nor in combination with
> --name-status or --num-stat. And depending on the order, it either
> does nothing, or causes a usage note.

It is tricky, but as you noticed --summary is not actually about the diffstat. --summary affects the output summarizing new files and renamed files.

Example:
	$ git diff --summary v1.7.2..v1.7.3
	delete mode 100644 Documentation/RelNotes-1.5.0.1.txt
	delete mode 100644 Documentation/RelNotes-1.5.0.2.txt
	[...]
> $ git diff --name-status --sumary HEAD^
> usage: git diff <options> <rev>{0,2} -- <path>*
There is an 'm' missing here. :)

Hope that helps, Jonathan

demerphq· Dec 7, 2010, 06:53 UTC · re: Jonathan Nieder · lore

Re: git diff --summary only seems to work when combined with --stat

On 6 December 2010 22:03, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 25 quoted lines
> Hi Yves,
>
> demerphq wrote:
>
>> It seems like the --summary option only works in combination --stat.
>>
>> It doesn't seem to work if I use it by itself, nor in combination with
>> --name-status or --num-stat. And depending on the order, it either
>> does nothing, or causes a usage note.
>
> It is tricky, but as you noticed --summary is not actually about the
> diffstat.  --summary affects the output summarizing new files and
> renamed files.
>
> Example:
>
>        $ git diff --summary v1.7.2..v1.7.3
>        delete mode 100644 Documentation/RelNotes-1.5.0.1.txt
>        delete mode 100644 Documentation/RelNotes-1.5.0.2.txt
>        [...]
>
>> $ git diff --name-status --sumary HEAD^
>> usage: git diff <options> <rev>{0,2} -- <path>*
>
> There is an 'm' missing here. :)

Thanks for your reply. It turns out that was a mis-paste. I tried both splelings of summary. ;-)

And none of them produce output.

$ git diff --summary HEAD^..HEAD $ git diff --summary HEAD^^..HEAD $ git diff --summary HEAD..HEAD^ $ git diff --summary HEAD^

So why does it work for you but not for me?
Yves
-- 
perl -Mre=debug -e "/just|another|perl|hacker/"
demerphq· Dec 7, 2010, 06:55 UTC · re: demerphq · lore

Re: git diff --summary only seems to work when combined with --stat

On 7 December 2010 07:53, demerphq <demerphq@gmail.com> wrote:
Show 38 quoted lines
> On 6 December 2010 22:03, Jonathan Nieder <jrnieder@gmail.com> wrote:
>> Hi Yves,
>>
>> demerphq wrote:
>>
>>> It seems like the --summary option only works in combination --stat.
>>>
>>> It doesn't seem to work if I use it by itself, nor in combination with
>>> --name-status or --num-stat. And depending on the order, it either
>>> does nothing, or causes a usage note.
>>
>> It is tricky, but as you noticed --summary is not actually about the
>> diffstat.  --summary affects the output summarizing new files and
>> renamed files.
>>
>> Example:
>>
>>        $ git diff --summary v1.7.2..v1.7.3
>>        delete mode 100644 Documentation/RelNotes-1.5.0.1.txt
>>        delete mode 100644 Documentation/RelNotes-1.5.0.2.txt
>>        [...]
>>
>>> $ git diff --name-status --sumary HEAD^
>>> usage: git diff <options> <rev>{0,2} -- <path>*
>>
>> There is an 'm' missing here. :)
>
> Thanks for your reply. It turns out that was a mis-paste. I tried both
> splelings of summary. ;-)
>
> And none of them produce output.
>
> $ git diff --summary HEAD^..HEAD
> $ git diff --summary HEAD^^..HEAD
> $ git diff --summary HEAD..HEAD^
> $ git diff --summary HEAD^
>
> So why does it work for you but not for me?

Ah. Not enough coffee. It "doesnt work" because I am not adding or renaming a file here?

Yves
-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

← back to recent threads