Template:Gitorious merge request
gitorious/fg/flightgear/merge-requests/1591
Note The Gitorious open source infrastructure is locked in a read-only archived state. |
Goal
This template is for creating links or URLs to merge requests within the version control repositories of the Gitorious open source infrastructure. It is a subtemplate of the master {{repo link}} template designed to be specific for the Gitorious merge requests.
Usage
{{gitorious merge request | proj = | repo = | mr = | path = | line = | view = | text = | pre = | simplepath = | full = }}
The proj and repo parameters must be supplied. All other parameters are optional.
Parameter | Description | Abbreviated parameter |
Numbered parameter |
Status |
---|---|---|---|---|
proj | The name of the project, consisting of a grouping of repositories on the open source infrastructure.This defaults to fg. | p | 1 | mandatory |
repo | The name of the repository. A project registered on one of the open source infrastructures generally allows for multiple repositories under that project name.This defaults to fg. | r | 2 | mandatory |
mr | The merge request number. If provided and if the other parameters are present, this overrides any commit, tag, or branch parameter values. | 3 | optional | |
path | The file or directory path. | f | 4 | optional |
line | The line number(s) of the file to display.
|
l | optional | |
view | View to display:
|
v | optional | |
text | Text to display as the link label. Overrides pre. | t | optional | |
pre | Prefix to a link label. | optional | ||
simplepath | If set, this strips off the repository name from the URL label, leaving just the contents of the path parameter.
|
optional | ||
full | If set to 1, the full URL will be shown rather than any text label. | optional |
Design
In this section, the following notation will be used:
- Angular brackets + lower case text
<xyz>
- Template parameters.
- Angular brackets + upper case text
<XYZ>
- Template constructed text.
- Square brackets
[xyz]
- Optional text, only added if the parameter is set.
- Or symbol
|
- The value on the left, if present, otherwise the value on the right of the symbol.
Overview
The general design is:
<cmd> <opt> [<URL> <TEXT>] <post>
Here the square brackets do not denote optional text, but will instead produce a Mediawiki link. This can be modified by setting full = 1 to produce:
<cmd> <opt> <URL> <post>
Site: Gitorious
The Gitorious URLs are predominantly query rather than path based. And only the https://
protocol is supported. The base URL constructed by this template is:
<protocol>://gitorious.org/<proj>/<repo>
Gitorious <URL> for 'type=git'
For this parameter value, the complete <URL>
value will be:
<protocol>://gitorious.org/<proj>/<repo>.git
Gitorious <URL> for 'type=git web'
As the current archival system is based on queries — the text after the ?
character — absolutely any random path after the gitorious.org/
domain name can be used. But, for aesthetics, the project and repository name will be appended by this template. The <URL>
will be:
<protocol>://gitorious.org/<proj>/<repo>?<QUERY>[#l<line>]
The <QUERY>
string consists of parts for the project and repository (p=
), the type of view (a=
), the path (f=
), and the commit, branch or tag (h=
or hb=
, depending on the view).
The <URL>
fragment for the project and repository is constructed as:
<protocol>://gitorious.org/<proj>/<repo>?p=<proj>:<repo>.git
The <URL>
fragment for the view is constructed as:
<protocol>://gitorious.org/<proj>/<repo>?a=<VIEW>
Where <VIEW>
is the value of the view parameter, if supplied, with the value of raw translated to blob_plain
. If not supplied, the value of blob
is used if path is given, commit
if commit is given, or summary
otherwise.
The <URL>
fragment for the path is constructed as:
<protocol>://gitorious.org/<proj>/<repo>?f=<path>
If the view parameter is set to one of blob, raw, or tree, the <URL>
fragment for the commit, branch or tag is constructed as:
<protocol>://gitorious.org/<proj>/<repo>[?hb=refs/merge-requests/<mr>|<commit>|refs/heads/<branch>]
Otherwise it will be:
<protocol>://gitorious.org/<proj>/<repo>[?h=refs/merge-requests/<mr>|<commit>|refs/heads/<branch>]
In summary, the full web URL will be:
<protocol>://gitorious.org/<proj>/<repo>?p=<proj>:<repo>.git;a=<VIEW>[;f=<path>][;<h|hb>=refs/merge-requests/<mr>|<commit>|refs/heads/<branch>][#l<line>]
Gitorious URL <TEXT>
The link text <TEXT>
, if the full parameter is not set, will be:
<proj>/<repo>/<commit|branch|HEAD>[/<path>][#l<line>]
If the simplepath parameter is set, this changes to:
[/<path>][#l<line>]
If the pre parameter is supplied, this changes to:
<pre>[/<path>][#l<line>]
The text parameter trumps all, and <TEXT>
is simply:
<text>
Plain text
To create a URL or link as plain text and avoid external links, simply use the {{#tag:tagname|content}}
magic word construct:
{{#tag:nowiki| {{repo link | full = 1 }} }}
https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/
To use the <code> tags:
{{#tag:code|{{#tag:nowiki| {{repo link | full = 1 }} }}}}
https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/
Examples
Default view
This is for https://gitorious.org/fg/fgdata?p=fg:fgdata.git;a=commit;h=refs/merge-requests/100.
{{gitorious source | proj = fg | repo = fgdata | mr = merge-requests/100 | full = 1 }}.
https://gitorious.org/fg/fgdata?p=fg:fgdata.git;a=commit;h=refs/merge-requests/100.
Commit view
This is for https://gitorious.org/fg/fgdata?p=fg:fgdata.git;a=commit;h=refs/merge-requests/190.
{{gitorious source | proj = fg | repo = fgdata | view = commit | mr = merge-requests/190 }}.
gitorious/fg/fgdata/merge-requests/190.
Or as a URL:
{{gitorious source | proj = fg | repo = fgdata | view = commit | mr = merge-requests/190 | full = 1 }}.
https://gitorious.org/fg/fgdata?p=fg:fgdata.git;a=commit;h=refs/merge-requests/190.
Related templates
|