Завантажити з Git
Git — це розподілена система керування версіями. Вона дає змогу користувачу завантажити найновішу версію вихідного коду, з усіма відгалуженнями та позначеними релізами.
Якщо ви розробник і хотіли би пропонувати власні патчі, вам слід клонувати Git-репозиторій програмного забезпечення.
Якщо ж ви не плануєте брати участь у розробці, а хотіли б лише встановити MediaWiki та її розширення, просто завантажте архів стабільного релізу.
Див. Git для детальнішої інформації, в тому числі про те, як зробити свій внесок. Нижче наведено кілька прямих відсилань до кількох поширених завдань.
Передумови
Перед тим, як використовувати Git, ви маєте його встановити. Є чимало різних способів це зробити, вибір залежить від вашої операційної системи. Ось один із посібників про встановлення Git, але ви можете знайти й інші в Інтернеті.
Рекомендується, щоб у Вас був встановлений Composer для завантаження та встановлення сторонніх бібліотек, проте це не обов'язково.
Використання Git для завантаження MediaWiki
Завантаження
Ви можете завантажити ядро MediaWiki з допомогою Git, а також усі розширення, встановлені зараз на кластері серверів Фонду Вікімедіа, та багато інших розширень, що розміщені на Gerrit.
Перший крок — клонувати кореневий репозиторій MediaWiki. Це займе деякий час.
Завантаження для розробки
Гілка «master» містить найновішу версію MediaWiki, яка перебуває в розробці.
Спочатку пересвідчіться, що у вас є обліковий запис розробника, аби мати ім'я користувача ssh.
Потім у вікні терміналу введіть наступну команду, щоб склонувати репозиторій:
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git mediawiki
Це клонує (копіює) увесь репозиторій ядра MediaWiki, синхронизований з гілкою «master», у підкаталог з назвою mediawiki.
Аби встановити в іншу директорію, змініть це в командному рядку (подробиці в цьому документі).
Щойно репозиторій клоновано, ви можете перемикатися до інших гілок чи тегів.
Гілка розробників, master, містить найновішу версію MediaWiki з усіма новими змінами; код з неї в жодному разі не слід застосовувати на веб-сайті, бо він розглядається як нестабільний.
Завантаження стабільної гілки
Якщо ви не плануєте брати участь в розробці, а хотіли б лише анонімно клонувати стабільну версію (гілку релізу) 1.45, застосуйте натомість таку команду:
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_45 mediawiki
Якщо у вас повільне Інтернет-з'єднання або обмежений трафік, ви можете зменшити кількість клонованих версій, додавши --depth=1 до команди git clone.
Теги MediaWiki (стабільна версія)
Крім того, окремі стабільні версії MediaWiki позначено мітками («tags»). Вони подібні до tar-архівів з вихідним кодом. Наразі розрізняють 1.45.1 (стабільну), 1.43.6 (з довгим терміном підтримки) та 1.43.6 (успадковану з довгим терміном підтримки) версії.
Ви можете побачити всі наявні позначки в такий спосіб:
git tag -l | sort -V
Для перемикання на версію із певним тегом, приміром, до найновішого стабільного релізу:
git checkout 1.45.1
Оновлення модулів 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 чи хочете використати той самий набір бібліотек, який використано на виробничому кластері Фонду Вікімедіа, то можете натомість створення директорію
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-репозиторію:
З вашим обліковим записом розробника, використайте ці команди, щоб отримати основну гілку:
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_45
Ви можете переглянути вихідний код розширення у програмі 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_45
Після виконання команди 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_44 origin/REL1_44 || :'
Пам'ятайте, що слід використовувати саме ті версії розширень, які належать до відповідного релізу 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. Так само можна знайти й інструкції для інших тем.
Див. також
Доповнення
Ревізія станом на 14:26, 21 березня 2019 змінила стандарт посилання на gerrit.wikimedia.org:
від:
- gerrit.wikimedia.org/r/p/mediawiki
до:
- gerrit.wikimedia.org/r/mediawiki