mirror of
https://git.zx2c4.com/cgit
synced 2024-11-22 08:28:42 +00:00
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:
parent
8efb05f98a
commit
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
|
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 \
|
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-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
|
.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:
|
case CMD_COMMIT:
|
||||||
cgit_print_commit(cgit_query_sha1);
|
cgit_print_commit(cgit_query_sha1);
|
||||||
break;
|
break;
|
||||||
|
case CMD_REFS:
|
||||||
|
cgit_print_refs();
|
||||||
|
break;
|
||||||
case CMD_TAG:
|
case CMD_TAG:
|
||||||
cgit_print_tag(cgit_query_sha1);
|
cgit_print_tag(cgit_query_sha1);
|
||||||
break;
|
break;
|
||||||
|
2
cgit.h
2
cgit.h
@ -28,6 +28,7 @@
|
|||||||
#define CMD_BLOB 5
|
#define CMD_BLOB 5
|
||||||
#define CMD_SNAPSHOT 6
|
#define CMD_SNAPSHOT 6
|
||||||
#define CMD_TAG 7
|
#define CMD_TAG 7
|
||||||
|
#define CMD_REFS 8
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Dateformats used on misc. pages
|
* 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_blob(struct cacheitem *item, const char *hex, char *path);
|
||||||
extern void cgit_print_tree(const char *rev, char *path);
|
extern void cgit_print_tree(const char *rev, char *path);
|
||||||
extern void cgit_print_commit(char *hex);
|
extern void cgit_print_commit(char *hex);
|
||||||
|
extern void cgit_print_refs();
|
||||||
extern void cgit_print_tag(char *revname);
|
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_diff(const char *new_hex, const char *old_hex, const char *prefix);
|
||||||
extern void cgit_print_snapshot(struct cacheitem *item, const char *head,
|
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)
|
int cgit_get_cmd_index(const char *cmd)
|
||||||
{
|
{
|
||||||
static char *cmds[] = {"log", "commit", "diff", "tree", "blob",
|
static char *cmds[] = {"log", "commit", "diff", "tree", "blob",
|
||||||
"snapshot", "tag", NULL};
|
"snapshot", "tag", "refs", NULL};
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for(i = 0; cmds[i]; 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>");
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user