aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Remove troublesome chars from cachefile namesGravatar Lars Hjemli2007-01-12-1/+18
| | | | | | | Add a funtion cache_safe_filename() which replaces possibly bad filename characters with '_'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move cache_prepare() to cgitGravatar Lars Hjemli2007-01-12-25/+23
| | | | | | This moves some cgit-specific stuff away from cache.c Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use long instead of int when converting from TTL to secondsGravatar Lars Hjemli2007-01-06-1/+1
| | | | | | Just to be really, really sure about embarrasing overflow settings Signed-off-by: Lars Hjemli <larsh@hal-2004.(none)>
* Use TTL-settings even in nocache modeGravatar Lars Hjemli2007-01-06-0/+1
| | | | | | | In nocace mode an uninitialized ttl-setting was used to generate http-Expires header. Fix it. Signed-off-by: Lars Hjemli <larsh@hal-2004.(none)>
* Handle %xx encoding in querystringGravatar Lars Hjemli2007-01-05-0/+36
| | | | | | | Convert valid %xx expressions in querystring to ascii, ignore invalid expressions (i.e. eat the three characters %xx). Signed-off-by: Lars Hjemli <larsh@hal-2004.(none)>
* Handle '+' in querystringGravatar Lars Hjemli2006-12-28-0/+2
| | | | | | Translate '+' to ' ' in querystring parser (still doesn't handle %xx) Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add basic log filteringGravatar Lars Hjemli2006-12-28-7/+83
| | | | | | This enables case-insensitive grep on logentris using the new search box Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add generic support for search box in page headerGravatar Lars Hjemli2006-12-28-5/+51
| | | | | | | This adds the ability to show a search box in any pageheader with correct href and hidden form data, but does not enable the box on any pages. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Test for NULL-pointers in html_txt() and friendsGravatar Lars Hjemli2006-12-28-4/+3
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Minor style fixesGravatar Lars Hjemli2006-12-22-9/+12
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add missing diff-link in ui-commit.cGravatar Lars Hjemli2006-12-22-2/+3
| | | | | | | | Gaah. This should have been a part of 36aba00273e7af1b94bf8c5dd5068709d983d01e Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Only show first 80 characters of commit subject in log and summaryGravatar Lars Hjemli2006-12-22-5/+34
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add missing ttl-options in configGravatar Lars Hjemli2006-12-22-0/+8
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit 0.1Gravatar Lars Hjemli2006-12-21-1/+1
| | | | | | | | With a working diff, it really has all the basics. Next steps will be to make it more usable and less ugly :) Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Let make know that ui-diff.c depends on xdiff.hGravatar Lars Hjemli2006-12-21-0/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add basic diff viewGravatar Lars Hjemli2006-12-21-1/+270
| | | | | | Finally, xdiff is used to show per-file diffs via commit view. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use html_filemode in ui-tree.cGravatar Lars Hjemli2006-12-18-6/+9
| | | | | | No reason to show "100644" when we can show "-rw-r--r--" Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Don't show new and old filemode for added/removed filesGravatar Lars Hjemli2006-12-18-2/+9
| | | | | | | | It gives us no extra info whatsoever to show "----------" for either new or old mode, it's just noise (especially since we now show the "old" filemode for deleted files) Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Show list of modified files in ui-commit.cGravatar Lars Hjemli2006-12-18-8/+281
| | | | | | | | Compare current commit with 1.parent, and for each affected file display current filemode, old filemode if changed, current filename and source filename if it was a copy/rename. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Reformat code to avoid excessive line lengthsGravatar Lars Hjemli2006-12-17-11/+18
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add cgit_free_commitinfo() and use where neededGravatar Lars Hjemli2006-12-16-8/+15
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Simplify ui-commit.cGravatar Lars Hjemli2006-12-16-16/+1
| | | | | | | Replace the call to lookup_commit() with a call to lookup_commit_reference, since it handles reading and parsing of the commit object internally. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Show emails and timestamps in ui-commit.cGravatar Lars Hjemli2006-12-16-2/+8
| | | | | | | Use the extra info found in commitinfo struct when generating commit view. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Teach commit parser about author/committer email + timestampGravatar Lars Hjemli2006-12-16-2/+14
| | | | | | | | | | | We want all four of these when showing a commit, so save them in the commitinfo struct. Btw: There's probably no good reason to save committer timestamp since it's already available in commit->date. But it doesn't hurt us either, and it makes the parser look more complete, so we just do it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Allow relative paths for cgit_cache_rootGravatar Lars Hjemli2006-12-16-0/+8
| | | | | | | | | | Make sure we chdir(2) back to the original getcwd(2) when a page has been generated. Also, if the cgit_cache_root do not exist, try to create it. This is a feature intended to ease testing/debugging. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add cache-root option to /cgit/rcGravatar Lars Hjemli2006-12-16-0/+2
| | | | | | | | Somehow, this option was forgotten when parsing the configfile. Add it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add argument parsing + switch for uncached operationGravatar Lars Hjemli2006-12-16-3/+51
| | | | | | | | | | | | | | | | | | | | | | | | This adds support for the following options to cgit: --root=<path> --cache=<path> --nocache --query=<querystring> --repo=<reponame> --page=<pagename> --head=<branchname> --sha1=<sha1> --ofs=<number> On startup, /etc/cgitrc is parsed, followed by argument parsing and finally querystring parsing. If --nocache is specified (or set in /etc/gitrc), caching is disabled and cgit instead generates pages to stdout. The combined effect of these two changes makes testing/debugging a lot less painfull. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add head comment to shared.cGravatar Lars Hjemli2006-12-16-0/+8
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add head comment to ui-commit.cGravatar Lars Hjemli2006-12-16-0/+8
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* gitweb ripoff: set tr:hover to highligt current rowGravatar Lars Hjemli2006-12-16-3/+7
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Make repo header a link to summary pageGravatar Lars Hjemli2006-12-16-1/+12
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move cgit_print_date into ui-shared, reuse in ui-summaryGravatar Lars Hjemli2006-12-16-20/+24
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add ui-commit.c + misc ui cleanupsGravatar Lars Hjemli2006-12-16-19/+140
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add a common commit parserGravatar Lars Hjemli2006-12-16-63/+75
| | | | | | Make a better commit parser, replacing the ugly one in ui-log.c Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add simple pager to log pageGravatar Lars Hjemli2006-12-14-6/+37
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add separate makefile-rule to clear current cacheGravatar Lars Hjemli2006-12-13-2/+4
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Remove implementation details from READMEGravatar Lars Hjemli2006-12-13-53/+34
| | | | | | Let README describe the "bigger picture" instead. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Small layout adjustments to summary and blob viewGravatar Lars Hjemli2006-12-13-5/+13
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add display of tree content w/ui-tree.cGravatar Lars Hjemli2006-12-13-8/+113
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cache_lock: do xstrdup/free on lockfileGravatar Lars Hjemli2006-12-12-1/+2
| | | | | | | | | | | | | | | Since fmt() uses 8 alternating static buffers, and cache_lock might call cache_create_dirs() multiple times, which in turn might call fmt() twice, after four iterations lockfile would be overwritten by a cachedirectory path. In worst case, this could cause the cachedirectory to be unlinked and replaced by a cachefile. Fix: use xstrdup() on the result from fmt() before assigning to lockfile, and call free(lockfile) before exit. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Don't truncate valid cachefilesGravatar Lars Hjemli2006-12-12-4/+16
| | | | | | | | | | | | | | An embarrassing thinko in cgit_check_cache() would truncate valid cachefiles in the following situation: 1) process A notices a missing/expired cachefile 2) process B gets scheduled, locks, fills and unlocks the cachefile 3) process A gets scheduled, locks the cachefile, notices that the cachefile now exist/is not expired anymore, and continues to overwrite it with an empty lockfile. Thanks to Linus for noticing (again). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move global variables + callback functions into shared.cGravatar Lars Hjemli2006-12-12-82/+86
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move functions for generic object output into ui-view.cGravatar Lars Hjemli2006-12-12-34/+43
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move log-functions into ui-log.cGravatar Lars Hjemli2006-12-12-111/+121
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move repo summary functions into ui-summary.cGravatar Lars Hjemli2006-12-12-47/+59
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move functions for repolist output into ui-repolist.cGravatar Lars Hjemli2006-12-12-70/+90
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move common output-functions into ui-shared.cGravatar Lars Hjemli2006-12-12-82/+99
| | | | | | While at it, replace the cgit_[lib_]error constants with a proper function Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Rename config.c to parsing.c + move cgit_parse_query from cgit.c to parsing.cGravatar Lars Hjemli2006-12-12-28/+29
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Avoid infinite loops in caching layerGravatar Lars Hjemli2006-12-11-14/+31
| | | | | | | | | | | Add a global variable, cgit_max_lock_attemps, to avoid the possibility of infinite loops when failing to acquire a lockfile. This could happen on broken setups or under crazy server load. Incidentally, this also fixes a lurking bug in cache_lock() where an uninitialized returnvalue was used. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Let 'make install' clear all cachefilesGravatar Lars Hjemli2006-12-11-0/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>