From 34c2331d2c33ea28743a2ee3e62f7337ae9887f6 Mon Sep 17 00:00:00 2001
From: Johan Herland <johan@herland.net>
Date: Thu, 10 Jun 2010 01:09:34 +0200
Subject: 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>
---
 ui-commit.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

(limited to 'ui-commit.c')

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++;
 	}
-- 
cgit v1.2.3