author | Lars Hjemli <hjemli@gmail.com> | 2007-10-01 09:54:01 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-10-01 09:54:01 (UTC) |
commit | 0ec8791ca0c980b721814cf0140204d56586fa63 (patch) (side-by-side diff) | |
tree | 4fcfb886a97994eb3dbd38e3c795ae1cfd93d325 | |
parent | 1a6025b7a515a23ab4c83f4a5da468e00e4f0a38 (diff) | |
download | cgit-0ec8791ca0c980b721814cf0140204d56586fa63.zip cgit-0ec8791ca0c980b721814cf0140204d56586fa63.tar.gz cgit-0ec8791ca0c980b721814cf0140204d56586fa63.tar.bz2 |
ui-commit.c: link to diff instead of tree from diffstat
This makes each entry in the diffstat link to a path-restricted diff.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-commit.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ui-commit.c b/ui-commit.c index 90e09ed..4ac8955 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -46,66 +46,66 @@ void print_fileinfo(struct fileinfo *info) case DIFF_STATUS_RENAMED: class = "mov"; break; case DIFF_STATUS_TYPE_CHANGED: class = "typ"; break; case DIFF_STATUS_UNKNOWN: class = "unk"; break; case DIFF_STATUS_UNMERGED: class = "stg"; break; default: die("bug: unhandled diff status %c", info->status); } html("<tr>"); htmlf("<td class='mode'>"); if (is_null_sha1(info->new_sha1)) { html_filemode(info->old_mode); } else { html_filemode(info->new_mode); } if (info->old_mode != info->new_mode && !is_null_sha1(info->old_sha1) && !is_null_sha1(info->new_sha1)) { html("<span class='modechange'>["); html_filemode(info->old_mode); html("]</span>"); } htmlf("</td><td class='%s'>", class); - cgit_tree_link(info->new_path, NULL, NULL, cgit_query_head, curr_rev, - info->new_path); + cgit_diff_link(info->new_path, NULL, NULL, cgit_query_head, curr_rev, + NULL, info->new_path); if (info->status == DIFF_STATUS_COPIED || info->status == DIFF_STATUS_RENAMED) htmlf(" (%s from %s)", info->status == DIFF_STATUS_COPIED ? "copied" : "renamed", info->old_path); html("</td><td class='right'>"); htmlf("%d", info->added + info->removed); html("</td><td class='graph'>"); htmlf("<table width='%d%%'><tr>", (max_changes > 100 ? 100 : max_changes)); htmlf("<td class='add' style='width: %.1f%%;'/>", info->added * 100.0 / max_changes); htmlf("<td class='rem' style='width: %.1f%%;'/>", info->removed * 100.0 / max_changes); htmlf("<td class='none' style='width: %.1f%%;'/>", (max_changes - info->removed - info->added) * 100.0 / max_changes); html("</tr></table></td></tr>\n"); } void cgit_count_diff_lines(char *line, int len) { if (line && (len > 0)) { if (line[0] == '+') lines_added++; else if (line[0] == '-') lines_removed++; } } void inspect_filepair(struct diff_filepair *pair) { files++; lines_added = 0; lines_removed = 0; |