author | Johan Herland <johan@herland.net> | 2010-06-09 23:09:34 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2010-06-19 08:40:23 (UTC) |
commit | 34c2331d2c33ea28743a2ee3e62f7337ae9887f6 (patch) (side-by-side diff) | |
tree | 676cf86b83e25fefee2784e5f1b93e807ebf9900 /ui-commit.c | |
parent | eac1b675414722ae90df75abc727b2795bc096f0 (diff) | |
download | cgit-34c2331d2c33ea28743a2ee3e62f7337ae9887f6.zip cgit-34c2331d2c33ea28743a2ee3e62f7337ae9887f6.tar.gz cgit-34c2331d2c33ea28743a2ee3e62f7337ae9887f6.tar.bz2 |
ui-commit: Preserve path limit in links to tree and diff pages
For tree links, the original link is unchanged, but in the case of a path
limit, a subtree link is added to the right of the original tree link.
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-commit.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ui-commit.c b/ui-commit.c index b3a2063..1793921 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -66,32 +66,36 @@ void cgit_print_commit(char *hex, const char *prefix) cgit_commit_link("unidiff", NULL, NULL, ctx.qry.head, tmp, 1); else cgit_commit_link("side-by-side diff", NULL, NULL, ctx.qry.head, tmp, 1); html(")</td></tr>\n"); html("<tr><th>tree</th><td colspan='2' class='sha1'>"); tmp = xstrdup(hex); cgit_tree_link(sha1_to_hex(commit->tree->object.sha1), NULL, NULL, ctx.qry.head, tmp, NULL); + if (prefix) { + html(" /"); + cgit_tree_link(prefix, NULL, NULL, ctx.qry.head, tmp, prefix); + } html("</td></tr>\n"); for (p = commit->parents; p ; p = p->next) { parent = lookup_commit_reference(p->item->object.sha1); if (!parent) { html("<tr><td colspan='3'>"); cgit_print_error("Error reading parent commit"); html("</td></tr>"); continue; } html("<tr><th>parent</th>" "<td colspan='2' class='sha1'>"); cgit_commit_link(sha1_to_hex(p->item->object.sha1), NULL, NULL, ctx.qry.head, sha1_to_hex(p->item->object.sha1), 0); html(" ("); cgit_diff_link("diff", NULL, NULL, ctx.qry.head, hex, - sha1_to_hex(p->item->object.sha1), NULL, 0); + sha1_to_hex(p->item->object.sha1), prefix, 0); html(")</td></tr>"); parents++; } if (ctx.repo->snapshots) { html("<tr><th>download</th><td colspan='2' class='sha1'>"); cgit_print_snapshot_links(ctx.qry.repo, ctx.qry.head, hex, ctx.repo->snapshots); html("</td></tr>"); |