On 11 May 2018 at 23:15, Derrick Stolee <[email protected]> wrote:
> During a run of 'git commit-graph verify', list the issues with the
> header information in the commit-graph file. Some of this information
> is inferred from the loaded 'struct commit_graph'. Some header
> information is checked as part of load_commit_graph_one().
>
> Signed-off-by: Derrick Stolee <[email protected]>
> ---
> commit-graph.c | 32 +++++++++++++++++++++++++++++++-
> 1 file changed, 31 insertions(+), 1 deletion(-)
>
> diff --git a/commit-graph.c b/commit-graph.c
> index b25aaed128..d2db20e49a 100644
> --- a/commit-graph.c
> +++ b/commit-graph.c
> @@ -818,7 +818,37 @@ void write_commit_graph(const char *obj_dir,
> oids.nr = 0;
> }
>
> +static int verify_commit_graph_error;
> +
> +static void graph_report(const char *fmt, ...)
> +{
> + va_list ap;
> + struct strbuf sb = STRBUF_INIT;
> + verify_commit_graph_error = 1;
> +
> + va_start(ap, fmt);
> + strbuf_vaddf(&sb, fmt, ap);
> +
> + fprintf(stderr, "%s\n", sb.buf);
> + strbuf_release(&sb);
> + va_end(ap);
> +}
Right, so this replaces the macro-trickery from v1, and we print a
newline after each error.
> int verify_commit_graph(struct commit_graph *g)
> {
> - return !g;
> + if (!g) {
> + graph_report("no commit-graph file loaded");
> + return 1;
> + }
> +
> + return verify_commit_graph_error;
> }
Not sure it matters much: I suppose you could introduce the parts that I
have quoted here in the previous patch. Or maybe not.
Martin