# Bug in git-verify-pack or in its documentation?

5 messages from 2015-03-16 to 2015-03-19. Participants: Mike Hommey, Duy Nguyen, Junio C Hamano.
Thread: https://gitlist.dev/t/38820

## Mike Hommey, 2015-03-16 08:05

Subject: Bug in git-verify-pack or in its documentation?
Message-ID: <20150316080558.GA30234@glandium.org>
URL: https://gitlist.dev/e/20150316080558.GA30234%40glandium.org

```
Hi,

git-verify-pack's man page says the following about --stat-only:

   Do not verify the pack contents; only show the histogram of delta
   chain length. With --verbose, list of objects is also shown.

However, there is no difference of output between --verbose and
--verbose --stat-only (and in fact, looking at the code, only one of
them has an effect, --stat-only having precedence).

The text above also implies that this should only display the stats
without doing any sha1 validation, but afaict from a quick glance at
the index-pack code, they are always performed.

Is it an implementation problem or a documentation problem?

Cheers,

Mike

```

## Duy Nguyen, 2015-03-16 10:13

Subject: Re: Bug in git-verify-pack or in its documentation?
Message-ID: <CACsJy8AXvYCje0-smbNdfGtjsdYieKyxxiHCGf32Jpi3seDrvA@mail.gmail.com>
URL: https://gitlist.dev/e/CACsJy8AXvYCje0-smbNdfGtjsdYieKyxxiHCGf32Jpi3seDrvA%40mail.gmail.com
In-Reply-To: <20150316080558.GA30234@glandium.org>

```
On Mon, Mar 16, 2015 at 3:05 PM, Mike Hommey <mh@glandium.org> wrote:
> Hi,
>
> git-verify-pack's man page says the following about --stat-only:
>
>    Do not verify the pack contents; only show the histogram of delta
>    chain length. With --verbose, list of objects is also shown.
>
> However, there is no difference of output between --verbose and
> --verbose --stat-only (and in fact, looking at the code, only one of
> them has an effect, --stat-only having precedence).

There is. very-pack --verbose would show a lot of "<sha-1> <type>
<"random" numbers>" lines before the histogram while --stat-only (with
or without --verbose) would only show the histogram.

> The text above also implies that this should only display the stats
> without doing any sha1 validation, but afaict from a quick glance at
> the index-pack code, they are always performed.
>
> Is it an implementation problem or a documentation problem?

I think code and document start to divert from 3de89c9 (verify-pack:
use index-pack --verify - 2011-06-03). The conversion to using
index-pack implies heavier verification anyway (all objects must be
hashed, no way around it), so I'd say it's documentation problem. The
other way would be revert some patches in verify-pack.c and add more
maintenance burden for this command.
-- 
Duy

```

## Mike Hommey, 2015-03-16 13:18

Subject: Re: Bug in git-verify-pack or in its documentation?
Message-ID: <20150316131808.GA19353@glandium.org>
URL: https://gitlist.dev/e/20150316131808.GA19353%40glandium.org
In-Reply-To: <CACsJy8AXvYCje0-smbNdfGtjsdYieKyxxiHCGf32Jpi3seDrvA@mail.gmail.com>

```
On Mon, Mar 16, 2015 at 05:13:25PM +0700, Duy Nguyen wrote:
> On Mon, Mar 16, 2015 at 3:05 PM, Mike Hommey <mh@glandium.org> wrote:
> > Hi,
> >
> > git-verify-pack's man page says the following about --stat-only:
> >
> >    Do not verify the pack contents; only show the histogram of delta
> >    chain length. With --verbose, list of objects is also shown.
> >
> > However, there is no difference of output between --verbose and
> > --verbose --stat-only (and in fact, looking at the code, only one of
> > them has an effect, --stat-only having precedence).
> 
> There is. very-pack --verbose would show a lot of "<sha-1> <type>
> <"random" numbers>" lines before the histogram while --stat-only (with
> or without --verbose) would only show the histogram.

Err, I meant between --stat-only and --verbose --stat-only.

Mike

```

## Duy Nguyen, 2015-03-18 12:31

Subject: Re: Bug in git-verify-pack or in its documentation?
Message-ID: <CACsJy8B=S9ajzj9N-JoCou6_FVj9VgCHEkZ2AiQ=zR=aCLKXuw@mail.gmail.com>
URL: https://gitlist.dev/e/CACsJy8B%3DS9ajzj9N-JoCou6_FVj9VgCHEkZ2AiQ%3DzR%3DaCLKXuw%40mail.gmail.com
In-Reply-To: <20150316131808.GA19353@glandium.org>

```
On Mon, Mar 16, 2015 at 8:18 PM, Mike Hommey <mh@glandium.org> wrote:
> On Mon, Mar 16, 2015 at 05:13:25PM +0700, Duy Nguyen wrote:
>> On Mon, Mar 16, 2015 at 3:05 PM, Mike Hommey <mh@glandium.org> wrote:
>> > Hi,
>> >
>> > git-verify-pack's man page says the following about --stat-only:
>> >
>> >    Do not verify the pack contents; only show the histogram of delta
>> >    chain length. With --verbose, list of objects is also shown.
>> >
>> > However, there is no difference of output between --verbose and
>> > --verbose --stat-only (and in fact, looking at the code, only one of
>> > them has an effect, --stat-only having precedence).
>>
>> There is. very-pack --verbose would show a lot of "<sha-1> <type>
>> <"random" numbers>" lines before the histogram while --stat-only (with
>> or without --verbose) would only show the histogram.
>
> Err, I meant between --stat-only and --verbose --stat-only.

Yeah --verbose is always ignored when --stat-only is set. This command is funny.
-- 
Duy

```

## Junio C Hamano, 2015-03-19 17:59

Subject: Re: Bug in git-verify-pack or in its documentation?
Message-ID: <xmqq7fuckgvv.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqq7fuckgvv.fsf%40gitster.dls.corp.google.com
In-Reply-To: <CACsJy8B=S9ajzj9N-JoCou6_FVj9VgCHEkZ2AiQ=zR=aCLKXuw@mail.gmail.com>

```
Duy Nguyen <pclouds@gmail.com> writes:

> On Mon, Mar 16, 2015 at 8:18 PM, Mike Hommey <mh@glandium.org> wrote:
>> On Mon, Mar 16, 2015 at 05:13:25PM +0700, Duy Nguyen wrote:
>>> On Mon, Mar 16, 2015 at 3:05 PM, Mike Hommey <mh@glandium.org> wrote:
>>> > Hi,
>>> >
>>> > git-verify-pack's man page says the following about --stat-only:
>>> >
>>> >    Do not verify the pack contents; only show the histogram of delta
>>> >    chain length. With --verbose, list of objects is also shown.
>>> >
>>> > However, there is no difference of output between --verbose and
>>> > --verbose --stat-only (and in fact, looking at the code, only one of
>>> > them has an effect, --stat-only having precedence).
>>>
>>> There is. very-pack --verbose would show a lot of "<sha-1> <type>
>>> <"random" numbers>" lines before the histogram while --stat-only (with
>>> or without --verbose) would only show the histogram.
>>
>> Err, I meant between --stat-only and --verbose --stat-only.
>
> Yeah --verbose is always ignored when --stat-only is set. This command is funny.

I would disagree.  "--verbose" is "do whatever you are told to do
but you can enhance the result by giving more verbose output".

To understand what I mean, compare "git verify-pack" (no other
options) and "git verify-pack --verbose".

Now, when you are asking the command to show the statistics only and
nothing else, there may be nothing useful that you can output to
enhance the "stat-only" output.  "git verify-pack --stat-only" (no
other options) and "git verify-pack --stat-only --verbose" can
produce exactly the same result in such a case.

So I do not see anything funny there.

```
