| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
The only valid characters for a URL are unreserved characters
a-zA-Z0-9_-.~ and the reserved characters !*'();:@&=+$,/?%#[] , as per
RFC 3986. Everything else must be escaped. Additionally, the # and
? always have special meaning, and the &, =, and + have special meaning
in a query string, so they too must be escaped. To make this easier,
a table of escapes is now used so that we do not have to call fmt() for
each character; if the entry is 0, no escaping is needed.
Signed-off-by: Mark Lodato <[email protected]>
|
|
|
|
|
|
|
|
| |
None of the html_* functions modify their argument, so they can all be
'const char *' instead of a simple 'char *'. This removes the need to
cast (or copy) when trying to print a const string.
Signed-off-by: Mark Lodato <[email protected]>
|
|\ |
|
| |
| |
| |
| | |
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Lars Hjemli <[email protected]>
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lars Hjemli <[email protected]>
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Refuses to do so if the left hand side of the diff has different amount of
differing lines to the right hand side to avoid confusion.
Note that I use the naive dynamic programming approach for calculating the
longest common subsequence. We could probably be more efficient by using a
better algorithm. The LCS calculating function is O(n*m) and uses up n*m
amount of memory too (so if we we compare two strings of length 100, I use
an array of 10000 for calculating the LCS). Might want to not calculate LCS
if the length of the line is too large.
Signed-off-by: Ragnar Ouchterlony <[email protected]>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The fixed bugs:
* "Binary files differ" did not show up either in unidiff or
side-by-side-diff.
* Subproject diffs did not work for side-by-side diffs.
* The ssdiff link on diff pages did not conserve the path.
Signed-off-by: Ragnar Ouchterlony <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Aligned all different files, so that all side-by-side tables look
the same. Also made sure that the tables take up the whole browser
width.
Also various changes to the css to make things easier on the eye.
Signed-off-by: Ragnar Ouchterlony <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A new config option side-by-side-diffs added, defaulting to 0,
meaning unidiff. Also a query option (ss) is used toggle this.
In the commit page you can switch between the two diff formats by
clicking on the link on the "commit"-row, to the right of (patch).
In the diff page you can switch by using the link at the start
of the page.
All commit-links and diff-links will remember the choice.
Signed-off-by: Ragnar Ouchterlony <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This constitutes the first prototype of a side-by-side diff. It is not
possible to switch between unidiff and side-by-side diff at all at this
stage.
Signed-off-by: Ragnar Ouchterlony <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Sometimes it is not feasible to generate the HTML pretty-print for large
files, especially if a source-filter is involved or binary data is to be
displayed. The "max-blob-size" config var allows to disable HTML output
for blobs bigger than X KBytes. Plain downloads are not affected.
Signed-off-by: Georg Lukas <[email protected]>
|
| | | | | |
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The highlight tool can be given any of the supported file extensions
as its -S parameter. This patch replaces the case-switch by extracting
the extension from the supplied file name and passing it to highlight.
However, this requires a shell supporting the ${var##pattern} syntax,
like dash or bash.
Unknown extensions cause a fall-back to plain text using the --force
switch. Error messages are redirected to /dev/null.
A special case maps Makefile and Makefile.* to the "mk" extension.
The total overhead is reduced by calling "exec highlight". No forks are
needed during script execution.
Signed-off-by: Georg Lukas <[email protected]>
|
|\ \ \ \
| |/ / /
|/| | /
| | |/
| |/| |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lars Hjemli <[email protected]>
|
|\| | |
|
| | |
| | |
| | |
| | |
| | | |
Noticed-by: Andreas Schwab <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Linking with OpenSSL is not always desirable. Add NO_OPENSSL option
to use SHA-1 code bundled with Git.
Signed-off-by: Mikhail Gusarov <[email protected]>
|
|\| | |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lars Hjemli <[email protected]>
|
| | | |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Alexey Nezhdanov <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Makes it easier to rewrite :)
lighttpd-sandbox: rewrite "/cgit.cgi?url=%{enc:request.path}&%{request.query}";
Signed-off-by: Stefan Bühler <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
| |
| |
| |
| |
| | |
Signed-off-by: Geoff Johnstone <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
| |
| |
| |
| |
| | |
Signed-off-by: Loui Chang <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
|/
|
|
|
|
|
| |
This prevents FIXMEs from appearing.
Signed-off-by: Loui Chang <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
| |
Signed-off-by: Lars Hjemli <[email protected]>
|
|\ |
|
| |
| |
| |
| | |
Signed-off-by: Lars Hjemli <[email protected]>
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The repo-specific 'snapshots' option is bitwise AND'ed with the global
'snapshots' option during parsing, and since the global cgitrc hasn't
been parsed when --scan-path is processed the global 'snapshots' will
always be 0 (i.e. no repo-specific 'snapshots' setting will have any
effect).
This patch fixes the issue by setting the global 'snapshots' mask to
0xFF (hence relying on later parsing of the generated cgitrc repolist
to do the right thing).
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since repo.desc might have been populated by reading the 'description'
file in GIT_DIR, it may contain newlines. And by printing the literal
value, we may then generate an invalid cgitrc include-file.
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Note: print_repo() still ignores repo.max-stats and repo.snapshots,
which both requires additional work since these settings are represented
internally as an enum and a bitmap.
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This option must be enabled if repo-specific cgitrc files should be
allowed to override any of the 'filter' options.
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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 <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The new function repo_config() is used to handle all 'simple' repo
options, for the following reasons:
* code readability
* parser performance
* upcoming support for repo-local cgitrc files during scanning
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When no sorting is requested by the client, cgit will now sort by
section name followed by repo name. This allows repos to be registered/
discovered independently of their display order.
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This option can be used to specify the section name for the current
repository.
Signed-off-by: Lars Hjemli <[email protected]>
|