aboutsummaryrefslogtreecommitdiffstats
path: root/scan-tree.c
Commit message (Expand)AuthorAgeFilesLines
* White space around control verbs.•••Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Jason A. Donenfeld2013-03-041-1/+1
* Fix several whitespace errors•••* Remove whitespace at the end of lines. * Replace space indentation by tabs. * Add whitespace before/after several operators ("+", "-", "*", ...) * Add whitespace to assignments ("foo = bar;"). * Fix whitespace in parameter lists ("foobar(foo, bar, 42)"). Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> Lukas Fleischer2013-03-041-2/+2
* scan-tree: Unify gitweb.* and cgit.* settings into one config option.•••After some back and forth with Jamie and RenĂ©, it looks like the git config semantics are going to be like this: - gitweb.category maps to the cgit repo config key "section" - gitweb.description maps to the cgit repo config key "desc" - gitweb.owner maps to the cgit repo config key "owner" - cgit.* maps to all cgit repo config keys This option can be enabled with "enable-git-config=1", and replaces all previous "enable-gitweb-*" config keys. The order of operations is as follows: - git config settings are applied in the order that they exist in the git config file - if the owner is not set from git config, get the owner using the usual getpwuid call - if the description is not set from git config, look inside the static $path/description file - if section-from-path=1, override whatever previous settings were inside of git config using the section-from-path logic - parse $path/cgitrc for local repo.* settings, that override all previous settings Jason A. Donenfeld2012-10-171-29/+19
* Update copyright headers to have latest dates.Jason A. Donenfeld2012-07-121-1/+1
* scan-tree: Support gitweb.category.•••Use gitweb.category from git config to determine repo's section, if option is enabled. Jason A. Donenfeld2012-07-121-0/+6
* scan-tree: Support gitweb.description.•••Use gitweb.description instead of description file to determine description, if option is enabled. Jason A. Donenfeld2012-07-121-7/+17
* scan-tree.c: avoid memory leak•••No references are kept to the memory pointed to by the 'rel' variable, so it should be free()'d before returning from add_repo(). Signed-off-by: Jamie Couture <jamie.couture@gmail.com> Signed-off-by: Lars Hjemli <larsh@hjemli.net> Jamie Couture2011-06-061-0/+2
* Fix crash when projectsfile cannot be opened•••This patch makes cgit properly abort in case the projectsfile cannot be opened. Without the added return cgit continues using the projects pointer which is NULL and thus causes a segfault. Stefan Gehn2011-03-261-0/+1
* scan_path(): Do not recurse into hidden directories by default•••Paths that start with a period ('.') are considered hidden in the Unix world. scan_path() should arguably not recurse into these directories by default. This patch makes it so, and introduces the "scan-hidden-path" config variable for overriding the new default and revert to the old behaviour (scanning _all_ directories, including hidden .directories). Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <larsh@prediktor.no> Johan Herland2011-02-191-0/+2
* scan_path(): Improve handling of inaccessible directories•••When scanning a tree containing inaccessible directories (e.g. '.ssh' directories in users' homedirs, or repos with explicitly restricted access), scan_path() currently causes three lines of "Permissions denied" errors to be printed to the CGI error log per inaccessible directory: Error checking path /home/foo/.ssh: Permission denied (13) Error checking path /home/foo/.ssh/.git: Permission denied (13) Error opening directory /home/foo/.ssh: Permission denied (13) This is a side-effect of calling is_git_dir(path) and is_git_dir(fmt("%s/.git", path) _before_ we try to opendir(path). By placing the opendir(path) before the two is_git_dir() calls, we reduce the noise to a single line per inaccessible directory: Error opening directory /home/foo/.ssh: Permission denied (13) Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <larsh@prediktor.no> Johan Herland2010-11-161-9/+9
* Add `strict-export` option•••This option is used to specify a filename which needs to be present in the repositories found during `scan-path` processing. By setting this option to 'git-daemon-export-ok', only repositories explicitly marked for git daemon export will be included in the cgit configuration. Signed-off-by: Felix Hanley <felix@seconddrawer.com.au> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Felix Hanley2010-11-081-0/+4
* Merge branch 'lh/section-from-path'•••Conflicts: scan-tree.c Lars Hjemli2010-09-191-6/+36
|\
| * Add support for 'section-from-path' option•••This option can be used to autogenerate section names during scan-path processing. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2010-08-221-6/+36
* | Add support for "readme" option•••The value of this option is used as the default value for repo.readme. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2010-08-221-3/+5
|/
* Add support for 'enable-gitweb-owner' option•••When this option is enabled (which it is by default), cgit will lookup the 'gitweb.owner' setting in each git config file found when processing the 'scan-path' option. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Jason A. Donenfeld2010-08-041-9/+24
* Add support for 'remove-suffix' option•••When this option is enabled, the '.git' suffix of repository directories found while processing the 'scan-path' option will be removed. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Jason A. Donenfeld2010-08-041-0/+3
* Add support for 'project-list' option•••This option specifies the location of a projectlist file as used by gitweb - when 'scan-tree' is later specified, only the projects listed in the projectlist file will be added. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Jason A. Donenfeld2010-08-041-0/+37
* scan-tree: add test for noweb-file in repo dir•••If such a file exists, the repo is not added to the repolist. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2010-02-281-0/+2
* Add support for repo-local cgitrc file•••When recursively scanning a directory tree looking for git repositories, cgit will now parse cgitrc files found within such repositories. The repo-specific config files can include any repo-specific options except 'repo.url' and 'repo.path'. Also, in such config files the 'repo.' prefix can not be used, i.e. the valid options then becomes: * name * clone-url * desc * ower * defbranch * snapshots * enable-log-filecount * enable-log-linecount * max-stats * module-link * section * about-filter * commit-filter * source-filter * readme Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-8/+22
* scan-tree: detect non-bare repository and stop scanning early•••We don't want to descend into every subdirectory of a git repository with a workdir. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-0/+4
* scan-tree: split the pw_gecos field at the ',' to get the real name•••Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Stefan Naewe2009-08-201-0/+3
* Add and use a common readfile() function•••This function is used to read the full content of a textfile into a newly allocated buffer (with zerotermination). It replaces the earlier readfile() in scan-tree.c (which was rather error-prone[1]), and is reused by read_agefile() in ui-repolist.c. 1: No checks for EINTR and EAGAIN, fixed-size buffer Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-181-14/+2
* truncate buffer before reading empty files•••If readfile() reads an empty file, fgets() won't truncate the buffer and it'll still contain the contents of the previously read file. [lh: fixed similar issue in ui-repolist.c] Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Simon Arlott2009-08-181-0/+1
* Add support for --scan-tree=<path> option to cgit•••This option makes cgit scan a directory tree looking for git repositories, generating suitable definitions for a cgitrc file on stdout. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-09-151-0/+136