int fd;
};
+struct repoinfo {
+ char *url;
+ char *name;
+ char *path;
+ char *desc;
+ char *owner;
+};
+
+struct repolist {
+ int length;
+ int count;
+ struct repoinfo *repos;
+};
+
struct commitinfo {
struct commit *commit;
char *author;
char *msg;
};
+struct taginfo {
+ char *tagger;
+ char *tagger_email;
+ int tagger_date;
+ char *msg;
+};
+
extern const char cgit_version[];
-extern char *cgit_root;
+extern struct repolist cgit_repolist;
+extern struct repoinfo *cgit_repo;
+
extern char *cgit_root_title;
extern char *cgit_css;
extern char *cgit_logo;
extern int cgit_cache_static_ttl;
extern int cgit_cache_max_create_time;
+extern int cgit_max_msg_len;
+
extern char *cgit_repo_name;
extern char *cgit_repo_desc;
extern char *cgit_repo_owner;
extern int cgit_read_config(const char *filename, configfn fn);
extern int cgit_parse_query(char *txt, configfn fn);
extern struct commitinfo *cgit_parse_commit(struct commit *commit);
+extern struct taginfo *cgit_parse_tag(struct tag *tag);
extern char *cache_safe_filename(const char *unsafe);
extern int cache_lock(struct cacheitem *item);