aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-01-14authors: specify maintainersGravatar Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-13filters: Improved syntax-highlighting.pyGravatar Stefan Tatschner
- Switched back to python2 according to a problem in pygments with python3. With the next release of pygments this problem should be fixed. Issue see here: https://bitbucket.org/birkenfeld/pygments-main/issue/901/problems-with-python3 - Just read the stdin, decode it to utf-8 and ignore unknown signs. This ensures that even destroyed files do not cause any errors in the filter. - Improved language guessing: -> At first use guess_lexer_for_filename for a better detection of the used programming languages (even mixed cases will be detected, e.g. php + html). -> If nothing was found look if there is a shebang and use guess_lexer. -> As default/fallback choose TextLexer. Signed-off-by: Stefan Tatschner <stefan@sevenbyte.org>
2014-01-12tests: add CGIT_TEST_OPTS variable to MakefileGravatar John Keeping
This allows running the entire test suite with a set of command-line options. For example: make test CGIT_TEST_OPTS=--valgrind Signed-off-by: John Keeping <john@keeping.me.uk>
2014-01-12ui-repolist: HTML-escape cgit_rooturl() responseGravatar John Keeping
This is for consistency with other callers. The value returned from cgit_rooturl is not guaranteed to be HTML-safe. Signed-off-by: John Keeping <john@keeping.me.uk>
2014-01-12ui-shared: URL-escape script_nameGravatar John Keeping
As far as I know, there is no requirement that $SCRIPT_NAME contain only URL-safe characters, so we need to make sure that any special characters are escaped. Signed-off-by: John Keeping <john@keeping.me.uk>
2014-01-12ui-refs: escape HTML chars in author and tagger namesGravatar John Keeping
Everywhere else we use html_txt to escape any special characters in these variables. Do so here as well. Signed-off-by: John Keeping <john@keeping.me.uk>
2014-01-12filter: pass extra arguments via cgit_open_filterGravatar John Keeping
This avoids poking into the filter data structure at various points in the code. We rely on the fact that the number of arguments is fixed based on the filter type (set in cgit_new_filter) and that the call sites all know which filter type they're using. Signed-off-by: John Keeping <john@keeping.me.uk>
2014-01-12ui-snapshot: set unused cgit_filter fields to zeroGravatar John Keeping
By switching the assignment of fields in the cgit_filter structure to use designated initializers, the compiler will initialize all other fields to their default value. This will be needed when we add the extra_args field in the next patch. Signed-off-by: John Keeping <john@keeping.me.uk>
2014-01-12html: remove redundant htmlfd variableGravatar John Keeping
This is never changed from STDOUT_FILENO, so just use that value directly. Signed-off-by: John Keeping <john@keeping.me.uk>
2014-01-12tests: add Valgrind supportGravatar John Keeping
Now running tests with the "--valgrind" option will run cgit under Valgrind instead of all Git commands. Signed-off-by: John Keeping <john@keeping.me.uk>
2014-01-12cache: don't leave cache_slot fields uninitializedGravatar John Keeping
Valgrind says: ==18344== Conditional jump or move depends on uninitialised value(s) ==18344== at 0x406C83: open_slot (cache.c:63) ==18344== by 0x407478: cache_ls (cache.c:403) ==18344== by 0x404C9A: process_request (cgit.c:639) ==18344== by 0x406BD2: fill_slot (cache.c:190) ==18344== by 0x4071A0: cache_process (cache.c:284) ==18344== by 0x404461: main (cgit.c:952) ==18344== Uninitialised value was created by a stack allocation ==18344== at 0x40738B: cache_ls (cache.c:375) This is caused by the keylen field being used to calculate whether or not a slot is matched. We never then check the value of this and the length of data read depends on the key length read from the file so this isn't dangerous, but it's nice to avoid branching based on uninitialized data. Signed-off-by: John Keeping <john@keeping.me.uk>
2014-01-10filter: split filter functions into their own fileGravatar Jason A. Donenfeld
A first step for more interesting things. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-10filter: make exit status localGravatar Jason A. Donenfeld
It's only used in one place, and not useful to have around since close_filter will die() if exit_status isn't what it expects, anyway. So this is best as just a local variable instead of as part of the struct. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-10parsing: fix header typoGravatar Jason A. Donenfeld
2014-01-10cgit.c: Fix comment on bit mask hackGravatar Lukas Fleischer
* Formatting and spelling fixes. * A bit mask with the size of one byte only allows for storing 8 (not 255!) different flags. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-10cgit.c: Use "else" for mutually exclusive branchesGravatar Lukas Fleischer
When parsing command line arguments, no pair of command line options can ever match simultaneously. Use "else if" blocks to reflect this. This change improves both readability and speed. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-10ui-snapshot.c: Do not reinvent suffixcmp()Gravatar Lukas Fleischer
Use suffixcmp() from Git instead of reimplementing it. This is a preparation for moving to ends_with() in Git 1.8.6. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-10Refactor cgit_parse_snapshots_mask()Gravatar Lukas Fleischer
Use Git string lists instead of str{spn,cspn,ncmp}() magic. This significantly improves readability. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-10Disallow use of undocumented snapshot delimitersGravatar Lukas Fleischer
Since the introduction of selective snapshot format configuration in dc3c9b5 (allow selective enabling of snapshots, 2007-07-21), we allowed seven different delimiters for snapshot formats, while the documentation has always been clear about spaces being the only valid delimiter: The value is a space-separated list of zero or more of the values "tar", "tar.gz", "tar.bz2", "tar.xz" and "zip". Supporting the undocumented delimiters makes the code unnecessarily complex. Remove them. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-10Replace most uses of strncmp() with prefixcmp()Gravatar Lukas Fleischer
This is a preparation for replacing all prefix checks with either strip_prefix() or starts_with() when Git 1.8.6 is released. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-09README: Fix dependenciesGravatar Lukas Fleischer
* Remove the dependency on Git (which can be obtained automatically when building, using either the Git submodule or `make get-git`). * Use proper upstream names of dependencies. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-08README: Spelling and formatting fixesGravatar Lukas Fleischer
* Several small spelling and capitalization fixes. * Use consistent and better-looking formatting that is compatible with AsciiDoc (and partly compatible with RST). Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-08Fix UTF-8 with syntax-highlighting.pyGravatar Přemysl Janouch
Previously the script tried to encode output from Pygments with the ASCII codec, which failed. Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>
2014-01-08Add a suggestion to the manpageGravatar Přemysl Janouch
So that people wishing to use "enable-http-clone" don't have to find out the correct settings on their own. Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>
2014-01-08Fix the example configurationGravatar Přemysl Janouch
"enable-git-clone" doesn't exist, replaced with "enable-http-clone". Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>
2014-01-08Fix about-formatting.shGravatar Přemysl Janouch
dash failed to parse the script. Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>
2014-01-08Fix some spelling errorsGravatar Přemysl Janouch
Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>
2014-01-08filters: highlight.sh: add css comments for highlight 2.6 and 3.8Gravatar Ferry Huberts
v2: add highlight 3.13 as present on Fedora 19 Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
2014-01-08Add AUTHORS fileGravatar Lukas Fleischer
Contains a list of contributors with more than 20 patches, to be updated regularly. Signed-off-by: Lukas Fleischer <cgit@crytocrack.de>
2014-01-08Update copyright informationGravatar Lukas Fleischer
* Name "cgit Development Team" as copyright holder to avoid listing every single developer. * Update copyright ranges. Signed-off-by: Lukas Fleischer <cgit@crytocrack.de>
2014-01-08git: update to 1.8.5Gravatar Christian Hesse
Everything works just bumping the version in Makefile and commit hash in submodule. No code changes required. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-08Reduce line number bloat, fix hover effectGravatar Peter Wu
Currently line numbers look like (for blob view and sdiff respectively): <a class='no' id='n68' name='n68' href='#n68'>68</a> <td class='lineno'><a class='no' href='...#n1' id='n1' name='n1'>1</a></td> name=".." is unnecessary if the id attribute is set (this even applies to IE6), so drop it. (aside, in HTML5, the name attribute is gone.) The line number links can be selected through their parent classes, no need for another class "no", so drop it too. For a file with 2000 lines, this yields a saving of 40% (29% gzipped). While at it, fix the hover effect of line numbers: now the line number get a black background as was intended. Signed-off-by: Peter Wu <lekensteyn@gmail.com> Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-08plain: don't append charset for binary MIME typesGravatar John Keeping
When outputting the Content-Type HTTP header we print the MIME type and then append "; charset=<charset>" if the charset variable is non-null. We don't want a charset when we have selected "application/octet-stream" or when the user has specified a custom MIME type, since they may have specified their own charset. To avoid this, make sure we set the page's charset to NULL in ui-plain before we generate the HTTP headers. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-08ui-log.c: Several simplificationsGravatar Lukas Fleischer
* Use argv_array_pushf() for inserting formatted strings. * Remove unneeded static strings. * Replace "if" by "else if" for readability and speed. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-08Use argv_array in place of vectorGravatar Lukas Fleischer
Instead of using our own vector implementation, use argv_array from Git which has been specifically designed for dynamic size argv arrays. Drop vector.h and vector.c which are no longer needed. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-08ui-stats.c: Remove unused macroGravatar Lukas Fleischer
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-08scan-tree.c: Remove unused macroGravatar Lukas Fleischer
This is no longer needed since commit fb3655df (use struct strbuf instead of static buffers, 2013-04-06). Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-09-14ui-shared: Drop filepair_cb_raw() and helperGravatar Lukas Fleischer
Remove filepair_cb_raw() and all related functions. These are no longer needed. We now use Git's internal functions for raw diff formatting everywhere. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-09-14ui-diff: Use diff_tree_sha1() for raw diff formattingGravatar Lukas Fleischer
Use Git's internal diff_tree_sha1() function for the /rawdiff/ command instead of trying to recreate this functionality. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-08-26tests/: Add t0110-rawdiff.shGravatar Lukas Fleischer
This adds some basic tests for the /rawdiff/ command. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-08-26t0108: Add tests for revision rangesGravatar Lukas Fleischer
Add tests to check whether generating multiple patches at once works. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-08-26t0108: Compare output with git-format-patch(1)Gravatar Lukas Fleischer
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-08-26ui-patch.c: Add additional newline after each patchGravatar Lukas Fleischer
For consistency with git-format-patch(1). Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-08-26ui-patch.c: Fix signature delimiterGravatar Lukas Fleischer
Add a missing space after the "--" marker that introduces the patch signature. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-08-26t0108: Avoid unnecessary fork()Gravatar Lukas Fleischer
Use `git rev-list --max-parents=0 HEAD` instead of `git rev-list HEAD | tail -1` to get the root commit. This works since Git 1.7.4.2. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-08-26git: update to 1.8.4Gravatar John Keeping
No code changes required, just bump the submodule and makefile versions. Signed-off-by: John Keeping <john@keeping.me.uk>
2013-08-22ui-patch.c: Fix formatting for merge commitsGravatar Lukas Fleischer
Add max_parents = 1 to the revision walk in order to make sure we do not include the footer signature twice for merge commits. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-08-20ui-patch: Rename variablesGravatar Lukas Fleischer
Rename parameters and local variables to match those from ui-diff. Also, convert a "char *" to "const char *". Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-08-20Allow for creating patch seriesGravatar Lukas Fleischer
This allows for specifying a revision range using the id2 parameter of /patch/. The output that is produced is similar to $ git format-patch --stdout id2..id Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-08-20ui-patch.c: Use log_tree_commit() to generate diffsGravatar Lukas Fleischer
Instead of using our own formatting, use log_tree_commit() from Git to create patches. This removes unnecessary duplicate code and also fixes a bug with e-mail address formatting that existed in our own implementation. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>