summaryrefslogtreecommitdiffabout
path: root/cgit.h
authorLars Hjemli <hjemli@gmail.com>2007-05-15 22:58:35 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-05-15 22:58:35 (UTC)
commitf9ff7df613b4ee86fe5914c4ae3400650882c03d (patch) (unidiff)
treec26fde3a4d3485943c275232f18359bebd133f1a /cgit.h
parenta2ddc10479ec463708e422ca5ce7ec02c22a7d02 (diff)
downloadcgit-f9ff7df613b4ee86fe5914c4ae3400650882c03d.zip
cgit-f9ff7df613b4ee86fe5914c4ae3400650882c03d.tar.gz
cgit-f9ff7df613b4ee86fe5914c4ae3400650882c03d.tar.bz2
Add support for commitdiff via h parameter
The commitdiff will be generated against the first parent, and the diff page also gets the benefit of repo.defbranch. Cleaned up some bad whitespace in cgit.h while at it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'cgit.h') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/cgit.h b/cgit.h
index ac710a6..764225d 100644
--- a/cgit.h
+++ b/cgit.h
@@ -1,184 +1,185 @@
1#ifndef CGIT_H 1#ifndef CGIT_H
2#define CGIT_H 2#define CGIT_H
3 3
4 4
5#include <git-compat-util.h> 5#include <git-compat-util.h>
6#include <cache.h> 6#include <cache.h>
7#include <grep.h> 7#include <grep.h>
8#include <object.h> 8#include <object.h>
9#include <tree.h> 9#include <tree.h>
10#include <commit.h> 10#include <commit.h>
11#include <tag.h> 11#include <tag.h>
12#include <diff.h> 12#include <diff.h>
13#include <diffcore.h> 13#include <diffcore.h>
14#include <refs.h> 14#include <refs.h>
15#include <revision.h> 15#include <revision.h>
16#include <log-tree.h> 16#include <log-tree.h>
17#include <archive.h> 17#include <archive.h>
18#include <xdiff/xdiff.h> 18#include <xdiff/xdiff.h>
19 19
20 20
21typedef void (*configfn)(const char *name, const char *value); 21typedef void (*configfn)(const char *name, const char *value);
22typedef void (*filepair_fn)(struct diff_filepair *pair); 22typedef void (*filepair_fn)(struct diff_filepair *pair);
23typedef void (*linediff_fn)(char *line, int len); 23typedef void (*linediff_fn)(char *line, int len);
24 24
25struct cacheitem { 25struct cacheitem {
26 char *name; 26 char *name;
27 struct stat st; 27 struct stat st;
28 int ttl; 28 int ttl;
29 int fd; 29 int fd;
30}; 30};
31 31
32struct repoinfo { 32struct repoinfo {
33 char *url; 33 char *url;
34 char *name; 34 char *name;
35 char *path; 35 char *path;
36 char *desc; 36 char *desc;
37 char *owner; 37 char *owner;
38 char *defbranch; 38 char *defbranch;
39 char *module_link; 39 char *module_link;
40 int snapshots; 40 int snapshots;
41}; 41};
42 42
43struct repolist { 43struct repolist {
44 int length; 44 int length;
45 int count; 45 int count;
46 struct repoinfo *repos; 46 struct repoinfo *repos;
47}; 47};
48 48
49struct commitinfo { 49struct commitinfo {
50 struct commit *commit; 50 struct commit *commit;
51 char *author; 51 char *author;
52 char *author_email; 52 char *author_email;
53 unsigned long author_date; 53 unsigned long author_date;
54 char *committer; 54 char *committer;
55 char *committer_email; 55 char *committer_email;
56 unsigned long committer_date; 56 unsigned long committer_date;
57 char *subject; 57 char *subject;
58 char *msg; 58 char *msg;
59}; 59};
60 60
61struct taginfo { 61struct taginfo {
62 char *tagger; 62 char *tagger;
63 char *tagger_email; 63 char *tagger_email;
64 int tagger_date; 64 int tagger_date;
65 char *msg; 65 char *msg;
66}; 66};
67 67
68extern const char cgit_version[]; 68extern const char cgit_version[];
69 69
70extern struct repolist cgit_repolist; 70extern struct repolist cgit_repolist;
71extern struct repoinfo *cgit_repo; 71extern struct repoinfo *cgit_repo;
72 72
73extern char *cgit_root_title; 73extern char *cgit_root_title;
74extern char *cgit_css; 74extern char *cgit_css;
75extern char *cgit_logo; 75extern char *cgit_logo;
76extern char *cgit_logo_link; 76extern char *cgit_logo_link;
77extern char *cgit_module_link; 77extern char *cgit_module_link;
78extern char *cgit_virtual_root; 78extern char *cgit_virtual_root;
79extern char *cgit_script_name; 79extern char *cgit_script_name;
80extern char *cgit_cache_root; 80extern char *cgit_cache_root;
81 81
82extern int cgit_nocache; 82extern int cgit_nocache;
83extern int cgit_snapshots; 83extern int cgit_snapshots;
84extern int cgit_max_lock_attempts; 84extern int cgit_max_lock_attempts;
85extern int cgit_cache_root_ttl; 85extern int cgit_cache_root_ttl;
86extern int cgit_cache_repo_ttl; 86extern int cgit_cache_repo_ttl;
87extern int cgit_cache_dynamic_ttl; 87extern int cgit_cache_dynamic_ttl;
88extern int cgit_cache_static_ttl; 88extern int cgit_cache_static_ttl;
89extern int cgit_cache_max_create_time; 89extern int cgit_cache_max_create_time;
90 90
91extern int cgit_max_msg_len; 91extern int cgit_max_msg_len;
92extern int cgit_max_commit_count; 92extern int cgit_max_commit_count;
93 93
94extern char *cgit_repo_name; 94extern char *cgit_repo_name;
95extern char *cgit_repo_desc; 95extern char *cgit_repo_desc;
96extern char *cgit_repo_owner; 96extern char *cgit_repo_owner;
97 97
98extern int cgit_query_has_symref; 98extern int cgit_query_has_symref;
99extern int cgit_query_has_sha1; 99extern int cgit_query_has_sha1;
100 100
101extern char *cgit_querystring; 101extern char *cgit_querystring;
102extern char *cgit_query_repo; 102extern char *cgit_query_repo;
103extern char *cgit_query_page; 103extern char *cgit_query_page;
104extern char *cgit_query_search; 104extern char *cgit_query_search;
105extern char *cgit_query_head; 105extern char *cgit_query_head;
106extern char *cgit_query_sha1; 106extern char *cgit_query_sha1;
107extern char *cgit_query_sha2; 107extern char *cgit_query_sha2;
108extern char *cgit_query_path; 108extern char *cgit_query_path;
109extern char *cgit_query_name; 109extern char *cgit_query_name;
110extern int cgit_query_ofs; 110extern int cgit_query_ofs;
111 111
112extern int htmlfd; 112extern int htmlfd;
113 113
114extern void cgit_global_config_cb(const char *name, const char *value); 114extern void cgit_global_config_cb(const char *name, const char *value);
115extern void cgit_repo_config_cb(const char *name, const char *value); 115extern void cgit_repo_config_cb(const char *name, const char *value);
116extern void cgit_querystring_cb(const char *name, const char *value); 116extern void cgit_querystring_cb(const char *name, const char *value);
117 117
118extern int chk_zero(int result, char *msg); 118extern int chk_zero(int result, char *msg);
119extern int chk_positive(int result, char *msg); 119extern int chk_positive(int result, char *msg);
120 120
121extern int hextoint(char c); 121extern int hextoint(char c);
122 122
123extern void *cgit_free_commitinfo(struct commitinfo *info); 123extern void *cgit_free_commitinfo(struct commitinfo *info);
124 124
125extern int cgit_diff_files(const unsigned char *old_sha1, 125extern int cgit_diff_files(const unsigned char *old_sha1,
126 const unsigned char *new_sha1, 126 const unsigned char *new_sha1,
127 linediff_fn fn); 127 linediff_fn fn);
128 128
129extern void cgit_diff_tree(const unsigned char *old_sha1, 129extern void cgit_diff_tree(const unsigned char *old_sha1,
130 const unsigned char *new_sha1, 130 const unsigned char *new_sha1,
131 filepair_fn fn); 131 filepair_fn fn);
132 132
133extern void cgit_diff_commit(struct commit *commit, filepair_fn fn); 133extern void cgit_diff_commit(struct commit *commit, filepair_fn fn);
134 134
135extern char *fmt(const char *format,...); 135extern char *fmt(const char *format,...);
136 136
137extern void html(const char *txt); 137extern void html(const char *txt);
138extern void htmlf(const char *format,...); 138extern void htmlf(const char *format,...);
139extern void html_txt(char *txt); 139extern void html_txt(char *txt);
140extern void html_ntxt(int len, char *txt); 140extern void html_ntxt(int len, char *txt);
141extern void html_attr(char *txt); 141extern void html_attr(char *txt);
142extern void html_hidden(char *name, char *value); 142extern void html_hidden(char *name, char *value);
143extern void html_link_open(char *url, char *title, char *class); 143extern void html_link_open(char *url, char *title, char *class);
144extern void html_link_close(void); 144extern void html_link_close(void);
145extern void html_filemode(unsigned short mode); 145extern void html_filemode(unsigned short mode);
146 146
147extern int cgit_read_config(const char *filename, configfn fn); 147extern int cgit_read_config(const char *filename, configfn fn);
148extern int cgit_parse_query(char *txt, configfn fn); 148extern int cgit_parse_query(char *txt, configfn fn);
149extern struct commitinfo *cgit_parse_commit(struct commit *commit); 149extern struct commitinfo *cgit_parse_commit(struct commit *commit);
150extern struct taginfo *cgit_parse_tag(struct tag *tag); 150extern struct taginfo *cgit_parse_tag(struct tag *tag);
151 151
152extern char *cache_safe_filename(const char *unsafe); 152extern char *cache_safe_filename(const char *unsafe);
153extern int cache_lock(struct cacheitem *item); 153extern int cache_lock(struct cacheitem *item);
154extern int cache_unlock(struct cacheitem *item); 154extern int cache_unlock(struct cacheitem *item);
155extern int cache_cancel_lock(struct cacheitem *item); 155extern int cache_cancel_lock(struct cacheitem *item);
156extern int cache_exist(struct cacheitem *item); 156extern int cache_exist(struct cacheitem *item);
157extern int cache_expired(struct cacheitem *item); 157extern int cache_expired(struct cacheitem *item);
158 158
159extern char *cgit_repourl(const char *reponame); 159extern char *cgit_repourl(const char *reponame);
160extern char *cgit_pageurl(const char *reponame, const char *pagename, 160extern char *cgit_pageurl(const char *reponame, const char *pagename,
161 const char *query); 161 const char *query);
162 162
163extern void cgit_print_error(char *msg); 163extern void cgit_print_error(char *msg);
164extern void cgit_print_date(unsigned long secs); 164extern void cgit_print_date(unsigned long secs);
165extern void cgit_print_docstart(char *title, struct cacheitem *item); 165extern void cgit_print_docstart(char *title, struct cacheitem *item);
166extern void cgit_print_docend(); 166extern void cgit_print_docend();
167extern void cgit_print_pageheader(char *title, int show_search); 167extern void cgit_print_pageheader(char *title, int show_search);
168extern void cgit_print_snapshot_start(const char *mimetype, 168extern void cgit_print_snapshot_start(const char *mimetype,
169 const char *filename, 169 const char *filename,
170 struct cacheitem *item); 170 struct cacheitem *item);
171 171
172extern void cgit_print_repolist(struct cacheitem *item); 172extern void cgit_print_repolist(struct cacheitem *item);
173extern void cgit_print_summary(); 173extern void cgit_print_summary();
174extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path); 174extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path);
175extern void cgit_print_view(const char *hex, char *path); 175extern void cgit_print_view(const char *hex, char *path);
176extern void cgit_print_blob(struct cacheitem *item, const char *hex, char *path); 176extern void cgit_print_blob(struct cacheitem *item, const char *hex, char *path);
177extern void cgit_print_tree(const char *rev, const char *hex, char *path); 177extern void cgit_print_tree(const char *rev, const char *hex, char *path);
178extern void cgit_print_commit(const char *hex); 178extern void cgit_print_commit(const char *hex);
179extern void cgit_print_diff(const char *old_hex, const char *new_hex, char *path); 179extern void cgit_print_diff(const char *head, const char *old_hex, const char *new_hex,
180extern void cgit_print_snapshot(struct cacheitem *item, const char *hex, 180 char *path);
181extern void cgit_print_snapshot(struct cacheitem *item, const char *hex,
181 const char *format, const char *prefix, 182 const char *format, const char *prefix,
182 const char *filename); 183 const char *filename);
183 184
184#endif /* CGIT_H */ 185#endif /* CGIT_H */