Скачать из Git
Git — распределённая система управления версиями файлов. Она позволяет загрузить самую последнюю версию исходного кода со всеми ветками и релизами в ваше распоряжение.
Если вы разработчик и хотите отправить патч, то вам нужно загрузить из Git.
Если вы не хотите участвовать в разработке, а хотите просто установить MediaWiki и расширения, то просто загрузите архив стабильного релиза.
Более подробную информацию можно найти на странице Git, особенно в части внесения вклада в проект. Ниже приводятся краткие рекомендации по нескольким наиболее распространенным задачам.
Необходимые компоненты
Вы должны установить Git прежде, чем начать его использовать. В зависимости от вашей операционной системы есть много способов это сделать. Перейдите к разделу Gerrit/Руководство#Настройка Git или используйте ваш любимый поисковик.
Рекомендуется, чтобы у вас был установлен Composer для загрузки и установки сторонних библиотек, но это не обязательно.
Использование Git для скачивания MediaWiki
Скачать
В настоящий момент вы можете скачать ядро MediaWiki с помощью Git, а также все расширения, установленные в настоящее время на кластере серверов Фонда Викимедиа, и многие другие расширения, размещённые на Gerrit .
Первым шагом является клонирование репозитория ядра MediaWiki. Это займёт некоторое время.
Скачать для разработки
Последняя разрабатываемая версия MediaWiki расположена в ветке 'master'.
Сперва убедитесь что вы создали аккаунт разработчика; так у вас будет имя пользователя от ssh.
Затем, в окне терминала введите следующую команду, чтобы клонировать репозиторий:
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git mediawiki
Это клонирует весь основной репозиторий MediaWiki, синхронизированный с master-веткой, в подкаталог с именем mediawiki
.
Чтобы установить в конкретную директорию, добавьте её в командную строку (больше информации смотрите в https://git-scm.com/docs/git-clone).
После того как репозиторий склонирован, вы можете легко переключится на другие ветки или метки.
Разрабатываемая ветка, master
, самая современная версия для разработчиков MediaWiki; вы ни при каких обстоятельствах не должны использовать код из master, поскольку он считается нестабильным.
Загрузка стабильной ветки
Если вы не хотите разрабатывать патчи, а просто хотите анонимно склонировать ветку стабильного релиза 1.42, то воспользуйтесь этой командой:
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_42 mediawiki
Если у вас медленное интернет-соединение и вы хотите уменьшить количество клонируемых ревизий, добавьте --depth=1
к команде git clone
.
Метки MediaWiki (стабильная версия)
Кроме того, определённые стабильные версии MediaWiki отмечаются с помощью «меток» (tags). Они аналогичны релизам в tar-архивах. На данный момент имеется 1.42.3 (стабильная), 1.39.10 (LTS) и 1.39.10 (legacy LTS).
Вы можете увидеть все доступные метки с помощью:
git tag -l | sort -V
Для использования специфической метки, например последнего стабильного релиза:
git checkout 1.42.3
Обновите Git-субмодули
В ветках и тегах есть группа подмодулей Git для часто используемых расширений и скинов, а также для каталога vendor/
.
В ветке master
их нет.
Для обновления субмодуля запустите:
cd mediawiki
git submodule update --init --recursive
Загрузка внешних библиотек
MediaWiki Composer для управления внешними библиотеками PHP. Они все находятся в каталоге vendor/
в MediaWiki каталоге.
Для установки этих библиотек, вы можете выбрать:
- Скачайте и установите composer PHAR. Если инструкции для вашей ОС необходимо переименовать файл composer.phar, то выполните это. А затем, запустите
composer update --no-dev
из вашего MediaWiki каталога. Это рекомендуемый подход.- Если версия PHP CLI по умолчанию не совпадает с версией PHP веб-сервера, укажите её, например,
php7.4 composer.phar update --no-dev
.
- Если версия PHP CLI по умолчанию не совпадает с версией PHP веб-сервера, укажите её, например,
- Если вы не хотите использовать Composer, или если вы хотите использовать точно такой же набор библиотек, который используется на производственном кластере WMF, вы можете вместо этого создать каталога
vendor/
внутри основного каталога установки MediaWiki:git clone https://gerrit.wikimedia.org/r/mediawiki/vendor.git
- Обратите внимание, что если у какого-либо из ваших расширений есть свои требования в Composer, тогда вы не можете использовать эту опцию.
До MediaWiki 1.25 внешние библиотеки хранились в основном репозитории, и менеджер пакетов не требовался.
Поддержание в актуальном состоянии
Если вы используете какую-то конкретную версию MediaWiki или разрабатываемую версию (ветку «master»), загрузка последних изменений довольно проста. Перейдите в ваш каталог с клоном MediaWiki и выполните эту команду:
git pull
Будут применены все последние изменения для ветки, которую вы используете.
Новая версия ядра может потребовать более новые версии расширений и скинов, так что необходимо перейти в каждый из каталогов расширений и скинов и обновить его командой наподобие git pull --recurse-submodules
.
Вам также понадобится обновить vendor/
до каких-либо новых версий требуемых библиотек.
Это часто означает выполнение следующей команды Composer, но см. #Загрузка внешних библиотек для получения дополнительных сведений:
composer update --no-dev
Кроме того, после обновления кода и необходимых библиотек вы должны запустить из командной строки update.php
скрипт, чтобы обновить таблицы баз данных как необходимо:
php maintenance/run.php update
Если вы используете MediaWiki-Vagrant , в этой программе есть специальная команда, vagrant git-update
, которая производит все эти действия.
Переключение на другую версию
Каждая из наших версий отслеживается через версии (branch) или метки. Для переключения на какую-либо другую версию (например из ветки master
на любую другую ветку или метку), checkout на необходимую версию или метку из вашего каталога клонированной MediaWiki:
git checkout <название_ветки>
или
git checkout <название_метки>
Изменения будут применены автоматически, и всё будет готово к работе.
Использование Git для скачивания расширений MediaWiki
Скачать расширение
- В следующих командах замените
<EXT>
на название расширения (без пробелов), которое вы хотите загрузить. Для Extension:TitleKey это будет TitleKey. (название регистрозависимо!)
Скачайте и клонируйте расширение с Git:
Под учётной записью разработчика используйте эти команды для получения master-ветки:
cd /path/to/extensions
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/<EXT>
Чтобы клонировать и извлечь стабильную ветку релиза, используйте следующие команды:
cd /path/to/extensions
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/<EXT> --branch REL1_42
Вы можете просмотреть исходный код расширений в приложении Gerrit's gitiles, а также по следующей ссылке:
https://gerrit.wikimedia.org/g/mediawiki/extensions/<EXT>/+/HEAD
Скачать все расширения
Если вы желаете загрузить на свой компьютер все расширения MediaWiki, которые находятся на gerrit.wikimedia.org, введите следующее:
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions
Или, чтобы вместо этого проверить ветку стабильных релизов, используйте следующую команду:
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions --branch REL1_42
После выполнения команды git clone
продолжите выполнение следующих команд:
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_41 origin/REL1_41 || :'
Запомните, что вы должны использовать только версии расширений из той же версии, что и версия MediaWiki.
Для отслеживания master ветки:
git submodule foreach 'git checkout -b origin/master || :'
Пожалуйста, обратите внимание, вы ни при каких обстоятельствах не должны использовать код из master, поскольку он считается нестабильным.
Если вам только нужен checkout в режиме только чтения (например, для анализа кода MediaWiki или обработки его grep), можно использовать общедоступный MediaWiki checkout на Labs, не скачивая ничего на ваши компьютеры.
Удалить расширение
- Удалите «
require_once …
» или «wfLoadExtension( … )
» изLocalSettings.php
- Удалите любую строку связанную с расширением в
composer.local.json
(обычно в разделе "extra → merge-plugin → include") - Удалите каталог с расширения в
install-dir/extensions/
Использование Git для скачивания тем оформления MediaWiki
MediaWiki версии 1.24 и более поздние версии не содержат темы оформления при загрузке с Git.
Следуйте тем же процедурам, что и для расширений (описано в предыдущей секции), но используя skins
вместо extensions
во всех URL и путях.
Подробные инструкции по установке доступны на странице каждой темы оформления на MediaWiki.org, например, см. Skin:Vector#Installation. Инструкции для всех остальных тем оформления аналогичны.
Смотрите также
Приложение
Версия от 14:26 21 марта 2019 года изменила стандарт ссылок на gerrit.wikimedia.org:
с:
- gerrit.wikimedia.org/r/p/mediawiki
на:
- gerrit.wikimedia.org/r/mediawiki