Git からのダウンロード
Git は分散型バージョン管理システムソフトウェアです。 利用者がすべてのブランチやタグ付きリリースからソースコードの「最新」バージョンを自由に選んでダウンロードできる仕組みです。
開発者でパッチを提出したい場合は、Gitからダウンロードしてください。
開発はしたくないけれども MediaWiki と拡張機能のインストールだけでご満足でしたら、むしろターボールの安定版リリースのダウンロードをお勧めします。
詳細情報は、特に貢献をするにはGit を参照してください。基本作業のいくつかは、以下に概要を示します。
要件
使用するにはまず Git をインストールしてください。Git はさまざまな方法で入手できますが、ご使用中のオペレーティング システムに依存します。 リンクGerrit/Tutorial#Set up Gitを開くか、使いやすい検索エンジンで探します。
サードパーティーのライブラリをダウンロードするには、Composer のインストールをお勧めしますが、必須ではありません。
MediaWiki のダウンロードに Git を使用
ダウンロード
Git を使用すると MediaWiki コア (SVN の phase3)のほか、ウィキメディア財団のサーバー クラスタ上に現在インストールしてある拡張機能のすべてと、その他Gerrit で提供する多くの拡張機能をダウンロードできます。
まず、MediaWiki のコア リポジトリをクローン (複製) します。これには時間が掛かる場合があります。
開発者向けダウンロード
MediaWiki の最新の開発バージョンは、「master」ブランチで追跡されています。
まず開発者アクセス権をお持ちかどうか確認、セキュアシェル プロトコルsshの「利用者名」を持っているか調べます。
続いてターミナル画面を開き、以下のコマンドを入力します。ご自分の ssh <利用者名> を使用してクローンを作成すると、パッチをレビューにかけることができます。
git clone ssh://<利用者名>@gerrit.wikimedia.org:29418/mediawiki/core.git mediawiki
これはマスターブランチと同期させながら、MediaWikiコアリポジトリ全体をmediawiki
と名づけたサブディレクトリにクローンする手順です。
インストール先のディレクトリを変更するには、コマンドラインに保存先を書き込みます (手順の詳細は外部の説明文書を参照してください。)
リポジトリがクローンされると簡単に異なるブランチやタグに切り替えができます。
そこで、開発ブランチ master
は最先端の開発者向けMediaWikiですが安定しているとはみなさず、どのような状況下でも絶対にマスターコードを本番用環境に使用してはいけません。
安定版をダウンロード
ソフトウェアのパッチ開発をせず、匿名で安定版実装分岐1.38のクローンを希望される場合は、下記のコマンドをご利用ください。
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_38 mediawiki
ネット接続が遅いためクローンするリビジョンの数を減らしたい場合は、上記のgit clone
コマンドに--depth=1
を追加します。
MediaWiki タグ (安定バージョン)
一方、MediaWiki の特定の安定バージョンは「タグ」で追跡されています。これらの内容は tar アーカイブ リリースと似ています。 現存するバージョンは 1.38.1 (安定バージョン)、1.35.7 (LTS)、1.35.7 (旧LTS) です。
使用できるタグの一覧はこちら:
git tag -l | sort -V
特定のタグを使用する方法。たとえば現状の最新リリースは:
git checkout 1.38.1
Gitサブモジュールの更新
その理由はよく使用される拡張機能や外装に対して、リリースブランチに大量のGit下位モジュールがあるからです(マスターブランチには存在しない)。下位モジュールは、次のコマンドを実行して更新します。
The master
branch does not have these.
To update the submodules, run:
cd mediawiki
git submodule update --init --recursive
外部ライブラリの取得
MediaWiki が外部 PHP ライブラリの管理に使用する Composer は、どの場合もご使用の MediaWiki ディレクトリ内の vendor/
ディレクトリを参照します。
これらの必要なライブラリをインストールするには、以下の選択肢があります:
- composer PHAR をダウンロードしてインストールし、場合により composer.phar のファイルを名称変更。その後、ローカルの MediaWiki ディレクトリに移動して
composer update --no-dev
を実行する方法です。以上が推奨される手順です。 - または、Composer を使いたくない場合、またはウィキメディア財団の本番クラスターと同一のベンダー ライブラリを使用したい場合、代わりにご利用の MediaWiki インストレーションのコア フォルダーに
vendor/
ディレクトリを作成します:- With your developer account, use this command:
git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/vendor.git
- For anonymous checkout, use this command:
git clone https://gerrit.wikimedia.org/r/mediawiki/vendor.git
- ご利用の拡張機能ごとに独自の Composer 要件が設定されている場合は、このオプションは使用できません。
- With your developer account, use this command:
MediaWiki 1.25 未満では、外部ライブラリはコアのリポジトリに保管され、パッケージ マネージャーは不要でした。
最新の状態に保つ
MediaWiki の特定のブランチまたは開発バージョン (「master」ブランチ) を使用している場合は、最新の変更点の入手は割合に簡単です。ご利用の MediaWiki をクローンしたディレクトリに移動して、 このコマンドを実行してください:
git pull
ご使用中のブランチに対する最新の変更点がすべて適用されます。
場合によっては新しいバージョンのコアに新しい拡張機能や外装が必要なため、拡張機能や外装ごとにそれぞれのディレクトリに移動し、git pull --recurse-submodules
といったコマンドでそれらを更新しなくてはいけません。
さらに vendor/
を必須ライブラリのより新しいバージョンに更新する必要があります。
多くの場合、下記の Composer コマンドを実施するのですが、手順は前述の#外部ライブラリの取得を参照します。
composer update --no-dev
そしてコードと必須ライブラリの更新/アップグレード後は、データベース・テーブルの更新が求められるため、引きつづき MediaWiki のコマンドラインスクリプト update.php
を実行します。
php maintenance/update.php
MediaWiki-Vagrant を利用している場合は、これら一連の手順を一度で実行してくれる vagrant git-update
コマンドがあります。
別のバージョンへの切り替え
各バージョンはブランチやタグで追跡されていて、どれに切り替えるにしても、手順はご利用の MediaWiki をクローンしたディレクトリ内でお好みのブランチやタグ(master
ブランチから別のブランチへまたは別のタグへ)をチェックアウトするだけです。
git checkout <ブランチ名>
または
git checkout <タグ名>
変更内容が自動的に適用され、すべてすぐに使用できる状態になります。
MediaWiki 拡張機能のダウンロードに Git を使用
拡張機能のダウンロード
- 以下のコマンド内の
<EXT>
を、ダウンロードしたい拡張機能の名前に読み替えてください (空白は不要です)。例えば拡張機能 Extension:TitleKey の場合は TitleKey になります。(大文字小文字は区別されます。)
1件の拡張機能を Git からダウンロードしてクローンします:
With your developer account, use these commands to get the master branch:
cd /path/to/extensions
git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/extensions/<EXT>
For anonymous checkout of the stable branch instead, use these commands:
cd /path/to/extensions
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/<EXT> --branch REL1_38
拡張機能のソースコードを見るには、アプリケーションのGerrit's gitilesを使うか、もしくは以下のURLを利用します。
https://gerrit.wikimedia.org/g/mediawiki/extensions/<EXT>/+/refs/heads/master
すべての拡張機能のダウンロード
gerrit.wikimedia.org から すべての MediaWiki 拡張機能をご利用の端末にダウンロードしたい場合は、以下をコマンドラインに入力します:
With your developer account, to get the master branch:
git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/extensions
For anonymous checkout of the stable branch instead, use this command:
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions --branch REL1_38
After running the git clone
command, continue with these commands:
cd /path/to/extensions
git submodule update --init --recursive
すべての拡張機能をそのブランチの最新版に更新するには、以下を入力します:
cd /path/to/extensions
git pull
git submodule update --init --recursive
新しいリリース後など、別のブランチに変更するには:
git submodule foreach 'git checkout -b REL1_37 origin/REL1_37 || :'
そのバージョンのMediaWikiと同じリリースの拡張機能のみを使用してください。
マスターブランチを追跡するには:
git submodule foreach 'git checkout -b origin/master || :'
安定しているとは考えられないため、どのような状況下でも、本番用環境にマスターコードを使用すべきではありません。
読み取り専用のチェックアウトで十分なら(例えばMediaWikiコード全体を検索、分析するとき)、ご利用の端末に何もダウンロードせずにLabsにある共有の MediaWiki チェックアウトを利用すればよいのです。
拡張機能の除去
LocalSettings.php
から「require_once …
」または「wfLoadExtension( … )
」を除去。composer.local.json
内で拡張機能を参照する行をすべて除去 (通常は「extra → merge-plugin → include」の手順に従う)install-dir/extensions/
から拡張機能のディレクトリを除去。
MediaWiki 外装のダウンロードに Git を使用
Gitのダウンロードにおいて、MediaWiki 1.24以降では、外装が含まれていません。
上記の拡張機能の場合とまったく同じ手順を踏んでください (手順は前の節で解説)。ただしどの URL でもパスでも、文字列中の extensions
を skins
で置き換えます。
手順についての詳細情報は、ここ MediaWiki.org 上のそれぞれの外装のページにあります (例: Skin:Vector#インストール)。他のどの外装の手順も同様です。
関連項目
- Intranet/Intranet Installation - MediaWiki に Git を使う方法。配布とカスタマイズの基本、更新手順について、よく練ってある説明文書の一部分が参考になる。
Appendix
The Revision as of 14:26, 21 March 2019 changed the standard of linking to gerrit.wikimedia.org:
from:
- gerrit.wikimedia.org/r/p/mediawiki
to:
- gerrit.wikimedia.org/r/mediawiki