about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohan Herland <johan@herland.net>2010-06-10 01:09:34 +0200
committerLars Hjemli <hjemli@gmail.com>2010-06-19 10:40:23 +0200
commit34c2331d2c33ea28743a2ee3e62f7337ae9887f6 (patch)
tree676cf86b83e25fefee2784e5f1b93e807ebf9900
parentui-patch: Apply path limit to generated patch (diff)
downloadcgit-pink-34c2331d2c33ea28743a2ee3e62f7337ae9887f6.tar.gz
cgit-pink-34c2331d2c33ea28743a2ee3e62f7337ae9887f6.zip
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.c6
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
@@ -71,6 +71,10 @@ void cgit_print_commit(char *hex, const char *prefix)
 	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);
@@ -86,7 +90,7 @@ void cgit_print_commit(char *hex, const char *prefix)
 				 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++;
 	}