-rw-r--r-- | cgit.c | 2 | ||||
-rw-r--r-- | cgitrc.5.txt | 2 |
2 files changed, 2 insertions, 2 deletions
@@ -135,193 +135,193 @@ void config_cb(const char *name, const char *value) | |||
135 | else if (!prefixcmp(name, "mimetype.")) | 135 | else if (!prefixcmp(name, "mimetype.")) |
136 | add_mimetype(name + 9, value); | 136 | add_mimetype(name + 9, value); |
137 | else if (!strcmp(name, "repo.group")) | 137 | else if (!strcmp(name, "repo.group")) |
138 | ctx.cfg.repo_group = xstrdup(value); | 138 | ctx.cfg.repo_group = xstrdup(value); |
139 | else if (!strcmp(name, "repo.url")) | 139 | else if (!strcmp(name, "repo.url")) |
140 | ctx.repo = cgit_add_repo(value); | 140 | ctx.repo = cgit_add_repo(value); |
141 | else if (!strcmp(name, "repo.name")) | 141 | else if (!strcmp(name, "repo.name")) |
142 | ctx.repo->name = xstrdup(value); | 142 | ctx.repo->name = xstrdup(value); |
143 | else if (ctx.repo && !strcmp(name, "repo.path")) | 143 | else if (ctx.repo && !strcmp(name, "repo.path")) |
144 | ctx.repo->path = trim_end(value, '/'); | 144 | ctx.repo->path = trim_end(value, '/'); |
145 | else if (ctx.repo && !strcmp(name, "repo.clone-url")) | 145 | else if (ctx.repo && !strcmp(name, "repo.clone-url")) |
146 | ctx.repo->clone_url = xstrdup(value); | 146 | ctx.repo->clone_url = xstrdup(value); |
147 | else if (ctx.repo && !strcmp(name, "repo.desc")) | 147 | else if (ctx.repo && !strcmp(name, "repo.desc")) |
148 | ctx.repo->desc = xstrdup(value); | 148 | ctx.repo->desc = xstrdup(value); |
149 | else if (ctx.repo && !strcmp(name, "repo.owner")) | 149 | else if (ctx.repo && !strcmp(name, "repo.owner")) |
150 | ctx.repo->owner = xstrdup(value); | 150 | ctx.repo->owner = xstrdup(value); |
151 | else if (ctx.repo && !strcmp(name, "repo.defbranch")) | 151 | else if (ctx.repo && !strcmp(name, "repo.defbranch")) |
152 | ctx.repo->defbranch = xstrdup(value); | 152 | ctx.repo->defbranch = xstrdup(value); |
153 | else if (ctx.repo && !strcmp(name, "repo.snapshots")) | 153 | else if (ctx.repo && !strcmp(name, "repo.snapshots")) |
154 | ctx.repo->snapshots = ctx.cfg.snapshots & cgit_parse_snapshots_mask(value); /* XXX: &? */ | 154 | ctx.repo->snapshots = ctx.cfg.snapshots & cgit_parse_snapshots_mask(value); /* XXX: &? */ |
155 | else if (ctx.repo && !strcmp(name, "repo.enable-log-filecount")) | 155 | else if (ctx.repo && !strcmp(name, "repo.enable-log-filecount")) |
156 | ctx.repo->enable_log_filecount = ctx.cfg.enable_log_filecount * atoi(value); | 156 | ctx.repo->enable_log_filecount = ctx.cfg.enable_log_filecount * atoi(value); |
157 | else if (ctx.repo && !strcmp(name, "repo.enable-log-linecount")) | 157 | else if (ctx.repo && !strcmp(name, "repo.enable-log-linecount")) |
158 | ctx.repo->enable_log_linecount = ctx.cfg.enable_log_linecount * atoi(value); | 158 | ctx.repo->enable_log_linecount = ctx.cfg.enable_log_linecount * atoi(value); |
159 | else if (ctx.repo && !strcmp(name, "repo.max-stats")) | 159 | else if (ctx.repo && !strcmp(name, "repo.max-stats")) |
160 | ctx.repo->max_stats = cgit_find_stats_period(value, NULL); | 160 | ctx.repo->max_stats = cgit_find_stats_period(value, NULL); |
161 | else if (ctx.repo && !strcmp(name, "repo.module-link")) | 161 | else if (ctx.repo && !strcmp(name, "repo.module-link")) |
162 | ctx.repo->module_link= xstrdup(value); | 162 | ctx.repo->module_link= xstrdup(value); |
163 | else if (ctx.repo && !strcmp(name, "repo.about-filter")) | 163 | else if (ctx.repo && !strcmp(name, "repo.about-filter")) |
164 | ctx.repo->about_filter = new_filter(value, 0); | 164 | ctx.repo->about_filter = new_filter(value, 0); |
165 | else if (ctx.repo && !strcmp(name, "repo.commit-filter")) | 165 | else if (ctx.repo && !strcmp(name, "repo.commit-filter")) |
166 | ctx.repo->commit_filter = new_filter(value, 0); | 166 | ctx.repo->commit_filter = new_filter(value, 0); |
167 | else if (ctx.repo && !strcmp(name, "repo.source-filter")) | 167 | else if (ctx.repo && !strcmp(name, "repo.source-filter")) |
168 | ctx.repo->source_filter = new_filter(value, 1); | 168 | ctx.repo->source_filter = new_filter(value, 1); |
169 | else if (ctx.repo && !strcmp(name, "repo.readme") && value != NULL) { | 169 | else if (ctx.repo && !strcmp(name, "repo.readme") && value != NULL) { |
170 | if (*value == '/') | 170 | if (*value == '/') |
171 | ctx.repo->readme = xstrdup(value); | 171 | ctx.repo->readme = xstrdup(value); |
172 | else | 172 | else |
173 | ctx.repo->readme = xstrdup(fmt("%s/%s", ctx.repo->path, value)); | 173 | ctx.repo->readme = xstrdup(fmt("%s/%s", ctx.repo->path, value)); |
174 | } else if (!strcmp(name, "include")) | 174 | } else if (!strcmp(name, "include")) |
175 | parse_configfile(value, config_cb); | 175 | parse_configfile(value, config_cb); |
176 | } | 176 | } |
177 | 177 | ||
178 | static void querystring_cb(const char *name, const char *value) | 178 | static void querystring_cb(const char *name, const char *value) |
179 | { | 179 | { |
180 | if (!strcmp(name,"r")) { | 180 | if (!strcmp(name,"r")) { |
181 | ctx.qry.repo = xstrdup(value); | 181 | ctx.qry.repo = xstrdup(value); |
182 | ctx.repo = cgit_get_repoinfo(value); | 182 | ctx.repo = cgit_get_repoinfo(value); |
183 | } else if (!strcmp(name, "p")) { | 183 | } else if (!strcmp(name, "p")) { |
184 | ctx.qry.page = xstrdup(value); | 184 | ctx.qry.page = xstrdup(value); |
185 | } else if (!strcmp(name, "url")) { | 185 | } else if (!strcmp(name, "url")) { |
186 | ctx.qry.url = xstrdup(value); | 186 | ctx.qry.url = xstrdup(value); |
187 | cgit_parse_url(value); | 187 | cgit_parse_url(value); |
188 | } else if (!strcmp(name, "qt")) { | 188 | } else if (!strcmp(name, "qt")) { |
189 | ctx.qry.grep = xstrdup(value); | 189 | ctx.qry.grep = xstrdup(value); |
190 | } else if (!strcmp(name, "q")) { | 190 | } else if (!strcmp(name, "q")) { |
191 | ctx.qry.search = xstrdup(value); | 191 | ctx.qry.search = xstrdup(value); |
192 | } else if (!strcmp(name, "h")) { | 192 | } else if (!strcmp(name, "h")) { |
193 | ctx.qry.head = xstrdup(value); | 193 | ctx.qry.head = xstrdup(value); |
194 | ctx.qry.has_symref = 1; | 194 | ctx.qry.has_symref = 1; |
195 | } else if (!strcmp(name, "id")) { | 195 | } else if (!strcmp(name, "id")) { |
196 | ctx.qry.sha1 = xstrdup(value); | 196 | ctx.qry.sha1 = xstrdup(value); |
197 | ctx.qry.has_sha1 = 1; | 197 | ctx.qry.has_sha1 = 1; |
198 | } else if (!strcmp(name, "id2")) { | 198 | } else if (!strcmp(name, "id2")) { |
199 | ctx.qry.sha2 = xstrdup(value); | 199 | ctx.qry.sha2 = xstrdup(value); |
200 | ctx.qry.has_sha1 = 1; | 200 | ctx.qry.has_sha1 = 1; |
201 | } else if (!strcmp(name, "ofs")) { | 201 | } else if (!strcmp(name, "ofs")) { |
202 | ctx.qry.ofs = atoi(value); | 202 | ctx.qry.ofs = atoi(value); |
203 | } else if (!strcmp(name, "path")) { | 203 | } else if (!strcmp(name, "path")) { |
204 | ctx.qry.path = trim_end(value, '/'); | 204 | ctx.qry.path = trim_end(value, '/'); |
205 | } else if (!strcmp(name, "name")) { | 205 | } else if (!strcmp(name, "name")) { |
206 | ctx.qry.name = xstrdup(value); | 206 | ctx.qry.name = xstrdup(value); |
207 | } else if (!strcmp(name, "mimetype")) { | 207 | } else if (!strcmp(name, "mimetype")) { |
208 | ctx.qry.mimetype = xstrdup(value); | 208 | ctx.qry.mimetype = xstrdup(value); |
209 | } else if (!strcmp(name, "s")){ | 209 | } else if (!strcmp(name, "s")){ |
210 | ctx.qry.sort = xstrdup(value); | 210 | ctx.qry.sort = xstrdup(value); |
211 | } else if (!strcmp(name, "showmsg")) { | 211 | } else if (!strcmp(name, "showmsg")) { |
212 | ctx.qry.showmsg = atoi(value); | 212 | ctx.qry.showmsg = atoi(value); |
213 | } else if (!strcmp(name, "period")) { | 213 | } else if (!strcmp(name, "period")) { |
214 | ctx.qry.period = xstrdup(value); | 214 | ctx.qry.period = xstrdup(value); |
215 | } | 215 | } |
216 | } | 216 | } |
217 | 217 | ||
218 | static void prepare_context(struct cgit_context *ctx) | 218 | static void prepare_context(struct cgit_context *ctx) |
219 | { | 219 | { |
220 | memset(ctx, 0, sizeof(ctx)); | 220 | memset(ctx, 0, sizeof(ctx)); |
221 | ctx->cfg.agefile = "info/web/last-modified"; | 221 | ctx->cfg.agefile = "info/web/last-modified"; |
222 | ctx->cfg.nocache = 0; | 222 | ctx->cfg.nocache = 0; |
223 | ctx->cfg.cache_size = 0; | 223 | ctx->cfg.cache_size = 0; |
224 | ctx->cfg.cache_dynamic_ttl = 5; | 224 | ctx->cfg.cache_dynamic_ttl = 5; |
225 | ctx->cfg.cache_max_create_time = 5; | 225 | ctx->cfg.cache_max_create_time = 5; |
226 | ctx->cfg.cache_repo_ttl = 5; | 226 | ctx->cfg.cache_repo_ttl = 5; |
227 | ctx->cfg.cache_root = CGIT_CACHE_ROOT; | 227 | ctx->cfg.cache_root = CGIT_CACHE_ROOT; |
228 | ctx->cfg.cache_root_ttl = 5; | 228 | ctx->cfg.cache_root_ttl = 5; |
229 | ctx->cfg.cache_static_ttl = -1; | 229 | ctx->cfg.cache_static_ttl = -1; |
230 | ctx->cfg.css = "/cgit.css"; | 230 | ctx->cfg.css = "/cgit.css"; |
231 | ctx->cfg.logo = "/git-logo.png"; | 231 | ctx->cfg.logo = "/cgit.png"; |
232 | ctx->cfg.local_time = 0; | 232 | ctx->cfg.local_time = 0; |
233 | ctx->cfg.max_repo_count = 50; | 233 | ctx->cfg.max_repo_count = 50; |
234 | ctx->cfg.max_commit_count = 50; | 234 | ctx->cfg.max_commit_count = 50; |
235 | ctx->cfg.max_lock_attempts = 5; | 235 | ctx->cfg.max_lock_attempts = 5; |
236 | ctx->cfg.max_msg_len = 80; | 236 | ctx->cfg.max_msg_len = 80; |
237 | ctx->cfg.max_repodesc_len = 80; | 237 | ctx->cfg.max_repodesc_len = 80; |
238 | ctx->cfg.max_stats = 0; | 238 | ctx->cfg.max_stats = 0; |
239 | ctx->cfg.module_link = "./?repo=%s&page=commit&id=%s"; | 239 | ctx->cfg.module_link = "./?repo=%s&page=commit&id=%s"; |
240 | ctx->cfg.renamelimit = -1; | 240 | ctx->cfg.renamelimit = -1; |
241 | ctx->cfg.robots = "index, nofollow"; | 241 | ctx->cfg.robots = "index, nofollow"; |
242 | ctx->cfg.root_title = "Git repository browser"; | 242 | ctx->cfg.root_title = "Git repository browser"; |
243 | ctx->cfg.root_desc = "a fast webinterface for the git dscm"; | 243 | ctx->cfg.root_desc = "a fast webinterface for the git dscm"; |
244 | ctx->cfg.script_name = CGIT_SCRIPT_NAME; | 244 | ctx->cfg.script_name = CGIT_SCRIPT_NAME; |
245 | ctx->cfg.summary_branches = 10; | 245 | ctx->cfg.summary_branches = 10; |
246 | ctx->cfg.summary_log = 10; | 246 | ctx->cfg.summary_log = 10; |
247 | ctx->cfg.summary_tags = 10; | 247 | ctx->cfg.summary_tags = 10; |
248 | ctx->page.mimetype = "text/html"; | 248 | ctx->page.mimetype = "text/html"; |
249 | ctx->page.charset = PAGE_ENCODING; | 249 | ctx->page.charset = PAGE_ENCODING; |
250 | ctx->page.filename = NULL; | 250 | ctx->page.filename = NULL; |
251 | ctx->page.size = 0; | 251 | ctx->page.size = 0; |
252 | ctx->page.modified = time(NULL); | 252 | ctx->page.modified = time(NULL); |
253 | ctx->page.expires = ctx->page.modified; | 253 | ctx->page.expires = ctx->page.modified; |
254 | ctx->page.etag = NULL; | 254 | ctx->page.etag = NULL; |
255 | memset(&ctx->cfg.mimetypes, 0, sizeof(struct string_list)); | 255 | memset(&ctx->cfg.mimetypes, 0, sizeof(struct string_list)); |
256 | } | 256 | } |
257 | 257 | ||
258 | struct refmatch { | 258 | struct refmatch { |
259 | char *req_ref; | 259 | char *req_ref; |
260 | char *first_ref; | 260 | char *first_ref; |
261 | int match; | 261 | int match; |
262 | }; | 262 | }; |
263 | 263 | ||
264 | int find_current_ref(const char *refname, const unsigned char *sha1, | 264 | int find_current_ref(const char *refname, const unsigned char *sha1, |
265 | int flags, void *cb_data) | 265 | int flags, void *cb_data) |
266 | { | 266 | { |
267 | struct refmatch *info; | 267 | struct refmatch *info; |
268 | 268 | ||
269 | info = (struct refmatch *)cb_data; | 269 | info = (struct refmatch *)cb_data; |
270 | if (!strcmp(refname, info->req_ref)) | 270 | if (!strcmp(refname, info->req_ref)) |
271 | info->match = 1; | 271 | info->match = 1; |
272 | if (!info->first_ref) | 272 | if (!info->first_ref) |
273 | info->first_ref = xstrdup(refname); | 273 | info->first_ref = xstrdup(refname); |
274 | return info->match; | 274 | return info->match; |
275 | } | 275 | } |
276 | 276 | ||
277 | char *find_default_branch(struct cgit_repo *repo) | 277 | char *find_default_branch(struct cgit_repo *repo) |
278 | { | 278 | { |
279 | struct refmatch info; | 279 | struct refmatch info; |
280 | char *ref; | 280 | char *ref; |
281 | 281 | ||
282 | info.req_ref = repo->defbranch; | 282 | info.req_ref = repo->defbranch; |
283 | info.first_ref = NULL; | 283 | info.first_ref = NULL; |
284 | info.match = 0; | 284 | info.match = 0; |
285 | for_each_branch_ref(find_current_ref, &info); | 285 | for_each_branch_ref(find_current_ref, &info); |
286 | if (info.match) | 286 | if (info.match) |
287 | ref = info.req_ref; | 287 | ref = info.req_ref; |
288 | else | 288 | else |
289 | ref = info.first_ref; | 289 | ref = info.first_ref; |
290 | if (ref) | 290 | if (ref) |
291 | ref = xstrdup(ref); | 291 | ref = xstrdup(ref); |
292 | return ref; | 292 | return ref; |
293 | } | 293 | } |
294 | 294 | ||
295 | static int prepare_repo_cmd(struct cgit_context *ctx) | 295 | static int prepare_repo_cmd(struct cgit_context *ctx) |
296 | { | 296 | { |
297 | char *tmp; | 297 | char *tmp; |
298 | unsigned char sha1[20]; | 298 | unsigned char sha1[20]; |
299 | int nongit = 0; | 299 | int nongit = 0; |
300 | 300 | ||
301 | setenv("GIT_DIR", ctx->repo->path, 1); | 301 | setenv("GIT_DIR", ctx->repo->path, 1); |
302 | setup_git_directory_gently(&nongit); | 302 | setup_git_directory_gently(&nongit); |
303 | if (nongit) { | 303 | if (nongit) { |
304 | ctx->page.title = fmt("%s - %s", ctx->cfg.root_title, | 304 | ctx->page.title = fmt("%s - %s", ctx->cfg.root_title, |
305 | "config error"); | 305 | "config error"); |
306 | tmp = fmt("Not a git repository: '%s'", ctx->repo->path); | 306 | tmp = fmt("Not a git repository: '%s'", ctx->repo->path); |
307 | ctx->repo = NULL; | 307 | ctx->repo = NULL; |
308 | cgit_print_http_headers(ctx); | 308 | cgit_print_http_headers(ctx); |
309 | cgit_print_docstart(ctx); | 309 | cgit_print_docstart(ctx); |
310 | cgit_print_pageheader(ctx); | 310 | cgit_print_pageheader(ctx); |
311 | cgit_print_error(tmp); | 311 | cgit_print_error(tmp); |
312 | cgit_print_docend(); | 312 | cgit_print_docend(); |
313 | return 1; | 313 | return 1; |
314 | } | 314 | } |
315 | ctx->page.title = fmt("%s - %s", ctx->repo->name, ctx->repo->desc); | 315 | ctx->page.title = fmt("%s - %s", ctx->repo->name, ctx->repo->desc); |
316 | 316 | ||
317 | if (!ctx->qry.head) { | 317 | if (!ctx->qry.head) { |
318 | ctx->qry.nohead = 1; | 318 | ctx->qry.nohead = 1; |
319 | ctx->qry.head = find_default_branch(ctx->repo); | 319 | ctx->qry.head = find_default_branch(ctx->repo); |
320 | ctx->repo->defbranch = ctx->qry.head; | 320 | ctx->repo->defbranch = ctx->qry.head; |
321 | } | 321 | } |
322 | 322 | ||
323 | if (!ctx->qry.head) { | 323 | if (!ctx->qry.head) { |
324 | cgit_print_http_headers(ctx); | 324 | cgit_print_http_headers(ctx); |
325 | cgit_print_docstart(ctx); | 325 | cgit_print_docstart(ctx); |
326 | cgit_print_pageheader(ctx); | 326 | cgit_print_pageheader(ctx); |
327 | cgit_print_error("Repository seems to be empty"); | 327 | cgit_print_error("Repository seems to be empty"); |
diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 4d656fe..54490eb 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt | |||
@@ -39,193 +39,193 @@ cache-dynamic-ttl:: | |||
39 | version of repository pages accessed without a fixed SHA1. Default | 39 | version of repository pages accessed without a fixed SHA1. Default |
40 | value: "5". | 40 | value: "5". |
41 | 41 | ||
42 | cache-repo-ttl:: | 42 | cache-repo-ttl:: |
43 | Number which specifies the time-to-live, in minutes, for the cached | 43 | Number which specifies the time-to-live, in minutes, for the cached |
44 | version of the repository summary page. Default value: "5". | 44 | version of the repository summary page. Default value: "5". |
45 | 45 | ||
46 | cache-root-ttl:: | 46 | cache-root-ttl:: |
47 | Number which specifies the time-to-live, in minutes, for the cached | 47 | Number which specifies the time-to-live, in minutes, for the cached |
48 | version of the repository index page. Default value: "5". | 48 | version of the repository index page. Default value: "5". |
49 | 49 | ||
50 | cache-size:: | 50 | cache-size:: |
51 | The maximum number of entries in the cgit cache. Default value: "0" | 51 | The maximum number of entries in the cgit cache. Default value: "0" |
52 | (i.e. caching is disabled). | 52 | (i.e. caching is disabled). |
53 | 53 | ||
54 | cache-static-ttl:: | 54 | cache-static-ttl:: |
55 | Number which specifies the time-to-live, in minutes, for the cached | 55 | Number which specifies the time-to-live, in minutes, for the cached |
56 | version of repository pages accessed with a fixed SHA1. Default value: | 56 | version of repository pages accessed with a fixed SHA1. Default value: |
57 | "5". | 57 | "5". |
58 | 58 | ||
59 | clone-prefix:: | 59 | clone-prefix:: |
60 | Space-separated list of common prefixes which, when combined with a | 60 | Space-separated list of common prefixes which, when combined with a |
61 | repository url, generates valid clone urls for the repository. This | 61 | repository url, generates valid clone urls for the repository. This |
62 | setting is only used if `repo.clone-url` is unspecified. Default value: | 62 | setting is only used if `repo.clone-url` is unspecified. Default value: |
63 | none. | 63 | none. |
64 | 64 | ||
65 | commit-filter:: | 65 | commit-filter:: |
66 | Specifies a command which will be invoked to format commit messages. | 66 | Specifies a command which will be invoked to format commit messages. |
67 | The command will get the message on its STDIN, and the STDOUT from the | 67 | The command will get the message on its STDIN, and the STDOUT from the |
68 | command will be included verbatim as the commit message, i.e. this can | 68 | command will be included verbatim as the commit message, i.e. this can |
69 | be used to implement bugtracker integration. Default value: none. | 69 | be used to implement bugtracker integration. Default value: none. |
70 | 70 | ||
71 | css:: | 71 | css:: |
72 | Url which specifies the css document to include in all cgit pages. | 72 | Url which specifies the css document to include in all cgit pages. |
73 | Default value: "/cgit.css". | 73 | Default value: "/cgit.css". |
74 | 74 | ||
75 | embedded:: | 75 | embedded:: |
76 | Flag which, when set to "1", will make cgit generate a html fragment | 76 | Flag which, when set to "1", will make cgit generate a html fragment |
77 | suitable for embedding in other html pages. Default value: none. See | 77 | suitable for embedding in other html pages. Default value: none. See |
78 | also: "noheader". | 78 | also: "noheader". |
79 | 79 | ||
80 | enable-index-links:: | 80 | enable-index-links:: |
81 | Flag which, when set to "1", will make cgit generate extra links for | 81 | Flag which, when set to "1", will make cgit generate extra links for |
82 | each repo in the repository index (specifically, to the "summary", | 82 | each repo in the repository index (specifically, to the "summary", |
83 | "commit" and "tree" pages). Default value: "0". | 83 | "commit" and "tree" pages). Default value: "0". |
84 | 84 | ||
85 | enable-log-filecount:: | 85 | enable-log-filecount:: |
86 | Flag which, when set to "1", will make cgit print the number of | 86 | Flag which, when set to "1", will make cgit print the number of |
87 | modified files for each commit on the repository log page. Default | 87 | modified files for each commit on the repository log page. Default |
88 | value: "0". | 88 | value: "0". |
89 | 89 | ||
90 | enable-log-linecount:: | 90 | enable-log-linecount:: |
91 | Flag which, when set to "1", will make cgit print the number of added | 91 | Flag which, when set to "1", will make cgit print the number of added |
92 | and removed lines for each commit on the repository log page. Default | 92 | and removed lines for each commit on the repository log page. Default |
93 | value: "0". | 93 | value: "0". |
94 | 94 | ||
95 | favicon:: | 95 | favicon:: |
96 | Url used as link to a shortcut icon for cgit. If specified, it is | 96 | Url used as link to a shortcut icon for cgit. If specified, it is |
97 | suggested to use the value "/favicon.ico" since certain browsers will | 97 | suggested to use the value "/favicon.ico" since certain browsers will |
98 | ignore other values. Default value: none. | 98 | ignore other values. Default value: none. |
99 | 99 | ||
100 | footer:: | 100 | footer:: |
101 | The content of the file specified with this option will be included | 101 | The content of the file specified with this option will be included |
102 | verbatim at the bottom of all pages (i.e. it replaces the standard | 102 | verbatim at the bottom of all pages (i.e. it replaces the standard |
103 | "generated by..." message. Default value: none. | 103 | "generated by..." message. Default value: none. |
104 | 104 | ||
105 | head-include:: | 105 | head-include:: |
106 | The content of the file specified with this option will be included | 106 | The content of the file specified with this option will be included |
107 | verbatim in the html HEAD section on all pages. Default value: none. | 107 | verbatim in the html HEAD section on all pages. Default value: none. |
108 | 108 | ||
109 | header:: | 109 | header:: |
110 | The content of the file specified with this option will be included | 110 | The content of the file specified with this option will be included |
111 | verbatim at the top of all pages. Default value: none. | 111 | verbatim at the top of all pages. Default value: none. |
112 | 112 | ||
113 | include:: | 113 | include:: |
114 | Name of a configfile to include before the rest of the current config- | 114 | Name of a configfile to include before the rest of the current config- |
115 | file is parsed. Default value: none. | 115 | file is parsed. Default value: none. |
116 | 116 | ||
117 | index-header:: | 117 | index-header:: |
118 | The content of the file specified with this option will be included | 118 | The content of the file specified with this option will be included |
119 | verbatim above the repository index. This setting is deprecated, and | 119 | verbatim above the repository index. This setting is deprecated, and |
120 | will not be supported by cgit-1.0 (use root-readme instead). Default | 120 | will not be supported by cgit-1.0 (use root-readme instead). Default |
121 | value: none. | 121 | value: none. |
122 | 122 | ||
123 | index-info:: | 123 | index-info:: |
124 | The content of the file specified with this option will be included | 124 | The content of the file specified with this option will be included |
125 | verbatim below the heading on the repository index page. This setting | 125 | verbatim below the heading on the repository index page. This setting |
126 | is deprecated, and will not be supported by cgit-1.0 (use root-desc | 126 | is deprecated, and will not be supported by cgit-1.0 (use root-desc |
127 | instead). Default value: none. | 127 | instead). Default value: none. |
128 | 128 | ||
129 | local-time:: | 129 | local-time:: |
130 | Flag which, if set to "1", makes cgit print commit and tag times in the | 130 | Flag which, if set to "1", makes cgit print commit and tag times in the |
131 | servers timezone. Default value: "0". | 131 | servers timezone. Default value: "0". |
132 | 132 | ||
133 | logo:: | 133 | logo:: |
134 | Url which specifies the source of an image which will be used as a logo | 134 | Url which specifies the source of an image which will be used as a logo |
135 | on all cgit pages. | 135 | on all cgit pages. Default value: "/cgit.png". |
136 | 136 | ||
137 | logo-link:: | 137 | logo-link:: |
138 | Url loaded when clicking on the cgit logo image. If unspecified the | 138 | Url loaded when clicking on the cgit logo image. If unspecified the |
139 | calculated url of the repository index page will be used. Default | 139 | calculated url of the repository index page will be used. Default |
140 | value: none. | 140 | value: none. |
141 | 141 | ||
142 | max-commit-count:: | 142 | max-commit-count:: |
143 | Specifies the number of entries to list per page in "log" view. Default | 143 | Specifies the number of entries to list per page in "log" view. Default |
144 | value: "50". | 144 | value: "50". |
145 | 145 | ||
146 | max-message-length:: | 146 | max-message-length:: |
147 | Specifies the maximum number of commit message characters to display in | 147 | Specifies the maximum number of commit message characters to display in |
148 | "log" view. Default value: "80". | 148 | "log" view. Default value: "80". |
149 | 149 | ||
150 | max-repo-count:: | 150 | max-repo-count:: |
151 | Specifies the number of entries to list per page on therepository | 151 | Specifies the number of entries to list per page on therepository |
152 | index page. Default value: "50". | 152 | index page. Default value: "50". |
153 | 153 | ||
154 | max-repodesc-length:: | 154 | max-repodesc-length:: |
155 | Specifies the maximum number of repo description characters to display | 155 | Specifies the maximum number of repo description characters to display |
156 | on the repository index page. Default value: "80". | 156 | on the repository index page. Default value: "80". |
157 | 157 | ||
158 | max-stats:: | 158 | max-stats:: |
159 | Set the default maximum statistics period. Valid values are "week", | 159 | Set the default maximum statistics period. Valid values are "week", |
160 | "month", "quarter" and "year". If unspecified, statistics are | 160 | "month", "quarter" and "year". If unspecified, statistics are |
161 | disabled. Default value: none. See also: "repo.max-stats". | 161 | disabled. Default value: none. See also: "repo.max-stats". |
162 | 162 | ||
163 | mimetype.<ext>:: | 163 | mimetype.<ext>:: |
164 | Set the mimetype for the specified filename extension. This is used | 164 | Set the mimetype for the specified filename extension. This is used |
165 | by the `plain` command when returning blob content. | 165 | by the `plain` command when returning blob content. |
166 | 166 | ||
167 | module-link:: | 167 | module-link:: |
168 | Text which will be used as the formatstring for a hyperlink when a | 168 | Text which will be used as the formatstring for a hyperlink when a |
169 | submodule is printed in a directory listing. The arguments for the | 169 | submodule is printed in a directory listing. The arguments for the |
170 | formatstring are the path and SHA1 of the submodule commit. Default | 170 | formatstring are the path and SHA1 of the submodule commit. Default |
171 | value: "./?repo=%s&page=commit&id=%s" | 171 | value: "./?repo=%s&page=commit&id=%s" |
172 | 172 | ||
173 | nocache:: | 173 | nocache:: |
174 | If set to the value "1" caching will be disabled. This settings is | 174 | If set to the value "1" caching will be disabled. This settings is |
175 | deprecated, and will not be honored starting with cgit-1.0. Default | 175 | deprecated, and will not be honored starting with cgit-1.0. Default |
176 | value: "0". | 176 | value: "0". |
177 | 177 | ||
178 | noplainemail:: | 178 | noplainemail:: |
179 | If set to "1" showing full author email adresses will be disabled. | 179 | If set to "1" showing full author email adresses will be disabled. |
180 | Default value: "0". | 180 | Default value: "0". |
181 | 181 | ||
182 | noheader:: | 182 | noheader:: |
183 | Flag which, when set to "1", will make cgit omit the standard header | 183 | Flag which, when set to "1", will make cgit omit the standard header |
184 | on all pages. Default value: none. See also: "embedded". | 184 | on all pages. Default value: none. See also: "embedded". |
185 | 185 | ||
186 | renamelimit:: | 186 | renamelimit:: |
187 | Maximum number of files to consider when detecting renames. The value | 187 | Maximum number of files to consider when detecting renames. The value |
188 | "-1" uses the compiletime value in git (for further info, look at | 188 | "-1" uses the compiletime value in git (for further info, look at |
189 | `man git-diff`). Default value: "-1". | 189 | `man git-diff`). Default value: "-1". |
190 | 190 | ||
191 | repo.group:: | 191 | repo.group:: |
192 | A value for the current repository group, which all repositories | 192 | A value for the current repository group, which all repositories |
193 | specified after this setting will inherit. Default value: none. | 193 | specified after this setting will inherit. Default value: none. |
194 | 194 | ||
195 | robots:: | 195 | robots:: |
196 | Text used as content for the "robots" meta-tag. Default value: | 196 | Text used as content for the "robots" meta-tag. Default value: |
197 | "index, nofollow". | 197 | "index, nofollow". |
198 | 198 | ||
199 | root-desc:: | 199 | root-desc:: |
200 | Text printed below the heading on the repository index page. Default | 200 | Text printed below the heading on the repository index page. Default |
201 | value: "a fast webinterface for the git dscm". | 201 | value: "a fast webinterface for the git dscm". |
202 | 202 | ||
203 | root-readme:: | 203 | root-readme:: |
204 | The content of the file specified with this option will be included | 204 | The content of the file specified with this option will be included |
205 | verbatim below the "about" link on the repository index page. Default | 205 | verbatim below the "about" link on the repository index page. Default |
206 | value: none. | 206 | value: none. |
207 | 207 | ||
208 | root-title:: | 208 | root-title:: |
209 | Text printed as heading on the repository index page. Default value: | 209 | Text printed as heading on the repository index page. Default value: |
210 | "Git Repository Browser". | 210 | "Git Repository Browser". |
211 | 211 | ||
212 | snapshots:: | 212 | snapshots:: |
213 | Text which specifies the default (and allowed) set of snapshot formats | 213 | Text which specifies the default (and allowed) set of snapshot formats |
214 | supported by cgit. The value is a space-separated list of zero or more | 214 | supported by cgit. The value is a space-separated list of zero or more |
215 | of the following values: | 215 | of the following values: |
216 | "tar" uncompressed tar-file | 216 | "tar" uncompressed tar-file |
217 | "tar.gz"gzip-compressed tar-file | 217 | "tar.gz"gzip-compressed tar-file |
218 | "tar.bz2"bzip-compressed tar-file | 218 | "tar.bz2"bzip-compressed tar-file |
219 | "zip" zip-file | 219 | "zip" zip-file |
220 | Default value: none. | 220 | Default value: none. |
221 | 221 | ||
222 | source-filter:: | 222 | source-filter:: |
223 | Specifies a command which will be invoked to format plaintext blobs | 223 | Specifies a command which will be invoked to format plaintext blobs |
224 | in the tree view. The command will get the blob content on its STDIN | 224 | in the tree view. The command will get the blob content on its STDIN |
225 | and the name of the blob as its only command line argument. The STDOUT | 225 | and the name of the blob as its only command line argument. The STDOUT |
226 | from the command will be included verbatim as the blob contents, i.e. | 226 | from the command will be included verbatim as the blob contents, i.e. |
227 | this can be used to implement e.g. syntax highlighting. Default value: | 227 | this can be used to implement e.g. syntax highlighting. Default value: |
228 | none. | 228 | none. |
229 | 229 | ||
230 | summary-branches:: | 230 | summary-branches:: |
231 | Specifies the number of branches to display in the repository "summary" | 231 | Specifies the number of branches to display in the repository "summary" |