diff options
Diffstat (limited to 'ui-commit.c')
| -rw-r--r-- | ui-commit.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ui-commit.c b/ui-commit.c index 1aa5d34..4bbb391 100644 --- a/ui-commit.c +++ b/ui-commit.c | |||
| @@ -18,6 +18,7 @@ void cgit_print_commit(char *hex) | |||
| 18 | struct commit_list *p; | 18 | struct commit_list *p; |
| 19 | unsigned char sha1[20]; | 19 | unsigned char sha1[20]; |
| 20 | char *tmp; | 20 | char *tmp; |
| 21 | int parents = 0; | ||
| 21 | 22 | ||
| 22 | if (!hex) | 23 | if (!hex) |
| 23 | hex = ctx.qry.head; | 24 | hex = ctx.qry.head; |
| @@ -75,6 +76,7 @@ void cgit_print_commit(char *hex) | |||
| 75 | cgit_diff_link("diff", NULL, NULL, ctx.qry.head, hex, | 76 | cgit_diff_link("diff", NULL, NULL, ctx.qry.head, hex, |
| 76 | sha1_to_hex(p->item->object.sha1), NULL); | 77 | sha1_to_hex(p->item->object.sha1), NULL); |
| 77 | html(")</td></tr>"); | 78 | html(")</td></tr>"); |
| 79 | parents++; | ||
| 78 | } | 80 | } |
| 79 | if (ctx.repo->snapshots) { | 81 | if (ctx.repo->snapshots) { |
| 80 | html("<tr><th>download</th><td colspan='2' class='sha1'>"); | 82 | html("<tr><th>download</th><td colspan='2' class='sha1'>"); |
| @@ -89,9 +91,11 @@ void cgit_print_commit(char *hex) | |||
| 89 | html("<div class='commit-msg'>"); | 91 | html("<div class='commit-msg'>"); |
| 90 | html_txt(info->msg); | 92 | html_txt(info->msg); |
| 91 | html("</div>"); | 93 | html("</div>"); |
| 92 | if (!(commit->parents && commit->parents->next && | 94 | if (parents < 3) { |
| 93 | commit->parents->next->next)) { | 95 | if (parents) |
| 94 | tmp = sha1_to_hex(commit->parents->item->object.sha1); | 96 | tmp = sha1_to_hex(commit->parents->item->object.sha1); |
| 97 | else | ||
| 98 | tmp = NULL; | ||
| 95 | cgit_print_diff(ctx.qry.sha1, tmp, NULL); | 99 | cgit_print_diff(ctx.qry.sha1, tmp, NULL); |
| 96 | } | 100 | } |
| 97 | cgit_free_commitinfo(info); | 101 | cgit_free_commitinfo(info); |
