summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2009-08-23 21:00:28 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2009-08-24 08:22:58 (UTC)
commit39398545787179bc8075d64a443f9da3845c4f67 (patch) (unidiff)
treef8710ddde4d91a633d97d9c88c9d21b0abbb8fcf
parente7af002d5c405c82652f739d08ced3908d1f57e7 (diff)
downloadcgit-39398545787179bc8075d64a443f9da3845c4f67.zip
cgit-39398545787179bc8075d64a443f9da3845c4f67.tar.gz
cgit-39398545787179bc8075d64a443f9da3845c4f67.tar.bz2
Add config option 'repo.section'
This option can be used to specify the section name for the current repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c2
-rw-r--r--cgitrc.5.txt3
2 files changed, 5 insertions, 0 deletions
diff --git a/cgit.c b/cgit.c
index 013a0fe..7264b8e 100644
--- a/cgit.c
+++ b/cgit.c
@@ -148,48 +148,50 @@ void config_cb(const char *name, const char *value)
148 else if (!strcmp(name, "repo.url")) 148 else if (!strcmp(name, "repo.url"))
149 ctx.repo = cgit_add_repo(value); 149 ctx.repo = cgit_add_repo(value);
150 else if (!strcmp(name, "repo.name")) 150 else if (!strcmp(name, "repo.name"))
151 ctx.repo->name = xstrdup(value); 151 ctx.repo->name = xstrdup(value);
152 else if (ctx.repo && !strcmp(name, "repo.path")) 152 else if (ctx.repo && !strcmp(name, "repo.path"))
153 ctx.repo->path = trim_end(value, '/'); 153 ctx.repo->path = trim_end(value, '/');
154 else if (ctx.repo && !strcmp(name, "repo.clone-url")) 154 else if (ctx.repo && !strcmp(name, "repo.clone-url"))
155 ctx.repo->clone_url = xstrdup(value); 155 ctx.repo->clone_url = xstrdup(value);
156 else if (ctx.repo && !strcmp(name, "repo.desc")) 156 else if (ctx.repo && !strcmp(name, "repo.desc"))
157 ctx.repo->desc = xstrdup(value); 157 ctx.repo->desc = xstrdup(value);
158 else if (ctx.repo && !strcmp(name, "repo.owner")) 158 else if (ctx.repo && !strcmp(name, "repo.owner"))
159 ctx.repo->owner = xstrdup(value); 159 ctx.repo->owner = xstrdup(value);
160 else if (ctx.repo && !strcmp(name, "repo.defbranch")) 160 else if (ctx.repo && !strcmp(name, "repo.defbranch"))
161 ctx.repo->defbranch = xstrdup(value); 161 ctx.repo->defbranch = xstrdup(value);
162 else if (ctx.repo && !strcmp(name, "repo.snapshots")) 162 else if (ctx.repo && !strcmp(name, "repo.snapshots"))
163 ctx.repo->snapshots = ctx.cfg.snapshots & cgit_parse_snapshots_mask(value); /* XXX: &? */ 163 ctx.repo->snapshots = ctx.cfg.snapshots & cgit_parse_snapshots_mask(value); /* XXX: &? */
164 else if (ctx.repo && !strcmp(name, "repo.enable-log-filecount")) 164 else if (ctx.repo && !strcmp(name, "repo.enable-log-filecount"))
165 ctx.repo->enable_log_filecount = ctx.cfg.enable_log_filecount * atoi(value); 165 ctx.repo->enable_log_filecount = ctx.cfg.enable_log_filecount * atoi(value);
166 else if (ctx.repo && !strcmp(name, "repo.enable-log-linecount")) 166 else if (ctx.repo && !strcmp(name, "repo.enable-log-linecount"))
167 ctx.repo->enable_log_linecount = ctx.cfg.enable_log_linecount * atoi(value); 167 ctx.repo->enable_log_linecount = ctx.cfg.enable_log_linecount * atoi(value);
168 else if (ctx.repo && !strcmp(name, "repo.max-stats")) 168 else if (ctx.repo && !strcmp(name, "repo.max-stats"))
169 ctx.repo->max_stats = cgit_find_stats_period(value, NULL); 169 ctx.repo->max_stats = cgit_find_stats_period(value, NULL);
170 else if (ctx.repo && !strcmp(name, "repo.module-link")) 170 else if (ctx.repo && !strcmp(name, "repo.module-link"))
171 ctx.repo->module_link= xstrdup(value); 171 ctx.repo->module_link= xstrdup(value);
172 else if (ctx.repo && !strcmp(name, "repo.section"))
173 ctx.repo->section = xstrdup(value);
172 else if (ctx.repo && !strcmp(name, "repo.about-filter")) 174 else if (ctx.repo && !strcmp(name, "repo.about-filter"))
173 ctx.repo->about_filter = new_filter(value, 0); 175 ctx.repo->about_filter = new_filter(value, 0);
174 else if (ctx.repo && !strcmp(name, "repo.commit-filter")) 176 else if (ctx.repo && !strcmp(name, "repo.commit-filter"))
175 ctx.repo->commit_filter = new_filter(value, 0); 177 ctx.repo->commit_filter = new_filter(value, 0);
176 else if (ctx.repo && !strcmp(name, "repo.source-filter")) 178 else if (ctx.repo && !strcmp(name, "repo.source-filter"))
177 ctx.repo->source_filter = new_filter(value, 1); 179 ctx.repo->source_filter = new_filter(value, 1);
178 else if (ctx.repo && !strcmp(name, "repo.readme") && value != NULL) { 180 else if (ctx.repo && !strcmp(name, "repo.readme") && value != NULL) {
179 if (*value == '/') 181 if (*value == '/')
180 ctx.repo->readme = xstrdup(value); 182 ctx.repo->readme = xstrdup(value);
181 else 183 else
182 ctx.repo->readme = xstrdup(fmt("%s/%s", ctx.repo->path, value)); 184 ctx.repo->readme = xstrdup(fmt("%s/%s", ctx.repo->path, value));
183 } else if (!strcmp(name, "include")) 185 } else if (!strcmp(name, "include"))
184 parse_configfile(value, config_cb); 186 parse_configfile(value, config_cb);
185} 187}
186 188
187static void querystring_cb(const char *name, const char *value) 189static void querystring_cb(const char *name, const char *value)
188{ 190{
189 if (!value) 191 if (!value)
190 value = ""; 192 value = "";
191 193
192 if (!strcmp(name,"r")) { 194 if (!strcmp(name,"r")) {
193 ctx.qry.repo = xstrdup(value); 195 ctx.qry.repo = xstrdup(value);
194 ctx.repo = cgit_get_repoinfo(value); 196 ctx.repo = cgit_get_repoinfo(value);
195 } else if (!strcmp(name, "p")) { 197 } else if (!strcmp(name, "p")) {
diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index 4d009f9..e99c9f7 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -294,48 +294,51 @@ repo.enable-log-linecount::
294repo.max-stats:: 294repo.max-stats::
295 Override the default maximum statistics period. Valid values are equal 295 Override the default maximum statistics period. Valid values are equal
296 to the values specified for the global "max-stats" setting. Default 296 to the values specified for the global "max-stats" setting. Default
297 value: none. 297 value: none.
298 298
299repo.name:: 299repo.name::
300 The value to show as repository name. Default value: <repo.url>. 300 The value to show as repository name. Default value: <repo.url>.
301 301
302repo.owner:: 302repo.owner::
303 A value used to identify the owner of the repository. Default value: 303 A value used to identify the owner of the repository. Default value:
304 none. 304 none.
305 305
306repo.path:: 306repo.path::
307 An absolute path to the repository directory. For non-bare repositories 307 An absolute path to the repository directory. For non-bare repositories
308 this is the .git-directory. Default value: none. 308 this is the .git-directory. Default value: none.
309 309
310repo.readme:: 310repo.readme::
311 A path (relative to <repo.path>) which specifies a file to include 311 A path (relative to <repo.path>) which specifies a file to include
312 verbatim as the "About" page for this repo. Default value: none. 312 verbatim as the "About" page for this repo. Default value: none.
313 313
314repo.snapshots:: 314repo.snapshots::
315 A mask of allowed snapshot-formats for this repo, restricted by the 315 A mask of allowed snapshot-formats for this repo, restricted by the
316 "snapshots" global setting. Default value: <snapshots>. 316 "snapshots" global setting. Default value: <snapshots>.
317 317
318repo.section::
319 Override the current section for this repository. Default value: none.
320
318repo.source-filter:: 321repo.source-filter::
319 Override the default source-filter. Default value: <source-filter>. 322 Override the default source-filter. Default value: <source-filter>.
320 323
321repo.url:: 324repo.url::
322 The relative url used to access the repository. This must be the first 325 The relative url used to access the repository. This must be the first
323 setting specified for each repo. Default value: none. 326 setting specified for each repo. Default value: none.
324 327
325 328
326EXAMPLE CGITRC FILE 329EXAMPLE CGITRC FILE
327------------------- 330-------------------
328 331
329.... 332....
330# Enable caching of up to 1000 output entriess 333# Enable caching of up to 1000 output entriess
331cache-size=1000 334cache-size=1000
332 335
333 336
334# Specify some default clone prefixes 337# Specify some default clone prefixes
335clone-prefix=git://foobar.com ssh://foobar.com/pub/git http://foobar.com/git 338clone-prefix=git://foobar.com ssh://foobar.com/pub/git http://foobar.com/git
336 339
337# Specify the css url 340# Specify the css url
338css=/css/cgit.css 341css=/css/cgit.css
339 342
340 343
341# Show extra links for each repository on the index page 344# Show extra links for each repository on the index page