about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2008-04-13 12:20:00 +0200
committerLars Hjemli <hjemli@gmail.com>2008-04-13 12:20:00 +0200
commit39912a24edf45497e668ebda25636aa6f6db0c9b (patch)
tree5de079ba1441a4f9546252e38c31d4d1b5f17b40
parentImplement minimal freetext search in the repolist (diff)
downloadcgit-pink-39912a24edf45497e668ebda25636aa6f6db0c9b.tar.gz
cgit-pink-39912a24edf45497e668ebda25636aa6f6db0c9b.zip
Remove 'patch' link from tab, add to commit view
It's a bit confusing to enter the patch view from the tab, since it has no
layout. And the commit view has always lacked showing the commit id. Both of
these warts are fixed by this commit, which adds a new header line in the
commit view which shows the commit id as a 'permalink' to the current commit
and also adds a link to the patch view of the current commit.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--ui-commit.c6
-rw-r--r--ui-shared.c2
-rw-r--r--ui-shared.h2
3 files changed, 8 insertions, 2 deletions
diff --git a/ui-commit.c b/ui-commit.c
index c2fafd7..dd36cc0 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -175,6 +175,12 @@ void cgit_print_commit(char *hex)
 	html("</td><td class='right'>");
 	cgit_print_date(info->committer_date, FMT_LONGDATE);
 	html("</td></tr>\n");
+	html("<tr><th>commit</th><td colspan='2' class='sha1'>");
+	tmp = sha1_to_hex(commit->object.sha1);
+	cgit_commit_link(tmp, NULL, NULL, ctx.qry.head, tmp);
+	html(" (");
+	cgit_patch_link("patch", NULL, NULL, NULL, tmp);
+	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,
diff --git a/ui-shared.c b/ui-shared.c
index 6253a90..bb08c4a 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -541,8 +541,6 @@ void cgit_print_pageheader(struct cgit_context *ctx)
 				 ctx->qry.head, ctx->qry.sha1);
 		cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head,
 			       ctx->qry.sha1, ctx->qry.sha2, NULL);
-		cgit_patch_link("patch", NULL, hc(cmd, "patch"), ctx->qry.head,
-				ctx->qry.sha1);
 		html("</td><td class='form'>");
 		html("<form class='right' method='get' action='");
 		if (ctx->cfg.virtual_root)
diff --git a/ui-shared.h b/ui-shared.h
index 94de884..76c2b1f 100644
--- a/ui-shared.h
+++ b/ui-shared.h
@@ -14,6 +14,8 @@ extern void cgit_log_link(char *name, char *title, char *class, char *head,
 			  char *pattern);
 extern void cgit_commit_link(char *name, char *title, char *class, char *head,
 			     char *rev);
+extern void cgit_patch_link(char *name, char *title, char *class, char *head,
+			    char *rev);
 extern void cgit_refs_link(char *name, char *title, char *class, char *head,
 			   char *rev, char *path);
 extern void cgit_snapshot_link(char *name, char *title, char *class,