aboutsummaryrefslogtreecommitdiffstats
path: root/cmd.c
AgeCommit message (Collapse)AuthorFilesLines
2020-10-20global: replace references to 'sha1' with 'oid'Christian Hesse1-9/+9
For some time now sha1 is considered broken and upstream is working to replace it with sha256. Replace all references to 'sha1' with 'oid', just as upstream does. Signed-off-by: Christian Hesse <mail@eworm.de>
2019-06-25ui-tree: allow per repository override for enable-blameChristian Hesse1-1/+1
The blame operation can cause high cost in terms of CPU load for huge repositories. Let's add a per repository override for enable-blame. Signed-off-by: Christian Hesse <mail@eworm.de>
2017-10-03ui-blame: add blame UIJeff Smith1-1/+11
Implement a page which provides the blame view of a specified file. This feature is controlled by a new config variable, "enable-blame", which is disabled by default. Signed-off-by: Jeff Smith <whydoubt@gmail.com> Reviewed-by: John Keeping <john@keeping.me.uk>
2016-02-26about: path_info might not be validJason A. Donenfeld1-1/+2
2016-02-22cmd: redirect empty about/ to homepage or summaryJason A. Donenfeld1-1/+10
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2015-10-09cmd: fix resource leak: free allocation from cgit_currenturl and fmtallocChristian Hesse1-3/+7
Signed-off-by: Christian Hesse <mail@eworm.de>
2015-08-14cmd: fix command definitionJohn Keeping1-1/+1
The previous commit removed the "pre" field from "struct cgit_cmd" but forgot to update this macro. Signed-off-by: John Keeping <john@keeping.me.uk> Reviewed-by: Christian Hesse <mail@eworm.de>
2015-08-14cmd: no need for pre function hook nowJason A. Donenfeld1-15/+9
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2015-08-14cmd: remove "want_layout" fieldJohn Keeping1-24/+24
No commands use this any more. Signed-off-by: John Keeping <john@keeping.me.uk>
2015-08-14tree: move layout into page functionJohn Keeping1-1/+1
This also allows us to return proper HTTP error codes when the requested tree is not found and display an error message in one case (invalid path inside valid commit) where we previously just displayed an empty page. Signed-off-by: John Keeping <john@keeping.me.uk>
2015-08-14tag: move layout into page functionJohn Keeping1-1/+1
This also allows us to return proper HTTP error codes when something goes wrong. Signed-off-by: John Keeping <john@keeping.me.uk>
2015-08-14summary: move layout into page functionJohn Keeping1-1/+1
Signed-off-by: John Keeping <john@keeping.me.uk>
2015-08-14stats: move layout into page functionJohn Keeping1-1/+1
This also allows us to return proper HTTP error codes for invalid requests. Signed-off-by: John Keeping <john@keeping.me.uk>
2015-08-14refs: move layout to page functionJohn Keeping1-1/+1
Signed-off-by: John Keeping <john@keeping.me.uk>
2015-08-14log: move layout into page functionJohn Keeping1-1/+1
Signed-off-by: John Keeping <john@keeping.me.uk>
2015-08-14diff: move layout to page functionJohn Keeping1-1/+1
The existing "show_ctrls" flag is used to control whether we are running in an existing page or control the page ourselves. Signed-off-by: John Keeping <john@keeping.me.uk>
2015-08-14commit: move layout into page functionJohn Keeping1-1/+1
This allows us to return a proper HTTP status code when an object is not found by switching from cgit_print_error() to cgit_print_error_page(). Signed-off-by: John Keeping <john@keeping.me.uk>
2015-08-14about: move layout into page functionsJohn Keeping1-1/+1
Signed-off-by: John Keeping <john@keeping.me.uk>
2015-08-13redirect: be more careful for different cgi setupsJason A. Donenfeld1-1/+4
2015-08-12about: always ensure page has a trailing slashJason A. Donenfeld1-2/+10
Otherwise we can't easily embed links to other /about/ pages. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-02-21Remove unused parameter from cgit_print_snapshot()Lukas Fleischer1-1/+1
2014-01-17Switch to exclusively using global ctxLukas Fleischer1-51/+51
Drop the context parameter from the following functions (and all static helpers used by them) and use the global context instead: * cgit_print_http_headers() * cgit_print_docstart() * cgit_print_pageheader() Remove context parameter from all commands Drop the context parameter from the following functions (and all static helpers used by them) and use the global context instead: * cgit_get_cmd() * All cgit command functions. * cgit_clone_info() * cgit_clone_objects() * cgit_clone_head() * cgit_print_plain() * cgit_show_stats() In initialization routines, use the global context variable instead of passing a pointer around locally. Remove callback data parameter for cache slots This is no longer needed since the context is always read from the global context variable. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-08Update copyright informationLukas Fleischer1-2/+1
* Name "cgit Development Team" as copyright holder to avoid listing every single developer. * Update copyright ranges. Signed-off-by: Lukas Fleischer <cgit@crytocrack.de>
2013-08-20Allow for creating patch seriesLukas Fleischer1-1/+1
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-16cmd.c: Add a "rawdiff" commandLukas Fleischer1-0/+6
This can be used to generate raw diffs between arbitrary revisions using something like /rawdiff/?id=v0.9&id2=v0.9.1 Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-08-16Allow for creating raw diffs with cgit_print_diff()Lukas Fleischer1-1/+1
This adds a parameter to cgit_print_diff() to create raw diffs, using the same format as `git diff <commit>`. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2013-05-26readme: use string_list instead of space deliminationsJason A. Donenfeld1-1/+2
Now this is possible in cgitrc - readme=:README.md readme=:readme.md readme=:README.mkd readme=:readme.mkd readme=:README.rst readme=:readme.rst readme=:README.html readme=:readme.html readme=:README.htm readme=:readme.htm readme=:README.txt readme=:readme.txt readme=:README readme=:readme readme=:INSTALL.txt readme=:install.txt readme=:INSTALL readme=:install Suggested-by: John Keeping <john@keeping.me.uk> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2013-03-04White space around control verbs.Jason A. Donenfeld1-1/+1
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2012-10-17ui-log: Add "commit-sort" option for controlling commit orderingTobias Bieniek1-1/+2
This makes it possible to use strict commit date ordering or strict topological ordering by passing the corresponding flags to "git log". Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2011-05-23Merge branch 'lh/panel'Lars Hjemli1-1/+1
2011-05-14Merge branch 'dm/disable-clone'Lars Hjemli1-21/+21
2011-03-06ui-diff.c: create a control panel for diff optionsLars Hjemli1-1/+1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19Add is_clone flag to available commandsDan McGee1-21/+21
This will be used to make these operations configurable via a config option. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-16ui-log: Line-wrap long commit subjects when showmsg is enabledJohan Herland1-1/+2
When showmsg is disabled ui-log truncates long commit subjects. This is good. However, the same is not desirable when showmsg is enabled, since you then end up with a truncated commit subject followed by the rest of the commit message below. Instead, when showmsg is enabled (and we're using all this space to display the entire commit message, anyway), line-wrap the commit subject instead of truncating it. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-06-22Merge branch 'jh/path-limit'Lars Hjemli1-23/+23
Conflicts: cgit.h ui-commit.c
2010-06-19ui-patch: Apply path limit to generated patchJohan Herland1-1/+1
Also indicate in the comment section of the patch that a path limit was applied, too easily see when a generated patch is only partial. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-06-19ui-commit: Limit diff based on path limit in qry.pathJohan Herland1-1/+1
Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-06-19struct cgit_cmd: Differentiate between various usages of ctx.qry.pathJohan Herland1-21/+21
For many commands/pages (e.g. 'tree', 'diff', 'plain', etc.), the ctx.qry.path argument is interpreted as a path within the "virtual" project directory structure. However, for some other commands (notably 'refs', and the clone-related commands) ctx.qry.path is used in a different context (as a more or less "real" path within the '.git' directory). This patch differentiates between these two usages of ctx.qry.path, by introducing a new variable - ctx.qry.vpath - which is equal to ctx.qry.path in the former case, and NULL in the latter. This will become useful in future patches when we want various pages and the links between them to preserve existing in-project paths. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-03-22Add 'max-atom-items' config variableAaron Griffin1-1/+1
This allows one to specify the items in the RSS feeds Signed-off-by: Aaron Griffin <agriffin@datalogics.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-09ui-summary: enable arbitrary paths below repo.readmeLars Hjemli1-1/+1
This change makes it possible to include any number of pages below the 'about' tab for a repository. The path is assumed to be located in the same directory as the 'repo.readme' file. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-01-27Merge branch 'lh/stats'Lars Hjemli1-0/+7
Conflicts: cgit.c cgit.css cgit.h ui-tree.c Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-12-07ui-stats: replace 'enable-stats' setting with 'max-stats'Lars Hjemli1-4/+1
The new 'max-stats' and 'repo.max-stats' settings makes it possible to define the maximum statistics period, both globally and per repo. Hence, it is now feasible to allow statistics on repositories with a high commit frequency, like linux-2.6, by setting repo.max-stats to e.g. 'month'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-12-06Add a 'stats' page to each repoLars Hjemli1-0/+10
This new page, which is disabled by default, can be used to print some statistics about the number of commits per period in the repository, where period can be either weeks, months, quarters or years. The function can be activated globally by setting 'enable-stats=1' in cgitrc and disabled for individual repos by setting 'repo.enable-stats=0'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-30Set prefix in snapshots when using dwimmeryNatanael Copa1-2/+1
This patch sets the directory prefix in archives to be the filename, excluding the suffix (.tar.gz, .tar.bz2 etc). The patch also removes the prefix parameter in cgit_print_snapshot() as the prefix might differ. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-11ui-snapshot: add dwimmeryLars Hjemli1-1/+1
When downloading a snapshot, the snapshot name will often contain the repo name combined with a tag. This patch tries to exploit this so that the correct revision is downloaded even if no specific revision is specified. PS: this only occurs if neither 'h' nor 'id' is specified in the query- string. PPS: this also fixes a bug which occurs when trying to download a filename with an unsupported suffix: it used to try to print an error message to the user but failed since it didn't prepare the output properly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-09-01Merge branch 'lh/plain'Lars Hjemli1-0/+7
* lh/plain: Supply status description to html_status() ui-tree: link to plain view instead of blob view Implement plain view
2008-09-01Merge branch 'lh/clone'Lars Hjemli1-0/+19
* lh/clone: Add support for cloning over http Conflicts: cmd.c
2008-08-06Implement plain viewLars Hjemli1-0/+7
This implements a way to access plain blobs by path (similar to the tree view) instead of by sha1. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-08-06Add support for cloning over httpLars Hjemli1-0/+19
This patch implements basic support for cloning over http, based on the work on git-http-backend by Shawn O. Pearce. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-08-01Add atom-supportLars Hjemli1-0/+7
This enables a page which generates atom feeds for the current branch and path, heavily inspired by the atom-support in gitweb. Signed-off-by: Lars Hjemli <hjemli@gmail.com>