Gitweb can use path_info (component) based URLs, or it can pass
all necessary information via query parameters. The typical
gitweb URLs are broken down in to five components:
.../gitweb.cgi/<repo>/<action>/<revision>:/<path>?<arguments>
repo
The repository the action will be performed on.
All actions except for those that list all available
projects, in whatever form, require this parameter.
action
The action that will be run. Defaults to projects_list if
repo is not set, and to summary otherwise.
revision
Revision shown. Defaults to HEAD.
path
The path within the <repository> that the action is performed
on, for those actions that require it.
arguments
Any arguments that control the behaviour of the action.
Some actions require or allow to specify two revisions, and
sometimes even two pathnames. In most general form such path_info
(component) based gitweb URL looks like this:
.../gitweb.cgi/<repo>/<action>/<revision_from>:/<path_from>..<revision_to>:/<path_to>?<arguments>
Each action is implemented as a subroutine, and must be present
in %actions hash. Some actions are disabled by default, and must
be turned on via feature mechanism. For example to enable blame
view add the following to gitweb configuration file:
$feature{'blame'}{'default'} = [1];
Actions:
The standard actions are:
project_list
Lists the available Git repositories. This is the default
command if no repository is specified in the URL.
summary
Displays summary about given repository. This is the default
command if no action is specified in URL, and only repository
is specified.
heads, remotes
Lists all local or all remote-tracking branches in given
repository.
The latter is not available by default, unless configured.
tags
List all tags (lightweight and annotated) in given
repository.
blob, tree
Shows the files and directories in a given repository path,
at given revision. This is default command if no action is
specified in the URL, and path is given.
blob_plain
Returns the raw data for the file in given repository, at
given path and revision. Links to this action are marked raw.
blobdiff
Shows the difference between two revisions of the same file.
blame, blame_incremental
Shows the blame (also called annotation) information for a
file. On a per line basis it shows the revision in which that
line was last changed and the user that committed the change.
The incremental version (which if configured is used
automatically when JavaScript is enabled) uses Ajax to
incrementally add blame info to the contents of given file.
This action is disabled by default for performance reasons.
commit, commitdiff
Shows information about a specific commit in a repository.
The commit view shows information about commit in more
detail, the commitdiff action shows changeset for given
commit.
patch
Returns the commit in plain text mail format, suitable for
applying with git-am(1).
tag
Display specific annotated tag (tag object).
log, shortlog
Shows log information (commit message or just commit subject)
for a given branch (starting from given revision).
The shortlog view is more compact; it shows one commit per
line.
history
Shows history of the file or directory in a given repository
path, starting from given revision (defaults to HEAD, i.e.
default branch).
This view is similar to shortlog view.
rss, atom
Generates an RSS (or Atom) feed of changes to repository.