-rw-r--r-- | cgit.c | 2 | ||||
-rw-r--r-- | ui-shared.c | 9 | ||||
-rw-r--r-- | ui-tag.c | 24 |
3 files changed, 27 insertions, 8 deletions
@@ -211,2 +211,4 @@ static void querystring_cb(const char *name, const char *value) | |||
211 | } else if (!strcmp(name, "url")) { | 211 | } else if (!strcmp(name, "url")) { |
212 | if (*value == '/') | ||
213 | value++; | ||
212 | ctx.qry.url = xstrdup(value); | 214 | ctx.qry.url = xstrdup(value); |
diff --git a/ui-shared.c b/ui-shared.c index 4049a2b..3a9e67b 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
@@ -762,4 +762,10 @@ void cgit_print_snapshot_links(const char *repo, const char *head, | |||
762 | const struct cgit_snapshot_format* f; | 762 | const struct cgit_snapshot_format* f; |
763 | char *prefix; | ||
763 | char *filename; | 764 | char *filename; |
765 | unsigned char sha1[20]; | ||
764 | 766 | ||
767 | if (get_sha1(fmt("refs/tags/%s", hex), sha1) == 0 && | ||
768 | (hex[0] == 'v' || hex[0] == 'V') && isdigit(hex[1])) | ||
769 | hex++; | ||
770 | prefix = xstrdup(fmt("%s-%s", cgit_repobasename(repo), hex)); | ||
765 | for (f = cgit_snapshot_formats; f->suffix; f++) { | 771 | for (f = cgit_snapshot_formats; f->suffix; f++) { |
@@ -767,4 +773,3 @@ void cgit_print_snapshot_links(const char *repo, const char *head, | |||
767 | continue; | 773 | continue; |
768 | filename = fmt("%s-%s%s", cgit_repobasename(repo), hex, | 774 | filename = fmt("%s%s", prefix, f->suffix); |
769 | f->suffix); | ||
770 | cgit_snapshot_link(filename, NULL, NULL, NULL, NULL, filename); | 775 | cgit_snapshot_link(filename, NULL, NULL, NULL, NULL, filename); |
@@ -32,2 +32,10 @@ static void print_tag_content(char *buf) | |||
32 | 32 | ||
33 | void print_download_links(char *revname) | ||
34 | { | ||
35 | html("<tr><th>download</th><td class='sha1'>"); | ||
36 | cgit_print_snapshot_links(ctx.qry.repo, ctx.qry.head, | ||
37 | revname, ctx.repo->snapshots); | ||
38 | html("</td></tr>"); | ||
39 | } | ||
40 | |||
33 | void cgit_print_tag(char *revname) | 41 | void cgit_print_tag(char *revname) |
@@ -58,3 +66,3 @@ void cgit_print_tag(char *revname) | |||
58 | html("<table class='commit-info'>\n"); | 66 | html("<table class='commit-info'>\n"); |
59 | htmlf("<tr><td>Tag name</td><td>"); | 67 | htmlf("<tr><td>tag name</td><td>"); |
60 | html_txt(revname); | 68 | html_txt(revname); |
@@ -62,3 +70,3 @@ void cgit_print_tag(char *revname) | |||
62 | if (info->tagger_date > 0) { | 70 | if (info->tagger_date > 0) { |
63 | html("<tr><td>Tag date</td><td>"); | 71 | html("<tr><td>tag date</td><td>"); |
64 | cgit_print_date(info->tagger_date, FMT_LONGDATE, ctx.cfg.local_time); | 72 | cgit_print_date(info->tagger_date, FMT_LONGDATE, ctx.cfg.local_time); |
@@ -67,3 +75,3 @@ void cgit_print_tag(char *revname) | |||
67 | if (info->tagger) { | 75 | if (info->tagger) { |
68 | html("<tr><td>Tagged by</td><td>"); | 76 | html("<tr><td>tagged by</td><td>"); |
69 | html_txt(info->tagger); | 77 | html_txt(info->tagger); |
@@ -75,5 +83,7 @@ void cgit_print_tag(char *revname) | |||
75 | } | 83 | } |
76 | html("<tr><td>Tagged object</td><td>"); | 84 | html("<tr><td>tagged object</td><td class='sha1'>"); |
77 | cgit_object_link(tag->tagged); | 85 | cgit_object_link(tag->tagged); |
78 | html("</td></tr>\n"); | 86 | html("</td></tr>\n"); |
87 | if (ctx.repo->snapshots) | ||
88 | print_download_links(revname); | ||
79 | html("</table>\n"); | 89 | html("</table>\n"); |
@@ -82,8 +92,10 @@ void cgit_print_tag(char *revname) | |||
82 | html("<table class='commit-info'>\n"); | 92 | html("<table class='commit-info'>\n"); |
83 | htmlf("<tr><td>Tag name</td><td>"); | 93 | htmlf("<tr><td>tag name</td><td>"); |
84 | html_txt(revname); | 94 | html_txt(revname); |
85 | html("</td></tr>\n"); | 95 | html("</td></tr>\n"); |
86 | html("<tr><td>Tagged object</td><td>"); | 96 | html("<tr><td>Tagged object</td><td class='sha1'>"); |
87 | cgit_object_link(obj); | 97 | cgit_object_link(obj); |
88 | html("</td></tr>\n"); | 98 | html("</td></tr>\n"); |
99 | if (ctx.repo->snapshots) | ||
100 | print_download_links(revname); | ||
89 | html("</table>\n"); | 101 | html("</table>\n"); |