On 11 May 2018 at 23:15, Derrick Stolee <dstolee@xxxxxxxxxxxxx> 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 <dstolee@xxxxxxxxxxxxx> > --- > 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