Template:Gitorious source

From FlightGear wiki
Revision as of 17:09, 6 March 2016 by Bugman (talk | contribs) (Full support for aliased and numbered parameters, with examples to demonstrate the capabilities.)
Jump to navigation Jump to search

gitorious/fg/flightgear/HEAD


The following template description is not displayed when the template is inserted in an article.
Note  The Gitorious open source infrastructure is locked in a read-only archived state.

Goal

This template is for creating links or URLs for the content of 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 repositories.

Usage

{{gitorious source
| cmd        =
| opt        =
| type       =
| proj       =
| repo       =
| branch     =
| tag        =
| commit     =
| path       =
| line       =
| post       =

| view       =
| text       =
| pre        =
| simplepath =
| full       =
}}

The proj parameter, as well as the repo parameter, must be supplied. All other parameters are optional.

Parameter Description Abbreviated
parameter
Numbered
parameter
Status
cmd An optional command line tool name + options to prepend to the URL. For example git clone. optional
opt Any additional options to show after cmd, but before the URL.
Note The separation of cmd and opt is for future non-CLI handling of a standardised set of cmd parameter values
optional
type Choose between the web interface or a direct repository link. This can be one of git, git web. The default is git web. optional
proj The name of the project, consisting of a grouping of repositories on the open source infrastructure. 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. r 2 mandatory
branch The branch name. This defaults to next. b 3 optional
tag The repository tag name. optional
commit The commit identifier (git hash). This defaults to HEAD. c 5 optional
path The file or directory path. f 4 optional
line The line number(s) of the file to display. l optional
post Text to append. This is forms a set with the parameter cmd and opt. For example it can represent any command line options that come after the URL. optional
view View to display:
  • For the Gitorious archive use one of summary, shortlog, log, blob, commit, commitdiff, patch, tree, history, or raw. The default is commit if a merge request is supplied, blob if a path is given, commit if a commit is given, shortlog if a branch is given, or summary otherwise.
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.
Note The text parameter will override this.
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

The old FlightGear source repository

This is for the archived flightgear repository at https://gitorious.org/fg/flightgear.git. The automatically created URL, which is equivalent, should be https://gitorious.org/fg/flightgear?p=fg:flightgear.git;a=summary.

{{gitorious source
| text = The archived flightgear source code repository at Gitorious
}}

The archived flightgear source code repository at Gitorious.

The historic fgdata repository

This is for the historic repository https://gitorious.org/fg/fgdata.git. The automatically created URL, which is equivalent, should be https://gitorious.org/fg/fgdata?p=fg:fgdata.git;a=summary.

{{gitorious source
| repo = fgdata
| text = The archived fgdata repository at Gitorious, with full history from 2000-2015
}}

The archived fgdata repository at Gitorious, with full history from 2000-2015.

Git clone

This is for cloning the historic fgdata repository with git clone https://gitorious.org/fg/fgdata.git.

{{#tag:code | {{#tag:nowiki |
  {{gitorious source
  | cmd  = git clone
  | repo = fgdata
  | type = git
  | full = 1
  }}
}} }}

git clone https://gitorious.org/fg/fgdata.git

File with line number

This is for https://gitorious.org/fg/hoorays-fgdata?p=fg:hoorays-fgdata.git;a=blob;f=Nasal/ai/ai.nas;hb=refs/heads/topics/scriptable-ai-submodule#l1.

{{gitorious source
| repo   = hoorays-fgdata
| view   = blob
| branch = topics/scriptable-ai-submodule
| path   = Nasal/ai/ai.nas
| line   = 1
| text   = Scripted AI Objects repo
}}

Scripted AI Objects repo

File prefixed with $NASAL_SRC

This is for https://gitorious.org/fg/hoorays-fgdata?p=fg:hoorays-fgdata.git;a=blob;f=Nasal/ai/ai.nas;hb=refs/heads/topics/scriptable-ai-submodule.

{{gitorious source
| repo       = hoorays-fgdata
| view       = blob
| branch     = topics/scriptable-ai-submodule
| path       = Nasal/ai/ai.nas
| pre        = $NASAL_SRC
| simplepath = 1
}}

$NASAL_SRC/Nasal/ai/ai.nas

Raw view

This is for https://gitorious.org/fg/hoorays-fgdata?p=fg:hoorays-fgdata.git;a=blob_plain;f=Nasal/ai/ai.nas;hb=refs/heads/topics/scriptable-ai-submodule.

{{repo link
| site   = gito
| proj   = fg
| repo   = hoorays-fgdata
| view   = raw
| branch = topics/scriptable-ai-submodule
| path   = Nasal/ai/ai.nas
| full   = 1
}}

https://gitorious.org/fg/hoorays-fgdata?p=fg:hoorays-fgdata.git;a=blob_plain;f=Nasal/ai/ai.nas;hb=refs/heads/topics/scriptable-ai-submodule

Commit

This is for https://gitorious.org/nasal-standalone/nasal-experiments?p=nasal-standalone:nasal-experiments.git;a=commit;h=9b2d59c316d03b83cfb4352a38b865aa29f4c280.

{{gitorious source
| proj   = nasal-standalone
| repo   = nasal-experiments
| view   = commit
| commit = 9b2d59c316d03b83cfb4352a38b865aa29f4c280
| pre    = $NASAL_SRC
}}

$NASAL_SRC

Commitdiff

This is for https://gitorious.org/nasal-standalone/nasal-experiments?p=nasal-standalone:nasal-experiments.git;a=commitdiff;h=9b2d59c316d03b83cfb4352a38b865aa29f4c280.

{{gitorious source
| proj   = nasal-standalone
| repo   = nasal-experiments
| view   = commitdiff
| commit = 9b2d59c316d03b83cfb4352a38b865aa29f4c280
| pre    = $NASAL_SRC
}}

$NASAL_SRC

Main views

Summary view

This is for https://gitorious.org/fg/fgdata?p=fg:fgdata.git;a=summary.

{{gitorious source
| repo = fgdata
| view = summary
| full = 1
}}

https://gitorious.org/fg/fgdata?p=fg:fgdata.git;a=summary

Shortlog view

This is for https://gitorious.org/fg/fgdata?p=fg:fgdata.git;a=shortlog.

{{gitorious source
| repo = fgdata
| view = shortlog
| full = 1
}}

https://gitorious.org/fg/fgdata?p=fg:fgdata.git;a=shortlog

Log view

This is for https://gitorious.org/fg/fgdata?p=fg:fgdata.git;a=log;h=4c03a4968d2844c9c8ba734116da3478a1bebb38.

{{gitorious source
| repo   = fgdata
| view   = log
| commit = 4c03a4968d2844c9c8ba734116da3478a1bebb38
| full   = 1
}}

https://gitorious.org/fg/fgdata?p=fg:fgdata.git;a=log;h=4c03a4968d2844c9c8ba734116da3478a1bebb38

Abbreviated parameters

This is for https://gitorious.org/fg/hoorays-fgdata?p=fg:hoorays-fgdata.git;a=blob;f=Nasal/ai/ai.nas;hb=refs/heads/topics/scriptable-ai-submodule#l1.

{{gitorious source
| p     = fg
| r     = hoorays-fgdata
| b     = topics/scriptable-ai-submodule
| f     = Nasal/ai/ai.nas
| l     = 1
| v     = blob
| t     = Scripted AI Objects repo
| full = 1
}}.

https://gitorious.org/fg/hoorays-fgdata?p=fg:hoorays-fgdata.git;a=blob;f=Nasal/ai/ai.nas;hb=refs/heads/topics/scriptable-ai-submodule#l1 Scripted AI Objects repo.

Numbered parameters

This is for https://gitorious.org/fg/hoorays-fgdata?p=fg:hoorays-fgdata.git;a=blob;f=Nasal/ai/ai.nas;hb=refs/heads/topics/scriptable-ai-submodule#l1.

{{gitorious source | fg | hoorays-fgdata | topics/scriptable-ai-submodule | Nasal/ai/ai.nas | l = 1 | v = blob | t = Scripted AI Objects repo | full = 1 }}.

https://gitorious.org/fg/hoorays-fgdata?p=fg:hoorays-fgdata.git;a=blob;f=Nasal/ai/ai.nas;hb=refs/heads/topics/scriptable-ai-submodule#l1 Scripted AI Objects repo.

Related templates