MediaWiki/Git: Unterschied zwischen den Versionen

Aus Foxwiki
Die Seite wurde neu angelegt: „[https://en.wikipedia.org/wiki/Git_(software) Git] ist ein [https://en.wikipedia.org/wiki/Distributed_Version_Control_System System zur Verwaltung von verteilt…“
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
[https://en.wikipedia.org/wiki/Git_(software) Git] ist ein [https://en.wikipedia.org/wiki/Distributed_Version_Control_System System zur Verwaltung von verteilten Softwareversionen]. Es ermöglicht das Herunterladen der letzten Version des inklusive aller und markierten Versionen ganz nach den eigenen Vorstellungen.  
[https://en.wikipedia.org/wiki/Git_(software) Git] ist ein [https://en.wikipedia.org/wiki/Distributed_Version_Control_System System zur Verwaltung von verteilten Softwareversionen]. Es ermöglicht das Herunterladen der letzten Version des inklusive aller und markierten Versionen ganz nach den eigenen Vorstellungen.  
* Der Download über Git sollte genutzt werden, wenn man ein Entwickler ist und [https://www.mediawiki.org/wiki/Special:MyLanguage/Gerrit/Tutorial Änderungen beitragen] möchte.
* Wenn man nichts entwickeln möchte, sondern nur MediaWiki und die Erweiterungen installieren möchte, sollte man [https://www.mediawiki.org/wiki/Download ausgereifte und vollständige Versionen herunterladen].
* Siehe [https://www.mediawiki.org/wiki/Special:MyLanguage/Gerrit Git] für weitere Details, insbesondere, wenn es darum geht, zu Artikeln/Programmen beizutragen.


Der Download über Git sollte genutzt werden, wenn man ein Entwickler ist und [https://www.mediawiki.org/wiki/Special:MyLanguage/Gerrit/Tutorial Änderungen beitragen] möchte.
Im Folgenden findest Du einige kurze Anweisungen für manche häufig ausgeführte Aufgaben.
 
Wenn man nichts entwickeln möchte, sondern nur MediaWiki und die Erweiterungen installieren möchte, sollte man [https://www.mediawiki.org/wiki/Download ausgereifte und vollständige Versionen herunterladen].
 
Siehe [https://www.mediawiki.org/wiki/Special:MyLanguage/Gerrit Git] für weitere Details, insbesondere, wenn es darum geht, zu Artikeln/Programmen beizutragen. Im Folgenden findest Du einige kurze Anweisungen für manche häufig ausgeführte Aufgaben.


== Voraussetzungen ==
== Voraussetzungen ==
Du musst Git installiert haben, bevor Du es benutzen kannst. Es gibt viele Möglichkeiten, Git zu erwerben, abhängig von Deinem Betriebssystem. Folge [https://www.mediawiki.org/wiki/Special:MyLanguage/Gerrit/Tutorial#Set_up_Git Gerrit/Tutorial#Set up Git], oder verwende deine bevorzugte Suchmaschine.  
Du musst Git installiert haben, bevor Du es benutzen kannst. Es gibt viele Möglichkeiten, Git zu erwerben, abhängig von Deinem Betriebssystem. Folge [https://www.mediawiki.org/wiki/Special:MyLanguage/Gerrit/Tutorial#Set_up_Git Gerrit/Tutorial#Set up Git], oder verwende deine bevorzugte Suchmaschine.  


Zeile 14: Zeile 12:


== MediaWiki mit Git herunterladen ==
== MediaWiki mit Git herunterladen ==
=== Herunterladen ===
=== Herunterladen ===
Mit Git kannst Du den MediaWiki-core herunterladen wie auch alle Erweiterungen, die aktuell auf dem Wikimedia Foundation Serververbund installiert sind, ebenso viele andere Erweiterungen, die auf [https://www.mediawiki.org/wiki/Special:MyLanguage/gerrit Gerrit] bereitgestellt werden.  
Mit Git kannst Du den MediaWiki-core herunterladen wie auch alle Erweiterungen, die aktuell auf dem Wikimedia Foundation Serververbund installiert sind, ebenso viele andere Erweiterungen, die auf [https://www.mediawiki.org/wiki/Special:MyLanguage/gerrit Gerrit] bereitgestellt werden.  


Zeile 22: Zeile 18:


==== Download für Entwickler ====
==== Download für Entwickler ====
Die neueste Entwicklungsversion von MediaWiki wird im "Master"-Zweig nachverfolgt.  
Die neueste Entwicklungsversion von MediaWiki wird im "Master"-Zweig nachverfolgt.  


Zeile 34: Zeile 29:


Um in ein anderes Verzeichnis zu installieren, ändere den Befehl in der Kommandozeile (mehr Informationen unter [https://git-scm.com/docs/git-clone [1]]). Wenn das Repository kopiert wurde, kannst du einfach zu den unterschiedlichen Versionszweigen oder Tags wechseln (siehe unten), einschließlich solcher, die instabile Versionen von MediaWiki nachverfolgen. Der Entwicklungszweig, <tt>master</tt>, ist die neueste Entwicklerversion von MediaWiki. Du solltest unter keinen Umständen den <tt>master</tt>-Code auf laufenden Systemen verwenden, da er nicht als stabil angesehen wird. * [https://gerrit.wikimedia.org/g/mediawiki/core/%2B/HEAD/ Siehe letzten Quellcode]
Um in ein anderes Verzeichnis zu installieren, ändere den Befehl in der Kommandozeile (mehr Informationen unter [https://git-scm.com/docs/git-clone [1]]). Wenn das Repository kopiert wurde, kannst du einfach zu den unterschiedlichen Versionszweigen oder Tags wechseln (siehe unten), einschließlich solcher, die instabile Versionen von MediaWiki nachverfolgen. Der Entwicklungszweig, <tt>master</tt>, ist die neueste Entwicklerversion von MediaWiki. Du solltest unter keinen Umständen den <tt>master</tt>-Code auf laufenden Systemen verwenden, da er nicht als stabil angesehen wird. * [https://gerrit.wikimedia.org/g/mediawiki/core/%2B/HEAD/ Siehe letzten Quellcode]


==== Einen stabilen Zweig herunterladen ====
==== Einen stabilen Zweig herunterladen ====
Solltest du keine Software-Patches entwickeln wollen, sondern nur anonym eine Kopie vom stabilen Release-Branch 1.37 erstellen wollen, verwende dieses Kommando:  
Solltest du keine Software-Patches entwickeln wollen, sondern nur anonym eine Kopie vom stabilen Release-Branch 1.37 erstellen wollen, verwende dieses Kommando:  
  git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_37 mediawiki
  git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_37 mediawiki


Zeile 46: Zeile 37:


===== MediaWiki-Tags (stabile Version) =====
===== MediaWiki-Tags (stabile Version) =====
 
* Alternativ können bestimmte stabile Versionen von MediaWiki mithilfe von "Tags" nachverfolgt werden.  
Alternativ können bestimmte stabile Versionen von MediaWiki mithilfe von "Tags" nachverfolgt werden. Diese sind analog zu den Tarball-Veröffentlichungen. Derzeit sind dies 1.37.2 (stabil), 1.35.6 ([https://www.mediawiki.org/wiki/LTS LTS]) und 1.35.6 (legacy).  
* Diese sind analog zu den Tarball-Veröffentlichungen.  
* Derzeit sind dies 1.37.2 (stabil), 1.35.6 ([https://www.mediawiki.org/wiki/LTS LTS]) und 1.35.6 (legacy).  


Du kannst alle verfügbaren Tags sehen mit:  
Du kannst alle verfügbaren Tags sehen mit:  
  git tag -l | sort -V
  git tag -l | sort -V


Um einen spezifischen Tag zu benutzen, z. B. die neueste stabile Version:  
Um einen spezifischen Tag zu benutzen, z. B. die neueste stabile Version:  
  git checkout 1.37.2
  git checkout 1.37.2


==== Akutalisiere die Git-Submodule ====
==== Akutalisiere die Git-Submodule ====
Die Zweige enthalten eine Reihe von Git-Submodulen für häufig verwendete Erweiterungen und Skins (der Master-Zweig verfügt nicht über diese Erweiterungen). Führe zum Aktualisieren der Submodule Folgendes aus:  
Die Zweige enthalten eine Reihe von Git-Submodulen für häufig verwendete Erweiterungen und Skins (der Master-Zweig verfügt nicht über diese Erweiterungen). Führe zum Aktualisieren der Submodule Folgendes aus:  
 
mediawiki
  mediawiki
  git submodule update --init --recursive
  git submodule update --init --recursive


==== Externe Bibliotheken abrufen ====
==== Externe Bibliotheken abrufen ====
 
* MediaWiki benutzt [https://www.mediawiki.org/wiki/Special:MyLanguage/Composer Composer], um die externen PHP-Bibliotheken zu verwalten, die allesamt im <tt>vendor/</tt>-Ordner deines MediaWiki-Ordners liegen.  
MediaWiki benutzt [https://www.mediawiki.org/wiki/Special:MyLanguage/Composer Composer], um die externen PHP-Bibliotheken zu verwalten, die allesamt im <tt>vendor/</tt>-Ordner deines MediaWiki-Ordners liegen.  
Um diese benötigten Bibliotheken zu installieren, hast Du folgende Möglichkeiten:  
 
* [https://getcomposer.org/doc/00-intro.md#globally Lade das "composer PHAR" herunter], benenne es gegebenenfalls entsprechend der Anleitung für dein Betriebssystem um und führe anschließend <tt>composer update --no-dev</tt> in deinem MediaWiki-Verzeichnis aus. Dies ist die empfohlene Vorgehensweise.  
Um diese benötigten Bibliotheken zu installieren, hast Du folgende Möglichkeiten: * [https://getcomposer.org/doc/00-intro.md#globally Lade das "composer PHAR" herunter], benenne es gegebenenfalls entsprechend der Anleitung für dein Betriebssystem um und führe anschließend <tt>composer update --no-dev</tt> in deinem MediaWiki-Verzeichnis aus. Dies ist die empfohlene Vorgehensweise.  
* Wenn Du Composer nicht verwenden willst, oder wenn Du dasselbe Set von Anbieterbibliotheken verwenden willst, das auf dem WMF-Produktionscluster verwendet wird, dann erstelle ein <tt>vendor/</tt>-Verzeichnis im Hauptverzeichnis Deiner MediaWiki-Installation:  
* Wenn Du Composer nicht verwenden willst, oder wenn Du dasselbe Set von Anbieterbibliotheken verwenden willst, das auf dem WMF-Produktionscluster verwendet wird, dann erstelle ein <tt>vendor/</tt>-Verzeichnis im Hauptverzeichnis Deiner MediaWiki-Installation:  
** With your developer account, use this command: <tt>git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/vendor.git</tt>  
** With your developer account, use this command: <tt>git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/vendor.git</tt>  
** For anonymous checkout, use this command: <tt>git clone https://gerrit.wikimedia.org/r/mediawiki/vendor.git</tt>  
** For anonymous checkout, use this command: <tt>git clone https://gerrit.wikimedia.org/r/mediawiki/vendor.git</tt>  
** Beachte: Wenn irgendwelche Deiner Erweiterungen ihre eigenen Composer-Anforderungen haben, dann kannst Du diese Option nicht verwenden.
** Beachte: Wenn irgendwelche Deiner Erweiterungen ihre eigenen Composer-Anforderungen haben, dann kannst Du diese Option nicht verwenden.


Vor MediaWiki 1.25 wurden externe Bibliotheken im Core-Repository gespeichert, deshalb war kein Paketmanager erforderlich.  
Vor MediaWiki 1.25 wurden externe Bibliotheken im Core-Repository gespeichert, deshalb war kein Paketmanager erforderlich.  


=== Bleibe auf dem Laufenden ===
=== Bleibe auf dem Laufenden ===
 
* Wenn Du einen bestimmten Zweig oder die Entwicklungsversion ("Masterzweig") von MediaWiki benutzt, ist es ziemlich einfach, die letzten Änderungen abzurufen.  
Wenn Du einen bestimmten Zweig oder die Entwicklungsversion ("Masterzweig") von MediaWiki benutzt, ist es ziemlich einfach, die letzten Änderungen abzurufen. Wechsle zu Deinem MediaWiki Klon-Verzeichnis und gib diesen Befehl ein:  
* Wechsle zu Deinem MediaWiki Klon-Verzeichnis und gib diesen Befehl ein:  
 
  git pull
  git pull
 
* Alle aktuellen Änderungen werden auf den Zweig angewendet, den Du benutzen wirst.  
Alle aktuellen Änderungen werden auf den Zweig angewendet, den Du benutzen wirst.  
* Die neue Version von Core kann neue Versionen der Erweiterungen oder Oberflächen erfordern, sodass Du in jedes Erweiterungs- und Oberflächen-Verzeichnis wechseln und es mit einem Befehl wie <tt>git pull --recurse-submodules</tt> aktualisieren musst.  
 
* Du musst ebenfalls <tt>vendor/</tt> aktualisieren, wenn neuere Version der benötigten Bibliotheken verfügbar sind. Dies bedeutet häufig, dass der folgende Composer-Befehl ausgeführt werden muss.  
Die neue Version von Core kann neue Versionen der Erweiterungen oder Oberflächen erfordern, sodass Du in jedes Erweiterungs- und Oberflächen-Verzeichnis wechseln und es mit einem Befehl wie <tt>git pull --recurse-submodules</tt> aktualisieren musst.  
Weitere Informationen findest Du oben in [https://www.mediawiki.org/wiki/Download_from_Git/de#Fetch_external_libraries #Fetch external libraries]:  
 
Du musst ebenfalls <tt>vendor/</tt> aktualisieren, wenn neuere Version der benötigten Bibliotheken verfügbar sind. Dies bedeutet häufig, dass der folgende Composer-Befehl ausgeführt werden muss. Weitere Informationen findest Du oben in [https://www.mediawiki.org/wiki/Download_from_Git/de#Fetch_external_libraries #Fetch external libraries]:  
 
  composer update --no-dev
  composer update --no-dev


Nach einem Update/Upgrade des Codes und der erforderlichen Bibliotheken solltest Du das Befehlszeilenskript MediaWiki [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:update.php update.php] ausführen, um die Datenbanktabellen nach Bedarf zu aktualisieren:  
Nach einem Update/Upgrade des Codes und der erforderlichen Bibliotheken solltest Du das Befehlszeilenskript MediaWiki [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:update.php update.php] ausführen, um die Datenbanktabellen nach Bedarf zu aktualisieren:  
  php maintenance/update.php
  php maintenance/update.php


Zeile 99: Zeile 79:


=== Zu einer anderen Version wechseln ===
=== Zu einer anderen Version wechseln ===
Jede unserer Versionen wird als Zweig oder Tag nachverfolgt. Um zu einem dieser Verzeichnisse zu wechseln (bspw. vom <tt>master</tt>-Zweig zu einem Entwicklungszweig), musst Du einfach nur den Zweig oder Tag aus Deinem MediaWiki-Klonverzeichnis [https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging checkout] auswählen:  
Jede unserer Versionen wird als Zweig oder Tag nachverfolgt. Um zu einem dieser Verzeichnisse zu wechseln (bspw. vom <tt>master</tt>-Zweig zu einem Entwicklungszweig), musst Du einfach nur den Zweig oder Tag aus Deinem MediaWiki-Klonverzeichnis [https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging checkout] auswählen:  
  git checkout <Branch-Name>
  git checkout <Branch-Name>
oder  
oder  
  git checkout <Tag-Name>
  git checkout <Tag-Name>
Die Änderungen werden automatisch übernommen und Du kannst loslegen.  
Die Änderungen werden automatisch übernommen und Du kannst loslegen.  


== MediaWiki-Erweiterungen per Git herunterladen ==
== MediaWiki-Erweiterungen per Git herunterladen ==
<div style="margin-left:1cm;margin-right:0cm;">[https://gerrit.wikimedia.org/r/admin/repos/q/filter:mediawiki+extensions Liste von Erweiterungen auf git]</div>
<div style="margin-left:1cm;margin-right:0cm;">[https://gerrit.wikimedia.org/r/admin/repos/q/filter:mediawiki+extensions Liste von Erweiterungen auf git]</div>


=== Eine Erweiterung herunterladen ===
=== Eine Erweiterung herunterladen ===
<div style="margin-left:1cm;margin-right:0cm;"><tt>‎<EXT></tt> sollte mit dem Namen der Erweiterung, ohne Leerzeichen, ersetzt werden. Für [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:TitleKey Extension:TitleKey] wäre es TitleKey. (Groß- und Kleinschreibung beachten!) </div>
<div style="margin-left:1cm;margin-right:0cm;"><tt>‎<EXT></tt> sollte mit dem Namen der Erweiterung, ohne Leerzeichen, ersetzt werden. Für [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:TitleKey Extension:TitleKey] wäre es TitleKey. (Groß- und Kleinschreibung beachten!) </div>


Zeile 121: Zeile 94:


With your developer account, use these commands to get the master branch:  
With your developer account, use these commands to get the master branch:  
  cd /path/to/extensions
  cd /path/to/extensions
  git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/extensions/<EXT>
  git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/extensions/<EXT>


For anonymous checkout of the stable branch instead, use these commands:  
For anonymous checkout of the stable branch instead, use these commands:  
  cd /path/to/extensions
  cd /path/to/extensions
  git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/<EXT> --branch REL1_37
  git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/<EXT> --branch REL1_37


Man kann sich den Quellcode der Erweiterung in der [https://gerrit.wikimedia.org/r/plugins/gitiles/ Gerrit's gitiles]-Anwendung und unter folgender URL ansehen:  
Man kann sich den Quellcode der Erweiterung in der [https://gerrit.wikimedia.org/r/plugins/gitiles/ Gerrit's gitiles]-Anwendung und unter folgender URL ansehen:  
  https://gerrit.wikimedia.org/g/mediawiki/extensions/<EXT>/+/refs/heads/master
  https://gerrit.wikimedia.org/g/mediawiki/extensions/<EXT>/+/refs/heads/master


=== Alle Erweiterungen herunterladen ===
=== Alle Erweiterungen herunterladen ===
Wenn Du lieber alle MediaWiki-Erweiterungen bei gerrit.wikimedia.org überprüfen willst, gehe folgendermaßen vor:  
Wenn Du lieber alle MediaWiki-Erweiterungen bei gerrit.wikimedia.org überprüfen willst, gehe folgendermaßen vor:  


With your developer account, to get the master branch:  
With your developer account, to get the master branch:  
   clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/extensions
   clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/extensions


For anonymous checkout of the stable branch instead, use this command:  
For anonymous checkout of the stable branch instead, use this command:  
  git clone https://gerrit.wikimedia.org/r/mediawiki/extensions --branch REL1_37
  git clone https://gerrit.wikimedia.org/r/mediawiki/extensions --branch REL1_37


After running the <tt>git clone</tt> command, continue with these commands:  
After running the <tt>git clone</tt> command, continue with these commands:  
  cd /path/to/extensions
  cd /path/to/extensions
  git submodule update --init --recursive
  git submodule update --init --recursive


Gib anschließend Folgendes ein, um alle Erweiterungen auf die neuesten Versionen dieses Zweigs zu aktualisieren:  
Gib anschließend Folgendes ein, um alle Erweiterungen auf die neuesten Versionen dieses Zweigs zu aktualisieren:  
  cd /path/to/extensions
  cd /path/to/extensions
  git pull
  git pull
Zeile 158: Zeile 123:


So wechselst Du in einen anderen Zweig, beispielsweise nach Erscheinen einer neuen Version:  
So wechselst Du in einen anderen Zweig, beispielsweise nach Erscheinen einer neuen Version:  
  git submodule foreach 'git checkout -b REL1_36 origin/REL1_36 ||&nbsp;:'
  git submodule foreach 'git checkout -b REL1_36 origin/REL1_36 ||&nbsp;:'


Denke daran, dass Du nur Versionen von Erweiterungen aus demselben Release wie der Version von MediaWiki und untereinander verwenden solltest.  
Denke daran, dass Du nur Versionen von Erweiterungen aus demselben Release wie der Version von MediaWiki und untereinander verwenden solltest. Um den Hauptzweig zu verfolgen:  
 
Um den Hauptzweig zu verfolgen:  
 
  git submodule foreach 'git checkout -b origin/master ||&nbsp;:'
  git submodule foreach 'git checkout -b origin/master ||&nbsp;:'


Zeile 172: Zeile 133:


=== Eine Erweiterung entfernen ===
=== Eine Erweiterung entfernen ===
# Entferne den "<tt>require_once …</tt>" oder "<tt>wfLoadExtension( … )</tt>" aus <tt>LocalSettings.php</tt>.  
# Entferne den "<tt>require_once …</tt>" oder "<tt>wfLoadExtension( … )</tt>" aus <tt>LocalSettings.php</tt>.  
# Beliebige Zeile, welche die Erweiterung erwähnt, in <tt>composer.local.json</tt> entfernen (normalerweise im Kapitel "Extra --> Plugin zusammenführen --> einfügen")  
# Beliebige Zeile, welche die Erweiterung erwähnt, in <tt>composer.local.json</tt> entfernen (normalerweise im Kapitel "Extra --> Plugin zusammenführen --> einfügen")  
# Das Erweiterungsverzeichnis in <tt>install-dir/extensions/</tt> entfernen.
# Das Erweiterungsverzeichnis in <tt>install-dir/extensions/</tt> entfernen.


== MediaWiki-Oberflächen mit Git herunterladen ==
== MediaWiki-Oberflächen mit Git herunterladen ==
<div style="margin-left:1cm;margin-right:0cm;">[https://gerrit.wikimedia.org/r/admin/repos/q/filter:mediawiki+skins Liste von Oberflächen auf git]</div>
<div style="margin-left:1cm;margin-right:0cm;">[https://gerrit.wikimedia.org/r/admin/repos/q/filter:mediawiki+skins Liste von Oberflächen auf git]</div>


Zeile 190: Zeile 147:


== Siehe auch ==
== Siehe auch ==
 
# [https://www.mediawiki.org/wiki/Special:MyLanguage/Intranet/Intranet_Installation Intranet/Intranet-Installation], Teil einer vollständig ausgearbeiteten Serie von Artikeln, die Git für die Entwicklung von MediaWiki verwendet
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Intranet/Intranet_Installation Intranet/Intranet-Installation], Teil einer vollständig ausgearbeiteten Serie von Artikeln, die Git für die Entwicklung von MediaWiki verwendet

Version vom 9. Mai 2022, 14:45 Uhr

Git ist ein System zur Verwaltung von verteilten Softwareversionen. Es ermöglicht das Herunterladen der letzten Version des inklusive aller und markierten Versionen ganz nach den eigenen Vorstellungen.

Im Folgenden findest Du einige kurze Anweisungen für manche häufig ausgeführte Aufgaben.

Voraussetzungen

Du musst Git installiert haben, bevor Du es benutzen kannst. Es gibt viele Möglichkeiten, Git zu erwerben, abhängig von Deinem Betriebssystem. Folge Gerrit/Tutorial#Set up Git, oder verwende deine bevorzugte Suchmaschine.

Es wird empfohlen, ist aber nicht zwingend notwendig, zuvor Composer installiert zu haben und Bibliotheken Dritter zu installieren.

MediaWiki mit Git herunterladen

Herunterladen

Mit Git kannst Du den MediaWiki-core herunterladen wie auch alle Erweiterungen, die aktuell auf dem Wikimedia Foundation Serververbund installiert sind, ebenso viele andere Erweiterungen, die auf Gerrit bereitgestellt werden.

Der erste Schritt ist das Klonen des MediaWiki-Core-Repositoriums. Dies kann eine Weile dauern.

Download für Entwickler

Die neueste Entwicklungsversion von MediaWiki wird im "Master"-Zweig nachverfolgt.

Stelle zuerst sicher, dass du ein Entwicklerkonto erstellt hast, sodass du einen ssh-Benutzernamen hast.

Gib in einem Befehlszeilenfenster folgenden Befehl ein, um mit deinen ssh <BENUTZERNAME> zu klonen, damit du Patches zur Überprüfung einreichen kannst:

git clone ssh://<BENUTZERNAME>@gerrit.wikimedia.org:29418/mediawiki/core.git mediawiki

Dadurch wird das gesamte MediaWiki-Kernrepository, das mit dem Hauptzweig synchronisiert ist, in ein Unterverzeichnis mit dem Namen mediawiki geklont.

Um in ein anderes Verzeichnis zu installieren, ändere den Befehl in der Kommandozeile (mehr Informationen unter [1]). Wenn das Repository kopiert wurde, kannst du einfach zu den unterschiedlichen Versionszweigen oder Tags wechseln (siehe unten), einschließlich solcher, die instabile Versionen von MediaWiki nachverfolgen. Der Entwicklungszweig, master, ist die neueste Entwicklerversion von MediaWiki. Du solltest unter keinen Umständen den master-Code auf laufenden Systemen verwenden, da er nicht als stabil angesehen wird. * Siehe letzten Quellcode

Einen stabilen Zweig herunterladen

Solltest du keine Software-Patches entwickeln wollen, sondern nur anonym eine Kopie vom stabilen Release-Branch 1.37 erstellen wollen, verwende dieses Kommando:

git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_37 mediawiki

Wenn du die Anzahl der Überarbeitungen, die kopiert wurden, reduzieren möchtest, füge --depth=1 zu obigem Befehl hinzu.

MediaWiki-Tags (stabile Version)
  • Alternativ können bestimmte stabile Versionen von MediaWiki mithilfe von "Tags" nachverfolgt werden.
  • Diese sind analog zu den Tarball-Veröffentlichungen.
  • Derzeit sind dies 1.37.2 (stabil), 1.35.6 (LTS) und 1.35.6 (legacy).

Du kannst alle verfügbaren Tags sehen mit:

git tag -l | sort -V

Um einen spezifischen Tag zu benutzen, z. B. die neueste stabile Version:

git checkout 1.37.2

Akutalisiere die Git-Submodule

Die Zweige enthalten eine Reihe von Git-Submodulen für häufig verwendete Erweiterungen und Skins (der Master-Zweig verfügt nicht über diese Erweiterungen). Führe zum Aktualisieren der Submodule Folgendes aus:

mediawiki
git submodule update --init --recursive

Externe Bibliotheken abrufen

  • MediaWiki benutzt Composer, um die externen PHP-Bibliotheken zu verwalten, die allesamt im vendor/-Ordner deines MediaWiki-Ordners liegen.

Um diese benötigten Bibliotheken zu installieren, hast Du folgende Möglichkeiten:

  • Lade das "composer PHAR" herunter, benenne es gegebenenfalls entsprechend der Anleitung für dein Betriebssystem um und führe anschließend composer update --no-dev in deinem MediaWiki-Verzeichnis aus. Dies ist die empfohlene Vorgehensweise.
  • Wenn Du Composer nicht verwenden willst, oder wenn Du dasselbe Set von Anbieterbibliotheken verwenden willst, das auf dem WMF-Produktionscluster verwendet wird, dann erstelle ein vendor/-Verzeichnis im Hauptverzeichnis Deiner MediaWiki-Installation:
    • With your developer account, use this command: git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/vendor.git
    • For anonymous checkout, use this command: git clone https://gerrit.wikimedia.org/r/mediawiki/vendor.git
    • Beachte: Wenn irgendwelche Deiner Erweiterungen ihre eigenen Composer-Anforderungen haben, dann kannst Du diese Option nicht verwenden.

Vor MediaWiki 1.25 wurden externe Bibliotheken im Core-Repository gespeichert, deshalb war kein Paketmanager erforderlich.

Bleibe auf dem Laufenden

  • Wenn Du einen bestimmten Zweig oder die Entwicklungsversion ("Masterzweig") von MediaWiki benutzt, ist es ziemlich einfach, die letzten Änderungen abzurufen.
  • Wechsle zu Deinem MediaWiki Klon-Verzeichnis und gib diesen Befehl ein:
git pull
  • Alle aktuellen Änderungen werden auf den Zweig angewendet, den Du benutzen wirst.
  • Die neue Version von Core kann neue Versionen der Erweiterungen oder Oberflächen erfordern, sodass Du in jedes Erweiterungs- und Oberflächen-Verzeichnis wechseln und es mit einem Befehl wie git pull --recurse-submodules aktualisieren musst.
  • Du musst ebenfalls vendor/ aktualisieren, wenn neuere Version der benötigten Bibliotheken verfügbar sind. Dies bedeutet häufig, dass der folgende Composer-Befehl ausgeführt werden muss.

Weitere Informationen findest Du oben in #Fetch external libraries:

composer update --no-dev

Nach einem Update/Upgrade des Codes und der erforderlichen Bibliotheken solltest Du das Befehlszeilenskript MediaWiki update.php ausführen, um die Datenbanktabellen nach Bedarf zu aktualisieren:

php maintenance/update.php

Wenn Du MediaWiki-Vagrant benutzt, kannst Du alle diese Schritte mit einem einzigen Befehl, vagrant git-update, ausführen.

Zu einer anderen Version wechseln

Jede unserer Versionen wird als Zweig oder Tag nachverfolgt. Um zu einem dieser Verzeichnisse zu wechseln (bspw. vom master-Zweig zu einem Entwicklungszweig), musst Du einfach nur den Zweig oder Tag aus Deinem MediaWiki-Klonverzeichnis checkout auswählen:

git checkout <Branch-Name>

oder

git checkout <Tag-Name>

Die Änderungen werden automatisch übernommen und Du kannst loslegen.

MediaWiki-Erweiterungen per Git herunterladen

Eine Erweiterung herunterladen

‎<EXT> sollte mit dem Namen der Erweiterung, ohne Leerzeichen, ersetzt werden. Für Extension:TitleKey wäre es TitleKey. (Groß- und Kleinschreibung beachten!)

Herunterladen und Klonen einer Erweiterung aus Git:

With your developer account, use these commands to get the master branch:

cd /path/to/extensions
git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/extensions/<EXT>

For anonymous checkout of the stable branch instead, use these commands:

cd /path/to/extensions
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/<EXT> --branch REL1_37

Man kann sich den Quellcode der Erweiterung in der Gerrit's gitiles-Anwendung und unter folgender URL ansehen:

https://gerrit.wikimedia.org/g/mediawiki/extensions/<EXT>/+/refs/heads/master

Alle Erweiterungen herunterladen

Wenn Du lieber alle MediaWiki-Erweiterungen bei gerrit.wikimedia.org überprüfen willst, gehe folgendermaßen vor:

With your developer account, to get the master branch:

 clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/extensions

For anonymous checkout of the stable branch instead, use this command:

git clone https://gerrit.wikimedia.org/r/mediawiki/extensions --branch REL1_37

After running the git clone command, continue with these commands:

cd /path/to/extensions
git submodule update --init --recursive

Gib anschließend Folgendes ein, um alle Erweiterungen auf die neuesten Versionen dieses Zweigs zu aktualisieren:

cd /path/to/extensions
git pull
git submodule update --init --recursive

So wechselst Du in einen anderen Zweig, beispielsweise nach Erscheinen einer neuen Version:

git submodule foreach 'git checkout -b REL1_36 origin/REL1_36 || :'

Denke daran, dass Du nur Versionen von Erweiterungen aus demselben Release wie der Version von MediaWiki und untereinander verwenden solltest. Um den Hauptzweig zu verfolgen:

git submodule foreach 'git checkout -b origin/master || :'

Bitte beachte, dass Du unter keinen Umständen den "Master Code for production" benutzen solltest, da dieser als nicht stabil gilt.

Wenn Du nur eine Überprüfung im Nur-Lese-Modus benötigst (um beispielsweise den gesamten MediaWiki-Code zu prüfen oder zu analysieren), kannst Du die Shared MediaWiki-Prüfung in Labs verwenden, ohne etwas auf Deinen Rechner herunterladen zu müssen.

Eine Erweiterung entfernen

  1. Entferne den "require_once …" oder "wfLoadExtension( … )" aus LocalSettings.php.
  2. Beliebige Zeile, welche die Erweiterung erwähnt, in composer.local.json entfernen (normalerweise im Kapitel "Extra --> Plugin zusammenführen --> einfügen")
  3. Das Erweiterungsverzeichnis in install-dir/extensions/ entfernen.

MediaWiki-Oberflächen mit Git herunterladen

MediaWiki 1.24 und später enthalten keine Oberflächen beim Herunterladen von Git.

Führe genau den gleiche Vorgang aus wie für Erweiterungen (im vorigen Abschnitt beschrieben), jedoch unter Verwendung von skins anstatt von extensions in allen URLs und Pfaden.

Detaillierte Installationanweisungen sind auf jeder Skin-Seite hier auf MediaWiki.org verfügbar, zum Beispiel unter Skin:Vector#Installation (Vector-Installation). Anweisungen für alle anderen Skins liegen analog vor.

Siehe auch

  1. Intranet/Intranet-Installation, Teil einer vollständig ausgearbeiteten Serie von Artikeln, die Git für die Entwicklung von MediaWiki verwendet