# [BUG] 'git log --quiet' doesn't suppress the output

5 messages from 2009-02-05 to 2009-02-07. Participants: James Pickens, Jeff King.
Thread: https://gitlist.dev/t/17576

## James Pickens, 2009-02-05 02:19

Subject: [BUG] 'git log --quiet' doesn't suppress the output
Message-ID: <885649360902041819k4a168407wc57017e6a1c7d00a@mail.gmail.com>
URL: https://gitlist.dev/e/885649360902041819k4a168407wc57017e6a1c7d00a%40mail.gmail.com

```
The --quiet switch to 'git log' doesn't suppress the output.  It only
does the same as --exit-code.

Tested with version 1.6.1.2.

James

```

## Jeff King, 2009-02-06 19:11

Subject: Re: [BUG] 'git log --quiet' doesn't suppress the output
Message-ID: <20090206191146.GC19494@coredump.intra.peff.net>
URL: https://gitlist.dev/e/20090206191146.GC19494%40coredump.intra.peff.net
In-Reply-To: <885649360902041819k4a168407wc57017e6a1c7d00a@mail.gmail.com>

```
On Wed, Feb 04, 2009 at 07:19:28PM -0700, James Pickens wrote:

> The --quiet switch to 'git log' doesn't suppress the output.  It only
> does the same as --exit-code.

It suppresses the diff output (which is why it supports --quiet at all:
it is a diff option). So

  git log -p --quiet

looks just like

  git log

making it largely pointless.

It would probably be trivial to for "git log" to see that the quiet
switch was given and silence the commit output. But I am having trouble
envisioning exactly what that would be useful for (except for being a
slower version of "cat /dev/null"). Care to elaborate?

-Peff

```

## James Pickens, 2009-02-07 06:44

Subject: Re: [BUG] 'git log --quiet' doesn't suppress the output
Message-ID: <885649360902062244v715a61b7nf32003c97cc4f707@mail.gmail.com>
URL: https://gitlist.dev/e/885649360902062244v715a61b7nf32003c97cc4f707%40mail.gmail.com
In-Reply-To: <20090206191146.GC19494@coredump.intra.peff.net>

```
On Fri, Feb 6, 2009 at 12:11 PM, Jeff King <peff@peff.net> wrote:
> It would probably be trivial to for "git log" to see that the quiet
> switch was given and silence the commit output. But I am having trouble
> envisioning exactly what that would be useful for (except for being a
> slower version of "cat /dev/null"). Care to elaborate?

I was writing a script, and looking for a way to figure out
whether there were any commits in origin/master that aren't in
master (i.e., whether I need to pull before I can push), and 'git
log --quiet origin/master..master' was the first thing I thought
of.

James

```

## Jeff King, 2009-02-07 06:56

Subject: Re: [BUG] 'git log --quiet' doesn't suppress the output
Message-ID: <20090207065602.GA14995@coredump.intra.peff.net>
URL: https://gitlist.dev/e/20090207065602.GA14995%40coredump.intra.peff.net
In-Reply-To: <885649360902062244v715a61b7nf32003c97cc4f707@mail.gmail.com>

```
On Fri, Feb 06, 2009 at 11:44:59PM -0700, James Pickens wrote:

> I was writing a script, and looking for a way to figure out
> whether there were any commits in origin/master that aren't in
> master (i.e., whether I need to pull before I can push), and 'git
> log --quiet origin/master..master' was the first thing I thought
> of.

OK, that does make sense.

In this case, though, you should be using the "git rev-list" plumbing
instead of the "git log" porcelain for a script. And "git rev-list" does
support "--quiet", but it doesn't quite do what you want. It silences
the output, but the exit code does not depend on whether or not there
were any commits in range.

So you would need a patch for rev-list to support --exit-code to mean
"did we see anything?".

In the past I have accomplished something similar through:

  git rev-list origin/master..master | wc -l

and checking the result for "0" (I think you could even speed things up
by using "git rev-list -1", because you only care about whether there
are 0 or more than 0 commits, so parsing and writing the other N is
pointless).

-Peff

```

## James Pickens, 2009-02-07 07:18

Subject: Re: [BUG] 'git log --quiet' doesn't suppress the output
Message-ID: <885649360902062318n4e51ded0r957f6199ff9afc1a@mail.gmail.com>
URL: https://gitlist.dev/e/885649360902062318n4e51ded0r957f6199ff9afc1a%40mail.gmail.com
In-Reply-To: <20090207065602.GA14995@coredump.intra.peff.net>

```
On Fri, Feb 6, 2009 at 11:56 PM, Jeff King <peff@peff.net> wrote:
> On Fri, Feb 06, 2009 at 11:44:59PM -0700, James Pickens wrote:
>
>> I was writing a script, and looking for a way to figure out
>> whether there were any commits in origin/master that aren't in
>> master (i.e., whether I need to pull before I can push), and 'git
>> log --quiet origin/master..master' was the first thing I thought
>> of.
>
> OK, that does make sense.
>
> In this case, though, you should be using the "git rev-list" plumbing
> instead of the "git log" porcelain for a script. And "git rev-list" does
> support "--quiet", but it doesn't quite do what you want. It silences
> the output, but the exit code does not depend on whether or not there
> were any commits in range.

Thanks for the tip; I'll just use rev-list and check if it gave any
output.

James

```
