the repository which powers this website
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 <[email protected]>
Lars Hjemli 2008-04-13
parent 536b054 · commit 39912a2
-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 c2fafd78..dd36cc01 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 6253a90d..bb08c4a0 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 94de884b..76c2b1fd 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,