Shopware Pull Requests im Repository

Shopware ist bekanntlich Opensource und lebt daher auch von Pull Requests. Einer Möglichkeit von extern Änderungen vorzuschlagen. Hier möchte ich kurz und knapp darauf eingehen.

Pull Request

A pull request is a method of submitting contributions to an open development project. It is often the preferred way of submitting contributions to a project using a distributed version control system (DVCS) such as Git. (Quelle)

Die Beiträge/Contributions können dann mit den Reviewern/Ownern zusammen diskutiert werden. Mit verschiedenen CI/CD Tools lassen sich hier ebenfalls einige nützliche Tests bei jedem PR einfügen. Bei Shopware ist dies Scrutinizer und Travis – neben diesen CIs wird außerdem geprüft ob der „Contributor“ bereits ein Contributor License Agreement bestätigt hat.

Repository einrichten

Ich habe auf meinem Rechner einen Ordner in meinem home Verzeichnis der FORKED REPOS heißt

In eurem Fall müsst Ihr euren Benutzernamen noch einsetzen (meiner ist Isengo1989)

Um einen Fork zu erstellen klickt Ihr einfach auf Fork:

 

 

Nachdem Ihr das Repo geclont habt geht Ihr in dessen Ordner und fügt einen upstream hinzu. Diesen benötigt Ihr um euren Fork up-to-date zu halten. Denn dort werden im best case täglich Änderungen gemerged.

Mit add fügt Ihr den Remote upstream hinzu, dieser ist neben origin nun der einzige.

origin -> euer Fork
upstream -> offizielles Shopware Repo

Wenn Ihr den Fork erst vor kurzem erst hinzugefügt habt, sollte dieser auch up-to-date sein. Falls nicht macht Ihr einen fetch auf den upstream und merged diesen dann mit eurem Fork.

Da Ihr aber meistens auf einem Branch arbeitet (Ihr macht z.B. Änderungen auf dem 5.4 Branch) macht Ihr folgendes:

Das öffentliche Repo hat auch gar keinen master Branch, dieser ist nur für Core Entwickler direkt bei Shopware sichtbar.

Commit oder Branch

Shopware empfiehlt euch das Ihr einen Feature Branch erstellt (https://developers.shopware.com/community/contributing-code/#create-a-new-feature-branch), Ihr könnt allerdings auch nur einen Commit machen, diesen pushen und einen Merge Request in Github erstellen. Das ist euch überlassen und hängt auch von der Komplexität ab.

 

Commit im nachhinein ändern

Sobald euch der „Shopware Bot“ – also irgendein Entwickler von Shopware Änderungen vorschlägt oder den PR auf Incomplete setzt habt Ihr verschiedene Möglichkeiten. Ich könnt den PR verwerfen und einen neuen erstellen oder eure Änderungen bearbeiten. Dazu macht Ihr folgendes:

 

nach dem git rebase habt Ihr eine Liste von Commits – wählt dort euren Commit aus und nutzt „edit“ statt „pick“ vor dem Commit.

Danach macht Ihr eure Änderungen, commited diese und fahrt mit dem rebase fort. Am Ende forced ihr mit -f den push. Danach ist der Commit im origin Branch bereits upgedated.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.