Revision 2529092 of "Download from Git/sr" on mediawikiwiki<languages />
: "Јер mediawiki верзија 1.19beta2, 1.18.2, 1.17.3, језгра mediawiki и додатака користе [[$Special:MyLanguage/Gerrit|у гит]] за контролу верзије. За старије верзије, погледајте [[$SVN|са субверзија]]"
"'[[w:Git (software)|Git]]"' - то је дистрибуира контрола верзије софтвера, који омогућава корисницима да преузмете најновију верзију гране, не чекајући некога око да се спакује га. Mediawiki не може да се ослободи брже, а то ће бити лакше за вас да ажурирате инсталације, вратити исправке, или [$багзиллу пошаљу закрпе]. (Наравно увек се сећам званичне стабилна издања су мање ризично.)
Цм. [[Special:MyLanguage/Gerrit|Git]] за више детаља, посебно за плаћање доприноса. Испод су неке брзе правцима на неколико заједничких задатака.
== Предуслови ==
Морате да инсталирате гит, пре него што можете да га користите. Постоји много различитих начина за стицање Гит, у зависности од вашег оперативног система. За извор и званичне бинарних датотека, погледајте [http://git-scm.com/ git-scm.com]. За алтернативних начина инсталације гит, користите свој омиљени претраживач да пронађете упутства за ваш оперативни систем.
Препоручује се да имате $[https://getcomposer.org/ composer] инсталиран да преузмете и инсталирате независних библиотеке, али није обавезно.
== Преко гит да преузмете mediawiki ==
=== Преузети ===
Можете преузети језгра mediawiki преко гит, као и све додатке инсталиране на кластеру сервера Фондације Викимедија и многих других додатака, постављен на ${{ll|gerrit}}.
Први корак-да клонира репозитарий језгра mediawiki. То ће потрајати неко време.
У прозору терминала, унесите следећу команду:
<syntaxhighlight lang="bash">
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git
</syntaxhighlight>
То клонови цео репозитарий језгра mediawiki у директоријум са именом <tt>core</tt>. За уградњу у наведени директоријум, да додам да је за командне линије (за више [http://git-scm.com/docs/git-clone сошлитесь на ове документе]). Подразумевано је "огранак" <code>master</code>, напредне, Програмер верзије mediawiki. Како је само спремиште клонируется, можете лако да се пребацујете на разне гране или ознаке (види доле), укључујући и праћење стабилне верзије mediawiki.
==== Довнлоад за развој ====
Ако имате [[Special:MyLanguage/Developer access|Девелопер приступ]] (који је лако да затражи), уместо клонирање анонимно са https, морате да клона са својим путем SSH "<КОРИСНИК>" тако да можете да замислите промене за коментар:
{{#tag:source|
git clone ssh://<Корисничко име>@gerrit.wikimedia.org:29418/mediawiki/core.git
|lang=bash}}
* {{git file|action=tree|project=mediawiki/core|branch=master|text=Погледајте најновији изворни код}}
{{anchor|Fetch external libraries}}
==== Узорак спољних библиотека ====
Почевши са mediawiki 1.25, неким страним библиотекама да mediawiki захтева више у то "језгро" гит гит.
Ми користимо [[composer]], да их управљају.
Да бисте инсталирали ове библиотеке је потребно, имате избор:
* [https://getcomposer.org/doc/00-intro.md#globally преузмите и инсталирајте композитор], пребаците на ваш главни директоријум и покрените <kbd>'''composer install --no-dev'''</kbd>. Note that if you have an existing <code>composer.lock</code> file you will need to run <kbd> '''composer update --no-dev'''</kbd> instead.
* If you don't want to use composer, or if you want to use the same set of vendor libraries as used on the WMF production cluster, you can instead <kbd>git clone https://gerrit.wikimedia.org/r/p/mediawiki/vendor.git</kbd> to create a <code>vendor/</code> directory inside the core folder of your MediaWiki installation. Make sure you use the right branch for your MediaWiki version (e.g. <code>REL1_25</code> for 1.25).
==== Specific MediaWiki versions====
===== WMF branches =====
Remote branches track the MediaWiki versions used on the Wikimedia Foundation server cluster. These may not be entirely stable, but they receive very quick bug fixes and are generally stable enough – after all, these are what major projects such as Wikipedia are using. Once a REL* branch is considered 'stable', we '[[#MediaWiki_tags_.28stable_version.29|tag]]' it and turn it into a tarball release.
To see what branches are available, switch to your MediaWiki core directory and enter the following command:
<source lang=bash>
git branch -r | sort -V
</source>
Major releases are denoted by "origin/REL<release number>", e.g. "origin/{{MW stable branch git}}". To switch to a particular release branch:
{{#tag:source|
git checkout -b REL<release number> origin/REL<release number>
|lang=bash}}
For example, to switch to the current stable version, {{MW stable release number}}, enter:
{{#tag:source|
git checkout -b {{MW stable branch git}} origin/{{MW stable branch git}}
|lang=bash}}
===== MediaWiki tags (stable version) =====
Alternatively, specific stable versions of MediaWiki are tracked using 'tags'. These are analogous to the tarball releases. You can see the versions available with:
<source lang=bash>
git tag -l | sort -V
</source>
Using non GNU sort command, such as on Mac OS X, you have to rely on the good old separators:
<source lang=bash>
git tag -l | sort -n -t. -k1 -k2 -k3
</source>
To use a specific tag:
{{#tag:source|
git checkout <tag name>
|lang=bash}}
==== Latest development version of MediaWiki ====
The latest development version of MediaWiki is tracked in the 'master' branch. This is what is locally checked out by default when you first clone the MediaWiki repository. If you have switched to another branch but would like to switch back to using bleeding-edge MediaWiki, do:
<source lang=bash>
git checkout master
</source>
=== Keeping up to date ===
If you're using a particular branch or the development version ("master" branch) of MediaWiki, picking up the latest changes is relatively easy. Change into your MediaWiki clone directory and issue the <kbd>git pull</kbd> command:
<source lang=bash>
git pull
</source>
All of the latest changes for the branch you are using will be applied.
The new version of core may require newer versions of extensions and skins, so you must go into each extension and skin directory and update it with a command like <kbd>git pull --recurse-submodules</kbd>.
After updating/upgrading you should run the MediaWiki <code>{{ll|Manual:update.php|update.php}}</code> command-line script to update database tables as needed:
<source lang=bash>
php maintenance/update.php
</source>
You also need to update <code>mediawiki/vendor</code> to any newer versions of required libraries, see [[#Fetch external libraries]].
If you use [[MediaWiki-Vagrant]], it offers a single command, <kbd>vagrant git-update</kbd>, that performs all these steps.
=== Switching to a different version ===
Switching to a different version of MediaWiki is far simpler with Git than with SVN. Each of our versions are tracked as branches or tags. In order to switch to one of these, all you have to do is [https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging checkout] the particular branch or tag you want from within your MediaWiki clone directory:
{{#tag:source|
git checkout <branchname>
|lang=bash}}
or
{{#tag:source|
git checkout <tag name>
|lang=bash}}
The changes will be applied automatically and you will be all set to go.
== Using Git to download MediaWiki extensions ==
: [https://gerrit.wikimedia.org/r/#/admin/projects/?filter=mediawiki%252Fextensions%252F List of extensions in git]
=== Download an extension ===
: ''<EXT> should be replaced with the name of the extension you want to download, without spaces. For [[Special:MyLanguage/Extension:TitleKey|Extension:TitleKey]], it would be TitleKey. (case sensitive!)''
Download and clone an extension from Git:
{{#tag:source|
cd /path/to/extensions
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/<EXT>.git
|lang=bash}}
[[Developer access|Developers]] clone with:
{{#tag:source|
git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/extensions/<EXT>.git
|lang=bash}}
You can view extension source code in [[phab:diffusion|Phabricator's diffusion]] application, and at the URL:
<pre style="white-space: pre-wrap;">
https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/extensions/<EXT>.git;a=tree;h=refs/heads/master;hb=master
</pre>
=== Download all extensions ===
If you prefer to have ''all'' MediaWiki extensions that are at gerrit.wikimedia.org checked out to your machine, enter the following:
<source lang="bash">
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions.git
cd extensions
git submodule update --init --recursive
</source>
Thereafter, to update all extensions to their latest versions, just enter:
<source lang="bash">
cd /path/to/extensions
git pull
git submodule update --init --recursive
</source>
To track a specific branch:
{{#tag:source|
git submodule foreach 'git checkout -b {{MW stable release git}} origin/{{MW stable release git}} {{!}}{{!}} :'
|lang=bash}}
If you only need a read-only checkout (for instance to grep or analyse all MediaWiki code), you can use the [[wikitech:Help:Shared_storage#/shared/mediawiki/|shared MediaWiki checkout on Labs]], without downloading anything on your machines.
=== Remove an extension ===
Just remove the extension folder and remove the "<code>require_once …</code>" from <code>LocalSettings.php</code>.
== Using Git to download MediaWiki skins ==
: [https://gerrit.wikimedia.org/r/#/admin/projects/?filter=mediawiki%252Fskins%252F List of skins in git]
MediaWiki 1.24 and later don't include skins in the Git download.
Follow the exact same procedure as for extensions (described in the previous section), but using <code>skins</code> rather than <code>extensions</code> in all URLs and paths.
Detailed installation instructions are available on each skin's page here on MediaWiki.org, for example see [[Special:MyLanguage/Skin:Vector#Installation|Skin:Vector#Installation]]. Instructions for all other skins are analogous.
== See also ==
* [[Special:MyLanguage/Migrating from SVN to Git|Migrating from SVN to Git]]
* [[Special:MyLanguage/Nightlies|Nightlies]], an alternate to downloading from Git
[[Category:MediaWiki development{{translation}}]]
[[Category:MediaWiki Introduction{{translation}}]]
[[Category:Installation{{translation}}]]
[[Category:Git{{translation}}]]All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://mediawiki.org/w/index.php?oldid=2529092.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|