aboutsummaryrefslogtreecommitdiff
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--cgit.c3
-rw-r--r--cgit.h5
-rw-r--r--shared.c2
-rw-r--r--ui-shared.c24
-rw-r--r--ui-summary.c33
-rw-r--r--ui-tag.c74
7 files changed, 32 insertions, 111 deletions
diff --git a/Makefile b/Makefile
index 50d0011..cea09f1 100644
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@ VERSION:
EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto
OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \
ui-summary.o ui-log.o ui-tree.o ui-commit.o ui-diff.o \
- ui-snapshot.o ui-blob.o ui-tag.o
+ ui-snapshot.o ui-blob.o
CFLAGS += -Wall
diff --git a/cgit.c b/cgit.c
index 6597529..8795bbc 100644
--- a/cgit.c
+++ b/cgit.c
@@ -103,9 +103,6 @@ static void cgit_print_repo_page(struct cacheitem *item)
case CMD_COMMIT:
cgit_print_commit(cgit_query_sha1);
break;
- case CMD_TAG:
- cgit_print_tag(cgit_query_sha1);
- break;
case CMD_DIFF:
cgit_print_diff(cgit_query_sha1, cgit_query_sha2);
break;
diff --git a/cgit.h b/cgit.h
index eddcaa3..ea61be7 100644
--- a/cgit.h
+++ b/cgit.h
@@ -27,7 +27,7 @@
#define CMD_TREE 4
#define CMD_BLOB 5
#define CMD_SNAPSHOT 6
-#define CMD_TAG 7
+
/*
* Dateformats used on misc. pages
@@ -217,8 +217,6 @@ extern void cgit_commit_link(char *name, char *title, char *class, char *head,
extern void cgit_diff_link(char *name, char *title, char *class, char *head,
char *new_rev, char *old_rev, char *path);
-extern void cgit_object_link(struct object *obj);
-
extern void cgit_print_error(char *msg);
extern void cgit_print_date(time_t secs, char *format);
extern void cgit_print_age(time_t t, time_t max_relative, char *format);
@@ -235,7 +233,6 @@ extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *
extern void cgit_print_blob(struct cacheitem *item, const char *hex, char *path);
extern void cgit_print_tree(const char *rev, char *path);
extern void cgit_print_commit(char *hex);
-extern void cgit_print_tag(char *revname);
extern void cgit_print_diff(const char *new_hex, const char *old_hex);
extern void cgit_print_snapshot(struct cacheitem *item, const char *hex,
const char *prefix, const char *filename,
diff --git a/shared.c b/shared.c
index 077934f..ccbde27 100644
--- a/shared.c
+++ b/shared.c
@@ -63,7 +63,7 @@ int htmlfd = 0;
int cgit_get_cmd_index(const char *cmd)
{
static char *cmds[] = {"log", "commit", "diff", "tree", "blob",
- "snapshot", "tag", NULL};
+ "snapshot", NULL};
int i;
for(i = 0; cmds[i]; i++)
diff --git a/ui-shared.c b/ui-shared.c
index ca2ee82..3e378a4 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -249,30 +249,6 @@ void cgit_diff_link(char *name, char *title, char *class, char *head,
html("</a>");
}
-void cgit_object_link(struct object *obj)
-{
- char *page, *arg, *url;
-
- if (obj->type == OBJ_COMMIT) {
- cgit_commit_link(fmt("commit %s", sha1_to_hex(obj->sha1)), NULL, NULL,
- cgit_query_head, sha1_to_hex(obj->sha1));
- return;
- } else if (obj->type == OBJ_TREE) {
- page = "tree";
- arg = "id";
- } else {
- page = "blob";
- arg = "id";
- }
-
- url = cgit_pageurl(cgit_query_repo, page,
- 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));
- html_link_close();
-}
-
void cgit_print_date(time_t secs, char *format)
{
char buf[64];
diff --git a/ui-summary.c b/ui-summary.c
index de8a180..fdee66b 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -47,6 +47,31 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
return 0;
}
+
+static void cgit_print_object_ref(struct object *obj)
+{
+ char *page, *arg, *url;
+
+ if (obj->type == OBJ_COMMIT) {
+ cgit_commit_link(fmt("commit %s", sha1_to_hex(obj->sha1)), NULL, NULL,
+ cgit_query_head, sha1_to_hex(obj->sha1));
+ return;
+ } else if (obj->type == OBJ_TREE) {
+ page = "tree";
+ arg = "id";
+ } else {
+ page = "blob";
+ arg = "id";
+ }
+
+ url = cgit_pageurl(cgit_query_repo, page,
+ 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));
+ html_link_close();
+}
+
static void print_tag_header()
{
html("<tr class='nohover'><th class='left'>Tag</th>"
@@ -75,8 +100,8 @@ static int cgit_print_tag_cb(const char *refname, const unsigned char *sha1,
if (!header)
print_tag_header();
html("<tr><td>");
- url = cgit_pageurl(cgit_query_repo, "tag",
- fmt("id=%s", refname));
+ url = cgit_pageurl(cgit_query_repo, "view",
+ fmt("id=%s", sha1_to_hex(sha1)));
html_link_open(url, NULL, NULL);
html_txt(buf);
html_link_close();
@@ -87,7 +112,7 @@ static int cgit_print_tag_cb(const char *refname, const unsigned char *sha1,
if (info->tagger)
html(info->tagger);
html("</td><td>");
- cgit_object_link(tag->tagged);
+ cgit_print_object_ref(tag->tagged);
html("</td></tr>\n");
} else {
if (!header)
@@ -95,7 +120,7 @@ static int cgit_print_tag_cb(const char *refname, const unsigned char *sha1,
html("<tr><td>");
html_txt(buf);
html("</td><td colspan='2'/><td>");
- cgit_object_link(obj);
+ cgit_print_object_ref(obj);
html("</td></tr>\n");
}
return 0;
diff --git a/ui-tag.c b/ui-tag.c
deleted file mode 100644
index a6989ff..0000000
--- a/ui-tag.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* ui-tag.c: display a tag
- *
- * Copyright (C) 2007 Lars Hjemli
- *
- * Licensed under GNU General Public License v2
- * (see COPYING for full license text)
- */
-
-#include "cgit.h"
-
-
-static void print_tag_content(char *buf)
-{
- char *p;
-
- if (!buf)
- return;
-
- html("<div class='commit-subject'>");
- p = strchr(buf, '\n');
- if (p)
- *p = '\0';
- html_txt(buf);
- html("</div>");
- if (p) {
- html("<div class='commit-msg'>");
- html_txt(++p);
- html("</div>");
- }
-}
-
-void cgit_print_tag(char *revname)
-{
- unsigned char sha1[20];
- struct object *obj;
- struct tag *tag;
- struct taginfo *info;
-
- if (get_sha1(revname, sha1)) {
- cgit_print_error(fmt("Bad tag reference: %s", revname));
- return;
- }
- obj = parse_object(sha1);
- if (!obj) {
- cgit_print_error(fmt("Bad object id: %s", sha1_to_hex(sha1)));
- return;
- }
- if (obj->type == OBJ_TAG) {
- tag = lookup_tag(sha1);
- if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag))) {
- cgit_print_error(fmt("Bad tag object: %s", revname));
- return;
- }
- html("<table class='commit-info'>\n");
- htmlf("<tr><td>Tag name</td><td>%s (%s)</td></tr>\n",
- revname, sha1_to_hex(sha1));
- if (info->tagger_date > 0) {
- html("<tr><td>Tag date</td><td>");
- cgit_print_date(info->tagger_date, FMT_LONGDATE);
- html("</td><tr>\n");
- }
- if (info->tagger) {
- html("<tr><td>Tagged by</td><td>");
- html_txt(info->tagger);
- html("</td></tr>\n");
- }
- html("<tr><td>Tagged object</td><td>");
- cgit_object_link(tag->tagged);
- html("</td></tr>\n");
- html("</table>\n");
- print_tag_content(info->msg);
- }
- return;
-}