diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | cgit.c | 3 | ||||
| -rw-r--r-- | cgit.h | 2 | ||||
| -rw-r--r-- | shared.c | 2 | ||||
| -rw-r--r-- | ui-refs.c | 30 |
5 files changed, 37 insertions, 2 deletions
| @@ -16,7 +16,7 @@ GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2 | |||
| 16 | EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto | 16 | EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto |
| 17 | OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \ | 17 | OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \ |
| 18 | ui-summary.o ui-log.o ui-tree.o ui-commit.o ui-diff.o \ | 18 | ui-summary.o ui-log.o ui-tree.o ui-commit.o ui-diff.o \ |
| 19 | ui-snapshot.o ui-blob.o ui-tag.o | 19 | ui-snapshot.o ui-blob.o ui-tag.o ui-refs.o |
| 20 | 20 | ||
| 21 | 21 | ||
| 22 | .PHONY: all git install clean distclean force-version get-git | 22 | .PHONY: all git install clean distclean force-version get-git |
| @@ -103,6 +103,9 @@ static void cgit_print_repo_page(struct cacheitem *item) | |||
| 103 | case CMD_COMMIT: | 103 | case CMD_COMMIT: |
| 104 | cgit_print_commit(cgit_query_sha1); | 104 | cgit_print_commit(cgit_query_sha1); |
| 105 | break; | 105 | break; |
| 106 | case CMD_REFS: | ||
| 107 | cgit_print_refs(); | ||
| 108 | break; | ||
| 106 | case CMD_TAG: | 109 | case CMD_TAG: |
| 107 | cgit_print_tag(cgit_query_sha1); | 110 | cgit_print_tag(cgit_query_sha1); |
| 108 | break; | 111 | break; |
| @@ -28,6 +28,7 @@ | |||
| 28 | #define CMD_BLOB 5 | 28 | #define CMD_BLOB 5 |
| 29 | #define CMD_SNAPSHOT 6 | 29 | #define CMD_SNAPSHOT 6 |
| 30 | #define CMD_TAG 7 | 30 | #define CMD_TAG 7 |
| 31 | #define CMD_REFS 8 | ||
| 31 | 32 | ||
| 32 | /* | 33 | /* |
| 33 | * Dateformats used on misc. pages | 34 | * Dateformats used on misc. pages |
| @@ -260,6 +261,7 @@ extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char * | |||
| 260 | extern void cgit_print_blob(struct cacheitem *item, const char *hex, char *path); | 261 | extern void cgit_print_blob(struct cacheitem *item, const char *hex, char *path); |
| 261 | extern void cgit_print_tree(const char *rev, char *path); | 262 | extern void cgit_print_tree(const char *rev, char *path); |
| 262 | extern void cgit_print_commit(char *hex); | 263 | extern void cgit_print_commit(char *hex); |
| 264 | extern void cgit_print_refs(); | ||
| 263 | extern void cgit_print_tag(char *revname); | 265 | extern void cgit_print_tag(char *revname); |
| 264 | extern void cgit_print_diff(const char *new_hex, const char *old_hex, const char *prefix); | 266 | extern void cgit_print_diff(const char *new_hex, const char *old_hex, const char *prefix); |
| 265 | extern void cgit_print_snapshot(struct cacheitem *item, const char *head, | 267 | extern void cgit_print_snapshot(struct cacheitem *item, const char *head, |
| @@ -66,7 +66,7 @@ int htmlfd = 0; | |||
| 66 | int cgit_get_cmd_index(const char *cmd) | 66 | int cgit_get_cmd_index(const char *cmd) |
| 67 | { | 67 | { |
| 68 | static char *cmds[] = {"log", "commit", "diff", "tree", "blob", | 68 | static char *cmds[] = {"log", "commit", "diff", "tree", "blob", |
| 69 | "snapshot", "tag", NULL}; | 69 | "snapshot", "tag", "refs", NULL}; |
| 70 | int i; | 70 | int i; |
| 71 | 71 | ||
| 72 | for(i = 0; cmds[i]; i++) | 72 | for(i = 0; cmds[i]; i++) |
diff --git a/ui-refs.c b/ui-refs.c new file mode 100644 index 0000000..295f5ba --- /dev/null +++ b/ui-refs.c | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | /* ui-refs.c: browse symbolic refs | ||
| 2 | * | ||
| 3 | * Copyright (C) 2006 Lars Hjemli | ||
| 4 | * | ||
| 5 | * Licensed under GNU General Public License v2 | ||
| 6 | * (see COPYING for full license text) | ||
| 7 | */ | ||
| 8 | |||
| 9 | #include "cgit.h" | ||
| 10 | |||
| 11 | |||
| 12 | |||
| 13 | |||
| 14 | void cgit_print_refs() | ||
| 15 | { | ||
| 16 | |||
| 17 | html("<table class='list nowrap'>"); | ||
| 18 | |||
| 19 | if (cgit_query_path && !strncmp(cgit_query_path, "heads", 5)) | ||
| 20 | cgit_print_branches(0); | ||
| 21 | else if (cgit_query_path && !strncmp(cgit_query_path, "tags", 4)) | ||
| 22 | cgit_print_tags(0); | ||
| 23 | else { | ||
| 24 | cgit_print_branches(0); | ||
| 25 | html("<tr class='nohover'><td colspan='4'> </td></tr>"); | ||
| 26 | cgit_print_tags(0); | ||
| 27 | } | ||
| 28 | |||
| 29 | html("</table>"); | ||
| 30 | } | ||
