git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] diff: Fixes shortstat number of files

From
Antoine Pelisse <apelisse@gmail.com>
Date
Nov 26, 2012, 09:10 UTC
Message-ID
<CALWbr2z+9fJGg34q7zp3knZVWgaTwtvzFBvFHRSmXfH+hc-jNw@mail.gmail.com>
In-Reply-To
<7vhaodxctq.fsf@alter.siamese.dyndns.org>
Indeed stat seems to be broken on master by commit 74faaa16 from Linus Torvalds
There are three separated issues here:
 - unmerged files are marked as "interesting" in stat and probably
shouldn't, with some patch like this:
        data->is_interesting = p->status != 0;
        if (!one || !two) {
                data->is_unmerged = 1;
+               data->is_interesting = 0;
                return;
        }
By the way, I don't get the point of this code then:
        else if (data->files[i]->is_unmerged) {
            fprintf(options->file, "%s", line_prefix);
            show_name(options->file, prefix, name, len);
            fprintf(options->file, " Unmerged\n");
            continue;
        }
and
        if (file->is_unmerged) {
            /* "Unmerged" is 8 characters */
            bin_width = bin_width < 8 ? 8 : bin_width;
            continue;
        }
Are we ever supposed to print that ? I feel like it could be removed.
 - Unmerged files are not filtered out in shortstat, thus counted
twice (addressed by the patch)
 - no file has ever been filtered out of numstat, and probably should
the way it's done in stat. That is with something like this:
        if (!data->files[i]->is_interesting &&
             (added + deleted == 0)) {
            continue;
        }

Cheers, Antoine Pelisse

---------- Forwarded message ----------
From: Junio C Hamano <gitster@pobox.com>
Date: Mon, Nov 26, 2012 at 4:28 AM
Subject: Re: [PATCH] diff: Fixes shortstat number of files
To: Antoine Pelisse <apelisse@gmail.com>
Cc: git@vger.kernel.org
Antoine Pelisse <apelisse@gmail.com> writes:
> Subject: Re: [PATCH] diff: Fixes shortstat number of files

Please replace "Fixes" with "Fix at least (because our log messages are written as if a patch is giving an order to the codebase, iow, in imperative mood), but we would prefer to see a concrete description on what is fixed, when we can. And in this case, I think we can, perhaps:

    diff: do not count unmerged paths twice in --shortstat/--numstat
or something.
> There is a discrepancy between the last line of `git diff --stat`
> and `git diff --shortstat` in case of a merge.
> The unmerged files are actually counted twice, thus doubling the
> value of "file changed".

I think the current 'master' and upward is broken with respect to this; I am consistently getting two entries for unmerged paths across --stat, --shortstat and --numstat options (iow, not just shortstat and numstat but the '--stat' seems to be broken as well).

Thanks.
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 4 in “diff: Fixes shortstat number of files”
  1. diff: Fixes shortstat number of filesAntoine Pelisse, Nov 21, 2012
  2. Junio C HamanoNov 26, 2012
  3. Antoine PelisseNov 26, 2012
  4. Junio C HamanoNov 27, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.