summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.h1
-rw-r--r--shared.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/cgit.h b/cgit.h
index dd83f70..b8af970 100644
--- a/cgit.h
+++ b/cgit.h
@@ -95,64 +95,65 @@ struct commitinfo {
95struct taginfo { 95struct taginfo {
96 char *tagger; 96 char *tagger;
97 char *tagger_email; 97 char *tagger_email;
98 int tagger_date; 98 int tagger_date;
99 char *msg; 99 char *msg;
100}; 100};
101 101
102struct refinfo { 102struct refinfo {
103 const char *refname; 103 const char *refname;
104 struct object *object; 104 struct object *object;
105 union { 105 union {
106 struct taginfo *tag; 106 struct taginfo *tag;
107 struct commitinfo *commit; 107 struct commitinfo *commit;
108 }; 108 };
109}; 109};
110 110
111struct reflist { 111struct reflist {
112 struct refinfo **refs; 112 struct refinfo **refs;
113 int alloc; 113 int alloc;
114 int count; 114 int count;
115}; 115};
116 116
117extern const char *cgit_version; 117extern const char *cgit_version;
118 118
119extern struct repolist cgit_repolist; 119extern struct repolist cgit_repolist;
120extern struct repoinfo *cgit_repo; 120extern struct repoinfo *cgit_repo;
121extern int cgit_cmd; 121extern int cgit_cmd;
122 122
123extern char *cgit_root_title; 123extern char *cgit_root_title;
124extern char *cgit_css; 124extern char *cgit_css;
125extern char *cgit_logo; 125extern char *cgit_logo;
126extern char *cgit_index_header; 126extern char *cgit_index_header;
127extern char *cgit_index_info;
127extern char *cgit_logo_link; 128extern char *cgit_logo_link;
128extern char *cgit_module_link; 129extern char *cgit_module_link;
129extern char *cgit_agefile; 130extern char *cgit_agefile;
130extern char *cgit_virtual_root; 131extern char *cgit_virtual_root;
131extern char *cgit_script_name; 132extern char *cgit_script_name;
132extern char *cgit_cache_root; 133extern char *cgit_cache_root;
133extern char *cgit_repo_group; 134extern char *cgit_repo_group;
134 135
135extern int cgit_nocache; 136extern int cgit_nocache;
136extern int cgit_snapshots; 137extern int cgit_snapshots;
137extern int cgit_enable_index_links; 138extern int cgit_enable_index_links;
138extern int cgit_enable_log_filecount; 139extern int cgit_enable_log_filecount;
139extern int cgit_enable_log_linecount; 140extern int cgit_enable_log_linecount;
140extern int cgit_max_lock_attempts; 141extern int cgit_max_lock_attempts;
141extern int cgit_cache_root_ttl; 142extern int cgit_cache_root_ttl;
142extern int cgit_cache_repo_ttl; 143extern int cgit_cache_repo_ttl;
143extern int cgit_cache_dynamic_ttl; 144extern int cgit_cache_dynamic_ttl;
144extern int cgit_cache_static_ttl; 145extern int cgit_cache_static_ttl;
145extern int cgit_cache_max_create_time; 146extern int cgit_cache_max_create_time;
146extern int cgit_summary_log; 147extern int cgit_summary_log;
147extern int cgit_summary_tags; 148extern int cgit_summary_tags;
148extern int cgit_summary_branches; 149extern int cgit_summary_branches;
149 150
150extern int cgit_max_msg_len; 151extern int cgit_max_msg_len;
151extern int cgit_max_repodesc_len; 152extern int cgit_max_repodesc_len;
152extern int cgit_max_commit_count; 153extern int cgit_max_commit_count;
153 154
154extern int cgit_query_has_symref; 155extern int cgit_query_has_symref;
155extern int cgit_query_has_sha1; 156extern int cgit_query_has_sha1;
156 157
157extern char *cgit_querystring; 158extern char *cgit_querystring;
158extern char *cgit_query_repo; 159extern char *cgit_query_repo;
diff --git a/shared.c b/shared.c
index 4fab1c9..50fe8e1 100644
--- a/shared.c
+++ b/shared.c
@@ -1,52 +1,53 @@
1/* shared.c: global vars + some callback functions 1/* shared.c: global vars + some callback functions
2 * 2 *
3 * Copyright (C) 2006 Lars Hjemli 3 * Copyright (C) 2006 Lars Hjemli
4 * 4 *
5 * Licensed under GNU General Public License v2 5 * Licensed under GNU General Public License v2
6 * (see COPYING for full license text) 6 * (see COPYING for full license text)
7 */ 7 */
8 8
9#include "cgit.h" 9#include "cgit.h"
10 10
11struct repolist cgit_repolist; 11struct repolist cgit_repolist;
12struct repoinfo *cgit_repo; 12struct repoinfo *cgit_repo;
13int cgit_cmd; 13int cgit_cmd;
14 14
15const char *cgit_version = CGIT_VERSION; 15const char *cgit_version = CGIT_VERSION;
16 16
17char *cgit_root_title = "Git repository browser"; 17char *cgit_root_title = "Git repository browser";
18char *cgit_css = "/cgit.css"; 18char *cgit_css = "/cgit.css";
19char *cgit_logo = "/git-logo.png"; 19char *cgit_logo = "/git-logo.png";
20char *cgit_index_header = NULL; 20char *cgit_index_header = NULL;
21char *cgit_index_info = NULL;
21char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/"; 22char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/";
22char *cgit_module_link = "./?repo=%s&page=commit&id=%s"; 23char *cgit_module_link = "./?repo=%s&page=commit&id=%s";
23char *cgit_agefile = "info/web/last-modified"; 24char *cgit_agefile = "info/web/last-modified";
24char *cgit_virtual_root = NULL; 25char *cgit_virtual_root = NULL;
25char *cgit_script_name = CGIT_SCRIPT_NAME; 26char *cgit_script_name = CGIT_SCRIPT_NAME;
26char *cgit_cache_root = CGIT_CACHE_ROOT; 27char *cgit_cache_root = CGIT_CACHE_ROOT;
27char *cgit_repo_group = NULL; 28char *cgit_repo_group = NULL;
28 29
29int cgit_nocache = 0; 30int cgit_nocache = 0;
30int cgit_snapshots = 0; 31int cgit_snapshots = 0;
31int cgit_enable_index_links = 0; 32int cgit_enable_index_links = 0;
32int cgit_enable_log_filecount = 0; 33int cgit_enable_log_filecount = 0;
33int cgit_enable_log_linecount = 0; 34int cgit_enable_log_linecount = 0;
34int cgit_max_lock_attempts = 5; 35int cgit_max_lock_attempts = 5;
35int cgit_cache_root_ttl = 5; 36int cgit_cache_root_ttl = 5;
36int cgit_cache_repo_ttl = 5; 37int cgit_cache_repo_ttl = 5;
37int cgit_cache_dynamic_ttl = 5; 38int cgit_cache_dynamic_ttl = 5;
38int cgit_cache_static_ttl = -1; 39int cgit_cache_static_ttl = -1;
39int cgit_cache_max_create_time = 5; 40int cgit_cache_max_create_time = 5;
40int cgit_summary_log = 0; 41int cgit_summary_log = 0;
41int cgit_summary_tags = 0; 42int cgit_summary_tags = 0;
42int cgit_summary_branches = 0; 43int cgit_summary_branches = 0;
43int cgit_renamelimit = -1; 44int cgit_renamelimit = -1;
44 45
45int cgit_max_msg_len = 60; 46int cgit_max_msg_len = 60;
46int cgit_max_repodesc_len = 60; 47int cgit_max_repodesc_len = 60;
47int cgit_max_commit_count = 50; 48int cgit_max_commit_count = 50;
48 49
49int cgit_query_has_symref = 0; 50int cgit_query_has_symref = 0;
50int cgit_query_has_sha1 = 0; 51int cgit_query_has_sha1 = 0;
51 52
52char *cgit_querystring = NULL; 53char *cgit_querystring = NULL;
@@ -121,64 +122,66 @@ struct repoinfo *add_repo(const char *url)
121 ret->defbranch = "master"; 122 ret->defbranch = "master";
122 ret->snapshots = cgit_snapshots; 123 ret->snapshots = cgit_snapshots;
123 ret->enable_log_filecount = cgit_enable_log_filecount; 124 ret->enable_log_filecount = cgit_enable_log_filecount;
124 ret->enable_log_linecount = cgit_enable_log_linecount; 125 ret->enable_log_linecount = cgit_enable_log_linecount;
125 ret->module_link = cgit_module_link; 126 ret->module_link = cgit_module_link;
126 ret->readme = NULL; 127 ret->readme = NULL;
127 return ret; 128 return ret;
128} 129}
129 130
130struct repoinfo *cgit_get_repoinfo(const char *url) 131struct repoinfo *cgit_get_repoinfo(const char *url)
131{ 132{
132 int i; 133 int i;
133 struct repoinfo *repo; 134 struct repoinfo *repo;
134 135
135 for (i=0; i<cgit_repolist.count; i++) { 136 for (i=0; i<cgit_repolist.count; i++) {
136 repo = &cgit_repolist.repos[i]; 137 repo = &cgit_repolist.repos[i];
137 if (!strcmp(repo->url, url)) 138 if (!strcmp(repo->url, url))
138 return repo; 139 return repo;
139 } 140 }
140 return NULL; 141 return NULL;
141} 142}
142 143
143void cgit_global_config_cb(const char *name, const char *value) 144void cgit_global_config_cb(const char *name, const char *value)
144{ 145{
145 if (!strcmp(name, "root-title")) 146 if (!strcmp(name, "root-title"))
146 cgit_root_title = xstrdup(value); 147 cgit_root_title = xstrdup(value);
147 else if (!strcmp(name, "css")) 148 else if (!strcmp(name, "css"))
148 cgit_css = xstrdup(value); 149 cgit_css = xstrdup(value);
149 else if (!strcmp(name, "logo")) 150 else if (!strcmp(name, "logo"))
150 cgit_logo = xstrdup(value); 151 cgit_logo = xstrdup(value);
151 else if (!strcmp(name, "index-header")) 152 else if (!strcmp(name, "index-header"))
152 cgit_index_header = xstrdup(value); 153 cgit_index_header = xstrdup(value);
154 else if (!strcmp(name, "index-info"))
155 cgit_index_info = xstrdup(value);
153 else if (!strcmp(name, "logo-link")) 156 else if (!strcmp(name, "logo-link"))
154 cgit_logo_link = xstrdup(value); 157 cgit_logo_link = xstrdup(value);
155 else if (!strcmp(name, "module-link")) 158 else if (!strcmp(name, "module-link"))
156 cgit_module_link = xstrdup(value); 159 cgit_module_link = xstrdup(value);
157 else if (!strcmp(name, "virtual-root")) 160 else if (!strcmp(name, "virtual-root"))
158 cgit_virtual_root = trim_end(value, '/'); 161 cgit_virtual_root = trim_end(value, '/');
159 else if (!strcmp(name, "nocache")) 162 else if (!strcmp(name, "nocache"))
160 cgit_nocache = atoi(value); 163 cgit_nocache = atoi(value);
161 else if (!strcmp(name, "snapshots")) 164 else if (!strcmp(name, "snapshots"))
162 cgit_snapshots = cgit_parse_snapshots_mask(value); 165 cgit_snapshots = cgit_parse_snapshots_mask(value);
163 else if (!strcmp(name, "enable-index-links")) 166 else if (!strcmp(name, "enable-index-links"))
164 cgit_enable_index_links = atoi(value); 167 cgit_enable_index_links = atoi(value);
165 else if (!strcmp(name, "enable-log-filecount")) 168 else if (!strcmp(name, "enable-log-filecount"))
166 cgit_enable_log_filecount = atoi(value); 169 cgit_enable_log_filecount = atoi(value);
167 else if (!strcmp(name, "enable-log-linecount")) 170 else if (!strcmp(name, "enable-log-linecount"))
168 cgit_enable_log_linecount = atoi(value); 171 cgit_enable_log_linecount = atoi(value);
169 else if (!strcmp(name, "cache-root")) 172 else if (!strcmp(name, "cache-root"))
170 cgit_cache_root = xstrdup(value); 173 cgit_cache_root = xstrdup(value);
171 else if (!strcmp(name, "cache-root-ttl")) 174 else if (!strcmp(name, "cache-root-ttl"))
172 cgit_cache_root_ttl = atoi(value); 175 cgit_cache_root_ttl = atoi(value);
173 else if (!strcmp(name, "cache-repo-ttl")) 176 else if (!strcmp(name, "cache-repo-ttl"))
174 cgit_cache_repo_ttl = atoi(value); 177 cgit_cache_repo_ttl = atoi(value);
175 else if (!strcmp(name, "cache-static-ttl")) 178 else if (!strcmp(name, "cache-static-ttl"))
176 cgit_cache_static_ttl = atoi(value); 179 cgit_cache_static_ttl = atoi(value);
177 else if (!strcmp(name, "cache-dynamic-ttl")) 180 else if (!strcmp(name, "cache-dynamic-ttl"))
178 cgit_cache_dynamic_ttl = atoi(value); 181 cgit_cache_dynamic_ttl = atoi(value);
179 else if (!strcmp(name, "max-message-length")) 182 else if (!strcmp(name, "max-message-length"))
180 cgit_max_msg_len = atoi(value); 183 cgit_max_msg_len = atoi(value);
181 else if (!strcmp(name, "max-repodesc-length")) 184 else if (!strcmp(name, "max-repodesc-length"))
182 cgit_max_repodesc_len = atoi(value); 185 cgit_max_repodesc_len = atoi(value);
183 else if (!strcmp(name, "max-commit-count")) 186 else if (!strcmp(name, "max-commit-count"))
184 cgit_max_commit_count = atoi(value); 187 cgit_max_commit_count = atoi(value);