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 ui-tag.o ui-refs.o
.PHONY: all git install clean distclean force-version get-git
case CMD_COMMIT:
cgit_print_commit(cgit_query_sha1);
break;
+ case CMD_REFS:
+ cgit_print_refs();
+ break;
case CMD_TAG:
cgit_print_tag(cgit_query_sha1);
break;
#define CMD_BLOB 5
#define CMD_SNAPSHOT 6
#define CMD_TAG 7
+#define CMD_REFS 8
/*
* Dateformats used on misc. pages
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_refs();
extern void cgit_print_tag(char *revname);
extern void cgit_print_diff(const char *new_hex, const char *old_hex, const char *prefix);
extern void cgit_print_snapshot(struct cacheitem *item, const char *head,
int cgit_get_cmd_index(const char *cmd)
{
static char *cmds[] = {"log", "commit", "diff", "tree", "blob",
- "snapshot", "tag", NULL};
+ "snapshot", "tag", "refs", NULL};
int i;
for(i = 0; cmds[i]; i++)
--- /dev/null
+/* ui-refs.c: browse symbolic refs
+ *
+ * Copyright (C) 2006 Lars Hjemli
+ *
+ * Licensed under GNU General Public License v2
+ * (see COPYING for full license text)
+ */
+
+#include "cgit.h"
+
+
+
+
+void cgit_print_refs()
+{
+
+ html("<table class='list nowrap'>");
+
+ if (cgit_query_path && !strncmp(cgit_query_path, "heads", 5))
+ cgit_print_branches(0);
+ else if (cgit_query_path && !strncmp(cgit_query_path, "tags", 4))
+ cgit_print_tags(0);
+ else {
+ cgit_print_branches(0);
+ html("<tr class='nohover'><td colspan='4'> </td></tr>");
+ cgit_print_tags(0);
+ }
+
+ html("</table>");
+}