mirror of
https://git.zx2c4.com/cgit
synced 2024-11-26 10:28:42 +00:00
ui-diff: emit table/tr/td at better locations
This fixes a bug which made the diff-link for each parent of a commit output a diff without correct styles. It also adds an error-message if the head commit specified on the querystring isn't a valid commit object. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
parent
51a960a3ca
commit
4a6201e318
16
ui-diff.c
16
ui-diff.c
@ -96,16 +96,16 @@ void cgit_print_diff(const char *head, const char *old_hex, const char *new_hex,
|
|||||||
unsigned long size;
|
unsigned long size;
|
||||||
struct commit *commit;
|
struct commit *commit;
|
||||||
|
|
||||||
|
html("<table class='diff'>");
|
||||||
|
html("<tr><td>");
|
||||||
|
|
||||||
if (head && !old_hex && !new_hex) {
|
if (head && !old_hex && !new_hex) {
|
||||||
get_sha1(head, sha1);
|
get_sha1(head, sha1);
|
||||||
commit = lookup_commit_reference(sha1);
|
commit = lookup_commit_reference(sha1);
|
||||||
if (commit && !parse_commit(commit)) {
|
if (commit && !parse_commit(commit))
|
||||||
html("<table class='diff'>");
|
|
||||||
html("<tr><td>");
|
|
||||||
cgit_diff_commit(commit, filepair_cb);
|
cgit_diff_commit(commit, filepair_cb);
|
||||||
html("</td></tr>");
|
else
|
||||||
html("</table>");
|
cgit_print_error(fmt("Bad commit: %s", head));
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -121,14 +121,11 @@ void cgit_print_diff(const char *head, const char *old_hex, const char *new_hex,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
html("<table class='diff'>");
|
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case OBJ_BLOB:
|
case OBJ_BLOB:
|
||||||
html("<tr><td>");
|
|
||||||
header(sha1, path, 0644, sha2, path, 0644);
|
header(sha1, path, 0644, sha2, path, 0644);
|
||||||
if (cgit_diff_files(sha1, sha2, print_line))
|
if (cgit_diff_files(sha1, sha2, print_line))
|
||||||
cgit_print_error("Error running diff");
|
cgit_print_error("Error running diff");
|
||||||
html("</td></tr>");
|
|
||||||
break;
|
break;
|
||||||
case OBJ_TREE:
|
case OBJ_TREE:
|
||||||
cgit_diff_tree(sha1, sha2, filepair_cb);
|
cgit_diff_tree(sha1, sha2, filepair_cb);
|
||||||
@ -138,5 +135,6 @@ void cgit_print_diff(const char *head, const char *old_hex, const char *new_hex,
|
|||||||
typename(type)));
|
typename(type)));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
html("</td></tr>");
|
||||||
html("</table>");
|
html("</table>");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user