Завантажити з Git
Git — це розподілена система керування версіями. Вона дає змогу користувачу завантажити найновішу версію вихідного коду, з усіма відгалуженнями та позначеними релізами.
Якщо ви розробник і хотіли би пропонувати власні патчі, вам слід клонувати Git-репозиторій програмного забезпечення.
Якщо ж ви не плануєте брати участь у розробці, а хотіли б лише встановити MediaWiki та її розширення, просто завантажте архів стабільного релізу.
Див. Git для детальнішої інформації, в тому числі про те, як зробити свій внесок. Нижче наведено кілька прямих відсилань до кількох поширених завдань.
Передумови
Перед тим, як використовувати Git, ви маєте його встановити. Є чимало різних способів це зробити, вибір залежить від вашої операційної системи. Ось один із посібників про встановлення Git, але ви можете знайти й інші в Інтернеті.
Рекомендується, щоб у Вас був встановлений Composer для завантаження та встановлення сторонніх бібліотек, проте це не обов'язково.
Використання Git для завантаження MediaWiki
Завантаження
Ви можете завантажити ядро MediaWiki з допомогою Git, а також усі розширення, встановлені зараз на кластері серверів Фонду Вікімедіа, та багато інших розширень, що розміщені на Gerrit .
Перший крок — клонувати кореневий репозиторій MediaWiki. Це займе деякий час.
Завантаження для розробки
Гілка «master» містить найновішу версію MediaWiki, яка перебуває в розробці.
Спочатку пересвідчіться, що у вас є обліковий запис розробника, аби мати ім'я користувача ssh.
Відтак у вікні терміналу введіть таку команду з вашим ssh {{$1|USERNAME}}
для клонування, аби мати можливість надсилати патчі для оцінки досвідченішими розробниками:
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git mediawiki
Це клонує (копіює) увесь репозиторій ядра MediaWiki, синхронизований з гілкою «master», у підкаталог з назвою mediawiki
.
Аби встановити в іншу директорію, змініть це в командному рядку (подробиці в цьому документі).
Щойно репозиторій клоновано, ви можете перемикатися до інших гілок чи тегів.
Гілка розробників, master
, містить найновішу версію MediaWiki з усіма новими змінами; код з неї в жодному разі не слід застосовувати на веб-сайті, бо він розглядається як нестабільний.
Завантаження стабільної гілки
Якщо ви не плануєте брати участь в розробці, а хотіли б лише анонімно клонувати стабільну версію (гілку релізу) 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.1 (стабільну), 1.39.8 (з довгим терміном підтримки) та 1.39.8 (успадковану з довгим терміном підтримки) версії.
Ви можете побачити всі наявні позначки в такий спосіб:
git tag -l | sort -V
Для перемикання на версію із певним тегом, приміром, до найновішого стабільного релізу:
git checkout 1.42.1
Оновлення модулів Git
Гілки містять посилання на багато модулів, — це, зокрема, популярні розширення та скіни (основна гілка «master» такого не містить). Оновити модулі можна командою:
The master
branch does not have these.
To update the submodules, run:
cd mediawiki
git submodule update --init --recursive
Вибірка зовнішніх бібліотек
MediaWiki використовує Composer для керування зовнішніми бібліотеками PHP, які зрештою опиняються в піддиректорії vendor/
вашої установки MediaWiki.
Щоб встановити ці необхідні бібліотеки, Ви можете вибрати:
- Завантажити і встановити composer PHAR, опціонально перейменувати файл composer.phar згідно з інструкцією для вашої операційної системи, й тоді запустити
composer update --no-dev
з директорії, в яку встановлено MediaWiki. Рекомендовано саме такий підхід.- If the default PHP CLI version does not match the web server's PHP version, specify it with e.g.
php7.4 composer.phar update --no-dev
.
- If the default PHP CLI version does not match the web server's PHP version, specify it with e.g.
- Або ж, якщо Ви не бажаєте використовувати composer чи хочете використати той самий набір бібліотек, який використано на виробничому кластері Фонду Вікімедіа, то можете натомість створення директорію
vendor/
всередині кореневої директорії Вашої інсталяції MediaWiki:git clone https://gerrit.wikimedia.org/r/mediawiki/vendor.git
- Зверніть увагу: якщо хоча б одне з установлених вами розширень має власні вимоги до Composer, то у вас не вийде застосувати цю схему.
До MediaWiki 1.25 зовнішні бібліотеки зберігалися в репозиторії ядра і потреби в менеджері пакетів не було.
Своєчасне оновлення
Якщо Ви використовуєте певну гілку або основну версію розробки (гілку «master») MediaWiki, оновлення репозиторію відносно просте. Перейдіть до своєї директорії MediaWiki (куди відбувалося клонування) і виконайте команду:
git pull
До вашої локальної версії коду буде внесено всі нові зміни використовуваної вами гілки.
Нова версія ядра може вимагати новіших версій розширень і тем оформлення, тому Ви маєте перейти у кожну директорію розширень і тем й оновити її командою на зразок git pull --recurse-submodules
.
Вам також слід оновити vendor/
до новіший версій необхідних бібліотек.
Часто для цього достатньо виконати таку команду Composer (але погляньте #Вибірка зовнішніх бібліотек вище за подробицями):
composer update --no-dev
Після оновлення ядра та необхідних бібліотек слід виконати скрипт MediaWiki update.php
з командного рядку, щоб відповідним чином оновити таблиці бази даних:
php maintenance/run.php update
Якщо Ви використовуєте MediaWiki-Vagrant , там є єдина команда, vagrant git-update
, що виконує усі ці кроки.
Як перемкнутися на іншу версію
Кожна з наших версій відслідковується за допомогою або окремих гілок, або тегів. Щоб перемкнутися на таку версію (прикладом, з гілки master
на іншу гілку чи тег), слід у Вашій локальній копії репозиторію MediaWiki виконати «checkout» із зазначенням бажаної гілки або тегу:
git checkout <назва_гілки>
або
git checkout <назва_тегу>
Зміни буде застосовано автоматично.
Використання Git для завантаження розширень MediaWiki
Завантаження розширення
- В наступних командах
<EXT>
слід замінити назвою розширення, яке Ви хочете завантажити, без пропусків. Так, для Extension:TitleKey це має бути TitleKey (чуттєво до регістру літер!)
Клонування (завантаження) розширення з Git-репозиторію:
With your developer account, use these commands to get the master branch:
cd /path/to/extensions
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/<EXT>
To clone and checkout a stable release branch instead, use these commands:
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
Or, to checkout stable releases branch instead, use this command:
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions --branch REL1_42
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_41 origin/REL1_41 || :'
Пам'ятайте, що слід використовувати саме ті версії розширень, які належать до відповідного релізу MediaWiki.
Аби відслідковувати основну гілку «master»:
git submodule foreach 'git checkout -b origin/master || :'
Зверніть увагу, що в жодному разі не слід використовувати код із основної гілки «master» на веб-сайті, оскільки він розглядається як нестабільний.
Якщо Вам потрібен checkout у режимі лише для читання (наприклад, для обробки grep чи аналізу всього коду MediaWiki), Ви можете скористатися загальнодоступним MediaWiki checkout на Labs без завантаження чого-небудь на свої машини.
Вилучення розширення
- Видаліть «
require_once …
» чи «wfLoadExtension( … )
» ізLocalSettings.php
- Видаліть будь-які рядки, де в
composer.local.json
згадується це розширення (зазвичай у розділі «extra → merge-plugin → include») - Видаліть каталог розширення із
install-dir/extensions/
Використання Git для завантаження тем оздоблення MediaWiki
Починаючи з MediaWiki 1.24, теми оздоблення не включено до стандартного Git-завантаження.
Виконайте ті самі кроки, що й для розширень (описані в попередньому розділі), але використовуйте у всіх URL-посиланнях та шляхах skins
замість extensions
.
Детальні інструкції з інсталяції кожної теми оздоблення доступні тут на MediaWiki.org, приміром, Skin:Vector#Installation. Так само можна знайти й інструкції для інших тем.
Див. також
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