Add support for refs view
This enables the new urls $repo/refs, $repo/refs/heads and $repo/refs/tags, which can be used to print _all_ branches and/or tags. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
父節點
8efb05f98a
當前提交
7937d06090
2
Makefile
2
Makefile
@ -16,7 +16,7 @@ GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2
|
||||
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
|
||||
|
3
cgit.c
3
cgit.c
@ -103,6 +103,9 @@ static void cgit_print_repo_page(struct cacheitem *item)
|
||||
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;
|
||||
|
2
cgit.h
2
cgit.h
@ -28,6 +28,7 @@
|
||||
#define CMD_BLOB 5
|
||||
#define CMD_SNAPSHOT 6
|
||||
#define CMD_TAG 7
|
||||
#define CMD_REFS 8
|
||||
|
||||
/*
|
||||
* Dateformats used on misc. pages
|
||||
@ -260,6 +261,7 @@ 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_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,
|
||||
|
2
shared.c
2
shared.c
@ -66,7 +66,7 @@ int htmlfd = 0;
|
||||
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++)
|
||||
|
30
ui-refs.c
Normal file
30
ui-refs.c
Normal file
@ -0,0 +1,30 @@
|
||||
/* 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>");
|
||||
}
|
載入中…
新增問題並參考
Block a user