Change commit-view to expect h parameter, not id

The change makes the commit-page benefit from repo.defbranch.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
Lars Hjemli 2007-05-16 00:26:23 +02:00
parent b28b105ec1
commit a2ddc10479
4 changed files with 13 additions and 10 deletions

2
cgit.c
View File

@ -116,7 +116,7 @@ static void cgit_print_repo_page(struct cacheitem *item)
} else if (!strcmp(cgit_query_page, "tree")) {
cgit_print_tree(cgit_query_head, cgit_query_sha1, cgit_query_path);
} else if (!strcmp(cgit_query_page, "commit")) {
cgit_print_commit(cgit_query_sha1);
cgit_print_commit(cgit_query_head);
} else if (!strcmp(cgit_query_page, "view")) {
cgit_print_view(cgit_query_sha1, cgit_query_path);
} else if (!strcmp(cgit_query_page, "diff")) {

View File

@ -197,7 +197,7 @@ void cgit_print_commit(const char *hex)
html("<tr><th>parent</th>"
"<td colspan='2' class='sha1'>"
"<a href='");
query = fmt("id=%s", sha1_to_hex(p->item->object.sha1));
query = fmt("h=%s", sha1_to_hex(p->item->object.sha1));
html_attr(cgit_pageurl(cgit_query_repo, "commit", query));
htmlf("'>%s</a> (<a href='",
sha1_to_hex(p->item->object.sha1));

View File

@ -34,7 +34,7 @@ void print_commit(struct commit *commit)
strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M", time);
html_txt(buf);
html("</td><td>");
char *qry = fmt("id=%s", sha1_to_hex(commit->object.sha1));
char *qry = fmt("h=%s", sha1_to_hex(commit->object.sha1));
char *url = cgit_pageurl(cgit_query_repo, "commit", qry);
html_link_open(url, NULL, NULL);
html_ntxt(cgit_max_msg_len, info->subject);
@ -121,4 +121,3 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path)
}
html("</div>");
}

View File

@ -33,7 +33,7 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
html_txt(info->author);
html("</td><td>");
url = cgit_pageurl(cgit_query_repo, "commit",
fmt("id=%s", sha1_to_hex(sha1)));
fmt("h=%s", sha1_to_hex(sha1)));
html_link_open(url, NULL, NULL);
html_ntxt(cgit_max_msg_len, info->subject);
html_link_close();
@ -52,17 +52,21 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
static void cgit_print_object_ref(struct object *obj)
{
char *page, *url;
char *page, *arg, *url;
if (obj->type == OBJ_COMMIT)
if (obj->type == OBJ_COMMIT) {
page = "commit";
else if (obj->type == OBJ_TREE)
arg = "h";
} else if (obj->type == OBJ_TREE) {
page = "tree";
else
arg = "id";
} else {
page = "view";
arg = "id";
}
url = cgit_pageurl(cgit_query_repo, page,
fmt("id=%s", sha1_to_hex(obj->sha1)));
fmt("%s=%s", arg, sha1_to_hex(obj->sha1)));
html_link_open(url, NULL, NULL);
htmlf("%s %s", typename(obj->type),
sha1_to_hex(obj->sha1));