التنزيل من Git
غت هو نظام لإدارة المراجعات الموزعة. يتيح لك هذا البرنامج تنزيل أحدث إصدار من النص المصدري، وتكون أيضا كافة أفرع البرمجيات وإصداراتها الموسومة تحت تصرفك.
ننصحك أن تنزل البرمجيات من غت لو كنت أحد المطورين وترغب في إرسال تصحيحات برمجية.
إذا لم تكن ترغب في تطوير برمجيات ميدياويكي وامتداداتها ولكن ترغب في تنزيلها فحسب، إذًا نزّل إصدارات تار المستقرة بدلا من ذلك.
طالع غت لمزيد من التفاصيل، خاصة في شأن المساهمة. النقاط التالية هي بعض التوجيهات السريعة لبعض من المهام الشائعة.
المتطلبات
يتعين عليك أن تنصّب غت قبل استخدامه. توجد سبل عدة للحصول على غت، وذلك يعتمد على نظام التشغيل الذي تستخدمه. اتبع الخطوات المبينة في Gerrit/Tutorial#Set up Git، أو استخدم محرك بحثك المفضل.
نحبذ لك أن تنصب Composer كي يتسنى لك تنزيل مكتبات الغير وتنصيبها، إلا أن هذا الأمر ليس إلزاميا.
استخدام غِت Git لتنزيل ميدياويكي
التنزيل
يمكنك تنزيل لب برمجيات ميدياويكي مستخدما غت، وكذلك كافة الامتدادات المنصبة في الوقت الراهن على مجموعة خوادم مؤسسة ويكيميديا وامتدادات أخرى عدة مستضافة على gerrit .
الخطوة الأولى هي استنساخ مستودع لب برمجيات ميدياويكي. سوف يستغرق هذا الأمر بعض الوقت.
التنزيل لأغراض تطوير البرمجيات
يجري تتبع أحدث إصدار تطويري من برمجيات ميدياويكي في الفرع 'الرئيسي'.
تأكد أولا أنك قد أنشأت حساب مطور برمجيات، حتى يتسنى لك الحصول على اسم مستخدم ssh.
بعد ذلك، ومن نافذة أوامر جهاز طرفي، أدخل الأمر التالي كي تستنسخ المستودع:
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git mediawiki
هذا الأمر يستنسخ كامل مستودع لب برمجيات ميدياويكي، الذي يتزامن مع الفرع الرئيسي، إلى دليل فرعي يحمل اسم mediawiki
.
إن كنت ترغب في التنصيب داخل دليل مختلف، غيّر هذه القيمة من سطر الأوامر (لمزيد من المعلومات راجع مستندات التوثيق هذه).
يمكنك مباشرة بعد الانتهاء من استنساخ المستودع الانتقال إلى أفرع ووسوم مختلفة.
إن فرع التطوير البرمجي، master
، هو أحدث وأفضل إصدار تطوير برمجي من برمجيات ميدياويكي؛ يتعين عليك ألا تستخدم الكود الرئيسي لأغراض الإنتاج تحت أي ظرف كان منذ أنه يعتبر إصدار مستقر.
حمّل فرع مستقر
إذا لم ترغب بتطوير تصحيحات البرنامج، ولكن عوضا عنه ترغب باسم مجهول أن تنسخ الإصدار المستقر من الفرع 1.42، فاستخدم هذا الأمر:
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_42 mediawiki
إن كان ليك اتصال بطيء بالإنترنت وترغب في تقليل عدد المراجعات التي سوف يجري استنساخها، أضف --depth=1
إلى أمر git clone
.
وسوم ميدياويكي (الإصدار المستقر)
عوضا عن ذلك، يجري متابعة إصدارات مستقرة بعينها من ميدياويكي باستخدام 'وسوم'. هذه الإصدارات موازية لإصدارات تار. في الوقت الحالي، هذه الوسوم هي 1.42.3 (مستقر) و 1.39.10 (إصدار دعم طويل الأجل) و 1.39.10 (قديم إصدار دعم طويل الأجل).
يمكنك رؤية كل الوسوم المتاحة مع:
git tag -l | sort -V
كي تستخدم وسم محدد، مثل أحدث إصدار مستقر (the latest stable release):
git checkout 1.42.3
تحديث وحدات غت للفرعية
تحتوي الأفرع والوسوم على مجموعة من وحدات غت الفرعية داخلها، لأغراض الامتدادات والسمات شائعة الاستخدام وأيضًا من أجل مجلد vendor/
.
الفرع master
لا يحتوي على هذه.
إن أردت تحديث النماذج الفرعية، شغّل الآتي:
cd mediawiki
git submodule update --init --recursive
إحضار مكتبات خارجية
تستعين برمجيات ميدياويكي بخدمة Composer في التعامل مع مكتبات بي إتش بي الخارجية، والتي ينتهي بها الحال جميعا في دليل vendor/
داخل دليل ميدياويكي.
لتثبيت هذه المكتبات الضّروريّة، لديك خيارات:
- تنزيل composer PHAR وتنصيبه، ولديك خيار إعادة تسمية ملف composer.phar حسب تعليمات نظام التشغيل لديك، ومن ثم تشغيل
composer update --no-dev
من داخل دليل ميدياويكي لديك. هذا السبيل هو السبيل الذي نحبذه.- لو كان إصدار بي إتش بي سي إل آي «PHP CLI» الافتراضي لا يضاهي إصدار بي تش بي لخادم الوب، حدد ذلك مستخدمًا على سبيل المثال
php7.4 composer.phar update --no-dev
.
- لو كان إصدار بي إتش بي سي إل آي «PHP CLI» الافتراضي لا يضاهي إصدار بي تش بي لخادم الوب، حدد ذلك مستخدمًا على سبيل المثال
- أو، لو لم تكن ترغب في استخدام Composer أو لو لم تكن ترغب في استخدام ذات المجموعة من مكتبات الباعة المستخدمة في عنقود إنتاج مؤسسة ويكيميديا، يمكن بدلا من ذلك إنشاء دليل
vendor/
داخل المجلد المركزي في تنصيب ميدياويكي لديك:git clone https://gerrit.wikimedia.org/r/mediawiki/vendor.git
- لاحظ أنه لو كانت أي من امتداداتك تحتوي على متطلبات Composer الخاصة بها، سوف لن يسعك استخدام هذا الخيار.
كان تحفظ المكتبات الخارجية قبل نسخة ميدياويكي 1.25 في المستودع المركزي، ولم يتطلب الأمر الاستعانة بمدير حزمة.
التحديث
لو كنت تستخدم فرع محدد أو إصدار تطوير برمجيات (فرع «رئيسي») من برمجيات ميدياويكي، سيكون اختيار آخر التغييرات أمر يسير. اذهب إلى دليل ميدياويكي المنسوخ لديك وأصدر الأمر التالي:
git pull
سوف تنفذ كافة التغييرات الأخيرة التي جرت على الفرع الذي تستخدمه.
قد تتطلب النسخة الجديدة من اللب البرمجي نسخ جديدة من الامتدادات والسمات، لذا سوف يتعين عليك أن تذهب إلى كل دليل امتداد وسمة وتحديثها مستخدم أمر مثل git pull --recurse-submodules
.
سوف تحتاج أيضا إلى تحديث vendor/
مستخدما أية إصدارات أحدث من المكتبات المطلوبة.
يعني هذا غالبا تشغيل أمر Composer التالي، لكن عليك أن تطالع فقرة إحضار مكتبات خارجية السالفة لتتعرف على المزيد من التفاصيل.
composer update --no-dev
بعد تحديث أو ترقية النص المصدري والمكتبات المطلوبة سيتعين عليك تشغيل النص البرمجي المخصص لسطر أوامر ميدياويكي update.php
كي تحدث جداول قاعدة البيانات حسب الحاجة:
php maintenance/run.php update
لو كنت تستخدم MediaWiki-Vagrant ، فهو يقدم لك أمر واحد فقط، vagrant git-update
، يتولى القيام بكل تلك الخطوات.
التبديل إلى نسخة أخرى
كل من نسخنا يجري متابعتها بصفة أفرع أو وسوم. كي تبدل إلى نسخة أخرى (على سبيل المثال من الفرع master
إلى فرع أو وسم آخر)، تحقق أولا من الفرع أو الوسم الذي ترغب فيه من داخل دليل ميدياويكي المنسوخ لديك:
git checkout <branch_name>
أو
git checkout <tag_name>
هذه التغييرات سوف تطبق آليا وسوف تكون جاهزا لبدء العمل.
استخدام غت لتنزيل امتدادات ميدياويكي
تنزيل امتداد
- في الأوامر التالية، ضع محل
<EXT>
اسم الامتداد الذي ترغب في تنزيله دون مسافات. من أجل Extension:TitleKey ، سوف تكون TitleKey. (تأكد من أن كافة الحروف تحافظ على حالتها!)
تنزيل امتداد واستنساخه من غت:
مستخدمًا حساب مطور البرمجيات الخاص بك، استخدم هذه الأوامر كي تصل إلى الفرع الرئيسي:
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
يمكنك الاطلاع على النص المصدري للامتداد في تطبيق gitiles من غيريت وكذلك على الوصلة الشبكية:
https://gerrit.wikimedia.org/g/mediawiki/extensions/<EXT>/+/HEAD
تنزيل كافة الامتدادات
إن كنت تفضل الحصول على كافة امتدادات ميدياويكي الموجودة في 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 || :'
تذكر أنه يتعين عليك أن تستخدم فقط نسخ الامتدادات من ذات الإصدار الخاص بتلك النسخة من برمجيات ميدياويكي وغيرها.
كي تتابع الفرع الرئيسي:
git submodule foreach 'git checkout -b origin/master || :'
يرجى ملاحظة أنه يتعين عليك ألا تستخدم الكود البرمجي الرئيسي في أغراض الإنتاج بأي حال من الأحوال منذ أنه يعد غير مستقر.
لو كنت ترغب فقط في الحصول على نسخة للقراءة فقط (على سبيل المثال لأجل grep أو تحليل كافة كود ميدياويكي البرمجي)، يمكنك استخدام ميدياويكي المشترك من Labs، دون تنزيل أي شيء على أي من أجهزتك.
إزالة امتداد
- أزل "
require_once …
" أو "wfLoadExtension( … )
" منLocalSettings.php
- أزل أي سطر يذكر الامتداد في
composer.local.json
(عادة في قسم "extra → merge-plugin → include") - أزل دليل الامتداد في
install-dir/extensions/
استخدام غت لتنزيل سمات ميدياويكي
لا يضم إصدار ميدياويكي 1.24 وما بعده السمات في تنزيل غت.
اتبع ذات الخطوات المتبعة في تنزيل الامتدادات (المبينة في القسم السالف)، ولكن استخدم 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