summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2007-10-28 14:40:47 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-10-28 14:41:58 (UTC)
commitfc5880fab8b9afc589aaadd1299c34a6ef2a3c2d (patch) (unidiff)
treea429f34b01fc1ce9a90d46b81915db5fa124f83b
parentcbcdbcf2bff23113fe81df8f11fe7843b8ed637e (diff)
downloadcgit-fc5880fab8b9afc589aaadd1299c34a6ef2a3c2d.zip
cgit-fc5880fab8b9afc589aaadd1299c34a6ef2a3c2d.tar.gz
cgit-fc5880fab8b9afc589aaadd1299c34a6ef2a3c2d.tar.bz2
Teach cgit_object_link() about tag objects
This makes random tag links more helpfull, e.g. when a branch head references a tag object, link to the tag page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ui-shared.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 45105dc..1418010 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -263,24 +263,27 @@ void cgit_diff_link(char *name, char *title, char *class, char *head,
263 263
264void cgit_object_link(struct object *obj) 264void cgit_object_link(struct object *obj)
265{ 265{
266 char *page, *arg, *url; 266 char *page, *arg, *url;
267 267
268 if (obj->type == OBJ_COMMIT) { 268 if (obj->type == OBJ_COMMIT) {
269 cgit_commit_link(fmt("commit %s", sha1_to_hex(obj->sha1)), NULL, NULL, 269 cgit_commit_link(fmt("commit %s", sha1_to_hex(obj->sha1)), NULL, NULL,
270 cgit_query_head, sha1_to_hex(obj->sha1)); 270 cgit_query_head, sha1_to_hex(obj->sha1));
271 return; 271 return;
272 } else if (obj->type == OBJ_TREE) { 272 } else if (obj->type == OBJ_TREE) {
273 page = "tree"; 273 page = "tree";
274 arg = "id"; 274 arg = "id";
275 } else if (obj->type == OBJ_TAG) {
276 page = "tag";
277 arg = "id";
275 } else { 278 } else {
276 page = "blob"; 279 page = "blob";
277 arg = "id"; 280 arg = "id";
278 } 281 }
279 282
280 url = cgit_pageurl(cgit_query_repo, page, 283 url = cgit_pageurl(cgit_query_repo, page,
281 fmt("%s=%s", arg, sha1_to_hex(obj->sha1))); 284 fmt("%s=%s", arg, sha1_to_hex(obj->sha1)));
282 html_link_open(url, NULL, NULL); 285 html_link_open(url, NULL, NULL);
283 htmlf("%s %s", typename(obj->type), 286 htmlf("%s %s", typename(obj->type),
284 sha1_to_hex(obj->sha1)); 287 sha1_to_hex(obj->sha1));
285 html_link_close(); 288 html_link_close();
286} 289}