git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Derrick Stolee <dstolee@microsoft.com>
Subject: Re: [PATCH 1/1] commit-graph: improve error messages
Date: Fri, 26 Apr 2019 14:33:08 +0200	[thread overview]
Message-ID: <875zr1rlob.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <1751b479e79ba18990e4152ae2acdf60c8713340.1556279303.git.gitgitgadget@gmail.com>


On Fri, Apr 26 2019, Derrick Stolee via GitGitGadget wrote:

> The error messages when reading a commit-graph have a few problems:
>
> 1. Some values are output in hexadecimal, but that is not made
>    clear by the message. Prepend "0x" to these values.
>
> 2. The version number does not need to be hexadecimal, and also
>    should mention a "maximum supported version". This has one
>    possible confusing case: we could have a corrupt commit-graph
>    file with version number zero, so the output would be
>
>    "commit-graph has version 0, our maximum supported version is 1"
>
>    This will only happen with corrupt data. This error message is
>    designed instead for the case where a client is downgraded after
>    writing a newer file version.

This looks good to me and is obviously correct:

> Update t5318-commit-graph.sh to watch for these new error messages.
> [...]
> diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh
> index e80c1cac02..264ebb15b1 100755
> --- a/t/t5318-commit-graph.sh
> +++ b/t/t5318-commit-graph.sh
> @@ -420,17 +420,17 @@ test_expect_success 'detect too small' '
>
>  test_expect_success 'detect bad signature' '
>  	corrupt_graph_and_verify 0 "\0" \
> -		"graph signature"
> +		"commit-graph signature"
>  '
>
>  test_expect_success 'detect bad version' '
>  	corrupt_graph_and_verify $GRAPH_BYTE_VERSION "\02" \
> -		"graph version"
> +		"commit-graph has version"
>  '
>
>  test_expect_success 'detect bad hash version' '
>  	corrupt_graph_and_verify $GRAPH_BYTE_HASH "\02" \
> -		"hash version"
> +		"commit-graph has hash version"
>  '
>
>  test_expect_success 'detect low chunk count' '

Just a small nit/OCD :).

The only change to that test code that's actually needed is just doing:

    -               "graph version"
    +               "graph has version"

The rest were already grepping subsets of the message before/after, and
maybe worth it to keep it consistent that all these
"corrupt_graph_and_verify" invocations grep the part of the message that
isn't the "commit-graph <whatever>", i.e. now with just that change:

    $ git grep -h -A1 corrupt_graph_and_verify|grep -o '".*"$'
    "graph signature"
    "graph has version"
    "hash version"
    "missing the .* chunk"
    "missing the OID Fanout chunk"
    "missing the OID Lookup chunk"
    "missing the Commit Data chunk"
    "fanout value"
    "fanout value"
    "incorrect OID order"
    "from object database"
    "root tree OID for commit"
    "invalid parent"
    "is too long"
    "commit-graph parent for"
    "generation for commit"
    "non-zero generation number"
    "commit date"
    "invalid parent"
    "incorrect checksum"

Well, there's the sore thumb of "commit-graph parent for".

      reply	other threads:[~2019-04-26 12:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-26 11:48 [PATCH 0/1] commit-graph: improve error messages Derrick Stolee via GitGitGadget
2019-04-26 11:48 ` [PATCH 1/1] " Derrick Stolee via GitGitGadget
2019-04-26 12:33   ` Ævar Arnfjörð Bjarmason [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875zr1rlob.fsf@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=dstolee@microsoft.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).