Ruby Core
Jetzt ist eine fantastische Zeit, um die Entwicklung von Ruby zu verfolgen. Mit der verstärkten Aufmerksamkeit, die Ruby in den letzten Jahren erhalten hat, gibt es einen wachsenden Bedarf an guten Talenten, die dazu beitragen, Ruby zu verbessern und seine Teile zu dokumentieren. Wo also anfangen?
Die hier behandelten Themen der Ruby-Entwicklung sind
- Verwendung von Git zur Verfolgung der Ruby-Entwicklung
- Ruby, Patch für Patch verbessern
- Hinweis zu Branches
Verwendung von Git zur Verfolgung der Ruby-Entwicklung
Das aktuelle Hauptrepository des neuesten Ruby-Quellcodes ist git.ruby-lang.org/ruby.git. Es gibt auch einen Spiegel auf GitHub. Normalerweise bitte diesen Spiegel verwenden.
Sie können den neuesten Ruby-Quellcode mit Git abrufen. Von Ihrer Kommandozeile aus
$ git clone https://github.com/ruby/ruby.gitDas Verzeichnis ruby enthält nun den neuesten Quellcode für die Entwicklungsversion von Ruby (ruby-trunk).
Siehe auch Anleitung für Nicht-Commiter zum Beitritt zu unserer Entwicklung.
Wenn Sie Commit-Zugriff haben und etwas pushen möchten, sollten Sie das Hauptrepository verwenden.
$ git clone git@git.ruby-lang.org:ruby.gitRuby, Patch für Patch verbessern
Das Kernteam pflegt ein Issue Tracker zum Einreichen von Patches und Fehlerberichten an Matz und die Bande. Diese Berichte werden auch an die Ruby-Core Mailingliste zur Diskussion gesendet, sodass Sie sicher sein können, dass Ihre Anfrage nicht unbemerkt bleibt. Sie können Ihre Patches auch direkt an die Mailingliste senden. So oder so, Sie werden ermutigt, an der daraus resultierenden Diskussion teilzunehmen.
Bitte lesen Sie die Anleitung zum Erstellen von Patches für einige Tipps, direkt von Matz, wie Ihre Patches berücksichtigt werden.
Zusammenfassend sind die Schritte zum Erstellen eines Patches:
-
Holen Sie sich eine Kopie des Ruby-Quellcodes von GitHub. Normalerweise sollten Patches für Fehlerkorrekturen oder neue Funktionen für den Trunk des Ruby-Quellcodes eingereicht werden.
$ git clone https://github.com/ruby/ruby.gitWenn Sie einen Fehler beheben, der nur für einen Wartungsbranch spezifisch ist, holen Sie sich eine Kopie des entsprechenden Branches.
$ git checkout ruby_X_XX_X sollte durch eine Version ersetzt werden, die Sie auschecken möchten.
-
Fügen Sie Ihre Verbesserungen zum Code hinzu.
-
Erstellen Sie einen Patch.
$ git diff > ruby-changes.patch -
Erstellen Sie ein Ticket im Issue Tracker oder senden Sie Ihren Patch per E-Mail an die Ruby-Core Mailingliste mit einem ChangeLog-Eintrag, der den Patch beschreibt.
-
Wenn keine Probleme bezüglich des Patches gemeldet werden, erhalten die Committer die Genehmigung, ihn anzuwenden.
Bitte beachten Sie: Patches sollten als Unified Diff eingereicht werden. Mehr darüber, wie Patches zusammengeführt werden, erfahren Sie im diffutils-Referenz.
Die Diskussion über die Entwicklung von Ruby konzentriert sich auf die Ruby-Core Mailingliste. Wenn Sie also neugierig sind, ob Ihr Patch lohnenswert ist, oder wenn Sie eine Diskussion über die Zukunft von Ruby anregen möchten, zögern Sie nicht, sich uns anzuschließen. Seien Sie gewarnt, dass Off-Topic-Diskussionen auf dieser Liste nicht toleriert werden, der Geräuschpegel sollte sehr niedrig sein, die Themen sollten präzise, gut durchdacht und gut geschrieben sein. Da wir uns an Rubys Schöpfer wenden, lassen Sie uns etwas Ehrfurcht zeigen.
Beachten Sie, dass viele der Kernentwickler von Ruby in Japan leben und obwohl viele sehr gut Englisch sprechen, es einen erheblichen Zeitunterschied gibt. Sie haben auch eine ganze Reihe von japanischen Entwicklungslisten neben den englischen. Seien Sie geduldig, wenn Ihr Anliegen nicht gelöst wird, seien Sie hartnäckig – versuchen Sie es ein paar Tage später noch einmal.
Hinweis zu Branches
Der Quellcode von Ruby wurde bis zum 22. April 2019 im Subversion-Repository verwaltet. Daher können einige Branches noch unter Subversion verwaltet werden. Sie können das SVN-Repository einsehen.
Sie müssen sich jedoch nicht darum kümmern (es sei denn, Sie sind ein Branch-Maintainer). Sie können die Branches in Ihrer Git-Arbeitskopie auschecken. Führen Sie dazu beispielsweise den folgenden Befehl aus.
$ git checkout ruby_X_XX_X sollte durch eine Version ersetzt werden, die Sie auschecken möchten.
Wenn Sie die Branches ändern möchten, öffnen Sie bitte ein Ticket in unserem Issue Tracker. Siehe auch den folgenden Abschnitt.