Merge branch 'gp/describe-match-uses-glob-pattern'
[gitweb.git] / graph.c
diff --git a/graph.c b/graph.c
index e864fe2c6a21379398e454e60627e78a63a09462..2a3fc5c0ec128ba2b6d024b3172bd3a110e361fd 100644 (file)
--- 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) {
+       /*
+        * 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)) {
                shown_commit_line = graph_next_line(graph, &msgbuf);
                fwrite(msgbuf.buf, sizeof(char), msgbuf.len, stdout);
                if (!shown_commit_line)