-rw-r--r-- | cgit.h | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -30,2 +30,3 @@ #define CMD_TAG 7 +#define CMD_REFS 8 @@ -100,2 +101,17 @@ struct taginfo { +struct refinfo { + const char *refname; + struct object *object; + union { + struct taginfo *tag; + struct commitinfo *commit; + }; +}; + +struct reflist { + struct refinfo **refs; + int alloc; + int count; +}; + extern const char *cgit_version; @@ -130,2 +146,4 @@ extern int cgit_cache_max_create_time; extern int cgit_summary_log; +extern int cgit_summary_tags; +extern int cgit_summary_branches; @@ -164,2 +182,6 @@ extern char *trim_end(const char *str, char c); +extern void cgit_add_ref(struct reflist *list, struct refinfo *ref); +extern int cgit_refs_cb(const char *refname, const unsigned char *sha1, + int flags, void *cb_data); + extern void *cgit_free_commitinfo(struct commitinfo *info); @@ -216,2 +238,4 @@ extern void cgit_commit_link(char *name, char *title, char *class, char *head, char *rev); +extern void cgit_refs_link(char *name, char *title, char *class, char *head, + char *rev, char *path); extern void cgit_snapshot_link(char *name, char *title, char *class, @@ -232,2 +256,4 @@ extern void cgit_print_snapshot_start(const char *mimetype, struct cacheitem *item); +extern void cgit_print_branches(int maxcount); +extern void cgit_print_tags(int maxcount); @@ -239,2 +265,3 @@ 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); |