Was ist der richtige Prozess, um Patches zum Drupal-Kern beizutragen?
Angenommen, ich finde einen Fehler im Drupal-Kern, behebe ihn und erstelle einen Patch . Wie reiche ich es ein?
Wenn der Fehler in Drupal 7 vorliegt, muss ich ihn auch in Drupal 8 beheben und zwei Patches einreichen? Gilt dies auch für Dokumentationsfehler / -verbesserungen?
Benötigen alle Patches auch einen Unit-Test?
community-official-site
version-control
mpdonadio
quelle
quelle
Antworten:
Wenn der Fehler in der zu entwickelnden Version (in diesem Fall Drupal 8) und in der vorherigen Version (Drupal 7) vorhanden ist, sollte der Fehler zuerst in der aktuell entwickelten Version und dann in der / den vorherigen Version (en) behoben werden.
Wenn der Fehler in der neuesten entwickelten Version nicht vorhanden ist, z. B. weil der Fehler für eine Funktion gilt, die entfernt wurde oder die bereits geändert wurde, sollte der Patch für die Version vor der aktuell entwickelten Version bereitgestellt werden.
Der folgende Workflow lautet:
Sie können Patches für zwei Drupal-Versionen gleichzeitig erstellen. Da für den Patch für die neueste Drupal-Version jedoch Änderungen erforderlich sein können, ist es besser, an dem Patch für die aktuell entwickelte Version zu arbeiten, als an zwei verschiedenen Patches, die beide erforderlich sind verändert sein.
Siehe auch: Backport-Richtlinie .
Ja tut es. Auch in diesem Fall muss der Patch für die vorherige Version bereitgestellt werden, wenn die aktuell entwickelte Version die Funktion / Methode entfernt hat, auf die sich die Dokumentation bezieht.
Wenn der Patch für die Dokumentation vorgesehen ist, sind keine Tests erforderlich. Der auf http://qa.drupal.org ausgeführte Testbot überprüft den Drupal-Code, nachdem der Patch angewendet wurde. Wenn der Patch Syntaxfehler einführt (z. B. weil der Kommentar vor dem erforderlichen geschlossen wird), meldet der Testbot einen Fehler über den Patch, bevor die Tests ausgeführt werden.
Wenn der Patch für eine neue Funktion vorgesehen ist, sind die Tests erforderlich.
Wenn der Patch einen Fehler beheben soll, können die Tests von den Betreuern verlangt werden, wenn noch kein Test vorhanden ist, der eine bestimmte Funktion überprüft. Der Test ist im Allgemeinen erforderlich, um zu vermeiden, dass derselbe Fehler erneut eingeführt wird, wenn in Zukunft derselbe Code geändert wird. Wenn der Fehler lediglich eine Variable ist, die initialisiert, aber nie von einer Funktion / Methode verwendet wird, sind die Tests wahrscheinlich nicht erforderlich.
quelle
Jede Projektseite auf drupal.org hat oben eine Registerkarte "Versionskontrolle". Es bietet nicht nur einen guten Überblick über alle Code-Repository-Optionen für das jeweilige Projekt, sondern alle Beispiele für git-Befehle sind auch auf das Projekt zugeschnitten. Sie können es sogar interaktiv auf eine bestimmte Version ändern.
Für Drupal Core finden Sie diese Seite unter http://drupal.org/project/drupal/git-instructions
Wenn Sie Ihren Patch erstellt haben, hängen Sie die Patch-Datei einfach an ein Problem an, in dem erläutert wird, was Ihr Patch bewirkt.
Zwei wichtige Dinge, die Sie beachten sollten, sind sicherzustellen, dass der Patch mit ".patch" endet, und den Status auf "Needs review" zu setzen. Dies, damit der Testbot es bemerkt und seinen Test automatisch ausführt.
Neuer Code muss immer von Tests begleitet werden .
Beachten Sie, dass dies durch Projekte deaktiviert werden kann und einige dies auch tun. Für Drupal Core ist es jedoch aktiviert, sodass alle Patches getestet werden.
Weitere Informationen finden Sie unter http://drupal.org/contribute/development .
quelle