summaryrefslogtreecommitdiff
path: root/cmd.c
AgeCommit message (Collapse)Author
2020-10-20global: replace references to 'sha1' with 'oid'Christian Hesse
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 <[email protected]>
2019-06-25ui-tree: allow per repository override for enable-blameChristian Hesse
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 <[email protected]>
2017-10-03ui-blame: add blame UIJeff Smith
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 <[email protected]> Reviewed-by: John Keeping <[email protected]>
2016-02-26about: path_info might not be validJason A. Donenfeld
2016-02-22cmd: redirect empty about/ to homepage or summaryJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <[email protected]>
2015-10-09cmd: fix resource leak: free allocation from cgit_currenturl and fmtallocChristian Hesse
Signed-off-by: Christian Hesse <[email protected]>
2015-08-14cmd: fix command definitionJohn Keeping
The previous commit removed the "pre" field from "struct cgit_cmd" but forgot to update this macro. Signed-off-by: John Keeping <[email protected]> Reviewed-by: Christian Hesse <[email protected]>
2015-08-14cmd: no need for pre function hook nowJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <[email protected]>
2015-08-14cmd: remove "want_layout" fieldJohn Keeping
No commands use this any more. Signed-off-by: John Keeping <[email protected]>
2015-08-14tree: move layout into page functionJohn Keeping
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 <[email protected]>
2015-08-14tag: move layout into page functionJohn Keeping
This also allows us to return proper HTTP error codes when something goes wrong. Signed-off-by: John Keeping <[email protected]>
2015-08-14summary: move layout into page functionJohn Keeping
Signed-off-by: John Keeping <[email protected]>
2015-08-14stats: move layout into page functionJohn Keeping
This also allows us to return proper HTTP error codes for invalid requests. Signed-off-by: John Keeping <[email protected]>
2015-08-14refs: move layout to page functionJohn Keeping
Signed-off-by: John Keeping <[email protected]>
2015-08-14log: move layout into page functionJohn Keeping
Signed-off-by: John Keeping <[email protected]>
2015-08-14diff: move layout to page functionJohn Keeping
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 <[email protected]>
2015-08-14commit: move layout into page functionJohn Keeping
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 <[email protected]>
2015-08-14about: move layout into page functionsJohn Keeping
Signed-off-by: John Keeping <[email protected]>
2015-08-13redirect: be more careful for different cgi setupsJason A. Donenfeld
2015-08-12about: always ensure page has a trailing slashJason A. Donenfeld
Otherwise we can't easily embed links to other /about/ pages. Signed-off-by: Jason A. Donenfeld <[email protected]>
2014-02-21Remove unused parameter from cgit_print_snapshot()Lukas Fleischer
2014-01-17Switch to exclusively using global ctxLukas Fleischer
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 <[email protected]>
2014-01-08Update copyright informationLukas Fleischer
* Name "cgit Development Team" as copyright holder to avoid listing every single developer. * Update copyright ranges. Signed-off-by: Lukas Fleischer <[email protected]>
2013-08-20Allow for creating patch seriesLukas 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 <[email protected]>
2013-08-16cmd.c: Add a "rawdiff" commandLukas Fleischer
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 <[email protected]>
2013-08-16Allow for creating raw diffs with cgit_print_diff()Lukas Fleischer
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 <[email protected]>
2013-05-26readme: use string_list instead of space deliminationsJason A. Donenfeld
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 <[email protected]> Signed-off-by: Jason A. Donenfeld <[email protected]>
2013-03-04White space around control verbs.Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <[email protected]>
2012-10-17ui-log: Add "commit-sort" option for controlling commit orderingTobias Bieniek
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 <[email protected]>
2011-05-23Merge branch 'lh/panel'Lars Hjemli
2011-05-14Merge branch 'dm/disable-clone'Lars Hjemli
2011-03-06ui-diff.c: create a control panel for diff optionsLars Hjemli
Signed-off-by: Lars Hjemli <[email protected]>
2011-02-19Add is_clone flag to available commandsDan McGee
This will be used to make these operations configurable via a config option. Signed-off-by: Dan McGee <[email protected]> Signed-off-by: Lars Hjemli <[email protected]>
2010-11-16ui-log: Line-wrap long commit subjects when showmsg is enabledJohan Herland
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 <[email protected]> Signed-off-by: Lars Hjemli <[email protected]>
2010-06-22Merge branch 'jh/path-limit'Lars Hjemli
Conflicts: cgit.h ui-commit.c
2010-06-19ui-patch: Apply path limit to generated patchJohan Herland
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 <[email protected]> Signed-off-by: Lars Hjemli <[email protected]>
2010-06-19ui-commit: Limit diff based on path limit in qry.pathJohan Herland
Signed-off-by: Johan Herland <[email protected]> Signed-off-by: Lars Hjemli <[email protected]>
2010-06-19struct cgit_cmd: Differentiate between various usages of ctx.qry.pathJohan Herland
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 <[email protected]> Signed-off-by: Lars Hjemli <[email protected]>
2010-03-22Add 'max-atom-items' config variableAaron Griffin
This allows one to specify the items in the RSS feeds Signed-off-by: Aaron Griffin <[email protected]> Signed-off-by: Lars Hjemli <[email protected]>
2009-08-09ui-summary: enable arbitrary paths below repo.readmeLars Hjemli
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 <[email protected]>
2009-01-27Merge branch 'lh/stats'Lars Hjemli
Conflicts: cgit.c cgit.css cgit.h ui-tree.c Signed-off-by: Lars Hjemli <[email protected]>
2008-12-07ui-stats: replace 'enable-stats' setting with 'max-stats'Lars Hjemli
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 <[email protected]>
2008-12-06Add a 'stats' page to each repoLars Hjemli
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 <[email protected]>
2008-11-30Set prefix in snapshots when using dwimmeryNatanael Copa
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 <[email protected]>
2008-10-11ui-snapshot: add dwimmeryLars Hjemli
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 <[email protected]>
2008-09-01Merge branch 'lh/plain'Lars Hjemli
* 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 Hjemli
* lh/clone: Add support for cloning over http Conflicts: cmd.c
2008-08-06Implement plain viewLars Hjemli
This implements a way to access plain blobs by path (similar to the tree view) instead of by sha1. Signed-off-by: Lars Hjemli <[email protected]>
2008-08-06Add support for cloning over httpLars Hjemli
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 <[email protected]>
2008-08-01Add atom-supportLars Hjemli
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 <[email protected]>