John Keeping <john@xxxxxxxxxxxxx> writes: > diff --git a/graph.c b/graph.c > index 391a712..2a3fc5c 100644 > --- a/graph.c > +++ b/graph.c > @@ -1227,6 +1227,16 @@ void graph_show_commit(struct git_graph *graph) > if (!graph) > return; > > + /* > + * When showing a diff of a merge against each of its parents, we > + * are called once for each parent without graph_update having been > + * called. In this case, simply output a single padding line. > + */ > + if (graph_is_commit_finished(graph)) { > + graph_show_padding(graph); > + shown_commit_line = 1; > + } > + > while (!shown_commit_line && !graph_is_commit_finished(graph)) { This works, but if we know we're not going to enter the while loop, it seams even easier to do this: --- a/graph.c +++ b/graph.c @@ -1227,7 +1227,17 @@ void graph_show_commit(struct git_graph *graph) if (!graph) return; - while (!shown_commit_line && !graph_is_commit_finished(graph)) { + /* + * When showing a diff of a merge against each of its parents, we + * are called once for each parent without graph_update having been + * called. In this case, simply output a single padding line. + */ + if (graph_is_commit_finished(graph)) { + graph_show_padding(graph); + return; + } + + while (!shown_commit_line) { shown_commit_line = graph_next_line(graph, &msgbuf); fwrite(msgbuf.buf, sizeof(char), msgbuf.len, stdout); if (!shown_commit_line) -- Matthieu Moy http://www-verimag.imag.fr/~moy/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html