Manual:$wgGitRepositoryViewers/zh
<translate> Maintenance scripts setting</translate>: $wgGitRepositoryViewers | |
---|---|
Map of Git repository URLs to their gitweb interface URLs |
|
<translate> Introduced in version:</translate> | 1.20.0 (Gerrit change 6776; git #8bab490d) |
<translate> Removed in version:</translate> | <translate> still in use</translate> |
<translate> Allowed values:</translate> | (array) |
<translate> Default value:</translate> | (参见下方) |
<translate> Other settings:</translate> <translate> Alphabetical</translate> | <translate> By function</translate> |
细节
Maps Git repository URLs to viewer URLs to provide links in Special:Version. Special:Version looks up git remote configuration and identifies a correct git remote entry for the branch of code that is currently being run.
This URL needs to be converted in to the gitweb interface URL (if available), so that git revision identifiers (in the form of SHA-1 hash) can be linked to the repository viewer.
This variable is an array of (key, value) pairs, the key is used to look up the git remote entry URL. The key is a pattern passed to preg_match() and preg_replace(), without the delimiters (which are #) and must match the whole URL.
The value is a pattern to obtain a correct URL for the gitweb interface. The value is the regular expression replacement for the key (it can contain $1, etc.). %h will be replaced by the short SHA-1 (7 first chars) and %H by the full SHA-1 of the HEAD revision.
Default value
<translate> MediaWiki version:</translate> |
$wgGitRepositoryViewers = [
'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' => 'https://gerrit.wikimedia.org/g/%R/+/%H',
'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' => 'https://gerrit.wikimedia.org/g/%R/+/%H',
];
<translate> MediaWiki versions:</translate> |
$wgGitRepositoryViewers = [
'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
'https://phabricator.wikimedia.org/r/revision/%R;%H',
'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
'https://phabricator.wikimedia.org/r/revision/%R;%H',
];
<translate> MediaWiki versions:</translate> |
$wgGitRepositoryViewers = array(
'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
'https://git.wikimedia.org/tree/%r/%H',
'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
'https://git.wikimedia.org/tree/%r/%H',
);
MediaWiki版本: |
$wgGitRepositoryViewers = array(
'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
'https://git.wikimedia.org/commit/%r/%H',
'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
'https://git.wikimedia.org/commit/%r/%H',
);
MediaWiki版本: |
$wgGitRepositoryViewers = array(
'https://gerrit.wikimedia.org/r/p/(.*)' => 'https://git.wikimedia.org/commit/%r/%H',
'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)'
=> 'https://git.wikimedia.org/commit/%r/%H',
);
<translate> MediaWiki versions:</translate> |
$wgGitRepositoryViewers = array(
'https://gerrit.wikimedia.org/r/p/(.*)' => 'https://gerrit.wikimedia.org/r/gitweb?p=$1;h=%H',
'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' => 'https://gerrit.wikimedia.org/r/gitweb?p=$1;h=%H',
);
Example
If you have the following entry in .ssh/config (as described in Setup SSH shortcut):
Host review
Hostname gerrit.wikimedia.org
Port 29418
User username
And if your git remote used to fetch MediaWiki is configured in the following way in .git/config:
[remote "review"]
url = ssh://review/mediawiki/core.git
fetch = +refs/heads/*:refs/remotes/review/*
then this entry in LocalSettings.php will make ssh://review/mediawiki/core.git
URL to be recognized as pointing to the Wikimedia git repository:
$wgGitRepositoryViewers['ssh://(?:[a-z0-9_]+@)?review/(.*)'] = 'https://gerrit.wikimedia.org/r/gitweb?p=$1;h=%H';
GitHub
When using extensions that are maintained at GitHub, you can use this to link them.
$wgGitRepositoryViewers['https://github.com/(.*?)(.git)?'] = 'https://github.com/$1/commit/%H';