From: "Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
Derrick Stolee <dstolee@microsoft.com>
Subject: [PATCH 1/1] commit-graph: improve error messages
Date: Fri, 26 Apr 2019 04:48:25 -0700 (PDT) [thread overview]
Message-ID: <1751b479e79ba18990e4152ae2acdf60c8713340.1556279303.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.181.git.gitgitgadget@gmail.com>
From: Derrick Stolee <dstolee@microsoft.com>
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.
Update t5318-commit-graph.sh to watch for these new error messages.
Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
---
commit-graph.c | 10 +++++-----
t/t5318-commit-graph.sh | 6 +++---
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/commit-graph.c b/commit-graph.c
index 66865acbd7..aba591913e 100644
--- a/commit-graph.c
+++ b/commit-graph.c
@@ -167,21 +167,21 @@ struct commit_graph *parse_commit_graph(void *graph_map, int fd,
graph_signature = get_be32(data);
if (graph_signature != GRAPH_SIGNATURE) {
- error(_("commit-graph signature %X does not match signature %X"),
+ error(_("commit-graph signature 0x%X does not match signature 0x%X"),
graph_signature, GRAPH_SIGNATURE);
return NULL;
}
graph_version = *(unsigned char*)(data + 4);
if (graph_version != GRAPH_VERSION) {
- error(_("commit-graph version %X does not match version %X"),
+ error(_("commit-graph has version %d, our maximum supported version is %d"),
graph_version, GRAPH_VERSION);
return NULL;
}
hash_version = *(unsigned char*)(data + 5);
if (hash_version != oid_version()) {
- error(_("commit-graph hash version %X does not match version %X"),
+ error(_("commit-graph has hash version %d, our maximum supported version is %d"),
hash_version, oid_version());
return NULL;
}
@@ -215,7 +215,7 @@ struct commit_graph *parse_commit_graph(void *graph_map, int fd,
chunk_lookup += GRAPH_CHUNKLOOKUP_WIDTH;
if (chunk_offset > graph_size - the_hash_algo->rawsz) {
- error(_("commit-graph improper chunk offset %08x%08x"), (uint32_t)(chunk_offset >> 32),
+ error(_("commit-graph improper chunk offset 0x%08x%08x"), (uint32_t)(chunk_offset >> 32),
(uint32_t)chunk_offset);
free(graph);
return NULL;
@@ -252,7 +252,7 @@ struct commit_graph *parse_commit_graph(void *graph_map, int fd,
}
if (chunk_repeated) {
- error(_("commit-graph chunk id %08x appears multiple times"), chunk_id);
+ error(_("commit-graph chunk id 0x%08x appears multiple times"), chunk_id);
free(graph);
return NULL;
}
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' '
--
gitgitgadget
next prev parent reply other threads:[~2019-04-26 11:48 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 ` Derrick Stolee via GitGitGadget [this message]
2019-04-26 12:33 ` [PATCH 1/1] " Ævar Arnfjörð Bjarmason
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=1751b479e79ba18990e4152ae2acdf60c8713340.1556279303.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=dstolee@microsoft.com \
--cc=git@vger.kernel.org \
--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).