Einfachste Möglichkeit, einen Patch für die Einreichung in WordPress Core zu erstellen?

Ich habe ein paar Patches für WordPress Core auf Trac (einer davon wurde verwendet), aber jedes Mal, wenn ich daran denke, es zu tun, ich zusammenzucken, weil meine Einrichtung dafür unglaublich langweilig ist.

Kann jemand bitte die erforderlichen Schritte ausarbeiten, um einen Patch für Core zu senden, und dann den besten Weg, den process zu optimieren, so dass es nicht so langweilig ist? Ich arbeite derzeit mit Mac OS X und PHPStorm, aber ich denke, ein Shell-Skript könnte am einfachsten sein? Oder vielleicht ein PHP-Skript, das die ganze Arbeit erledigt?

Eines der Probleme ist, dass ich nicht ganz verstehe, womit ich beginnen muss. Beginne ich mit dem Kofferraum? Muss ich jedes Mal, wenn ich einen Patch erstellen möchte, eine neue Kopie herunterladen und diese Kopie mit meinem Code hinzufügen / bearbeiten?

Während ich es getan habe, arbeite ich mit SVN und Patching ist wirklich außerhalb meiner aktuellen Fähigkeiten und ich möchte das ändern. Ich hoffe, dass WordPress Patching-Experten zu meiner Rettung kommen können. Danke im Voraus.

AKTUALISIEREN:

Nach @ Hakres Antwort denke ich, ich sollte mehr zur Frage hinzufügen:

  • Kann ich Patches von älteren Versionen erstellen oder muss ich trunk verwenden?
  • Wenn ich an einem Projekt mit der freigegebenen Version (3.0.1) arbeite, kann ich es modifizieren und einen Patch für Core erstellen oder muss ich eine neue Kopie von Trunk herunterladen und einrichten und meine Änderungen dort vornehmen?
  • Kann ich mit Shell-Skripten tun, damit ich die Anmeldung in das Skript codieren und das Skript einfach ausführen kann, um alles neu zu erstellen, was ich brauche und / oder um den Patch zu erstellen?
  • Und was sind die Fallstricke?

All diese Fragen scheinen von denen übernommen zu werden, die wissen, wie das SVN von WordPress funktioniert, und daher in jeder Diskussion immer beschönigt werden.

Solutions Collecting From Web of "Einfachste Möglichkeit, einen Patch für die Einreichung in WordPress Core zu erstellen?"

Der einfachste Weg, um einen Patch zu erstellen, ist hier beschrieben:

http://wordpress.org/download/svn/

Kann ich Patches von älteren Versionen erstellen oder muss ich trunk verwenden?

Sie sollten den Patch für dieselbe Version erstellen, auf die er angewendet werden soll.

Mit anderen Worten, erwarte nicht, dass ein Patch, der mit WP 3.0.1 erstellt wurde, sauber auf WP 3.1-alpha angewendet wird.

Wenn ich an einem Projekt mit der freigegebenen Version (3.0.1) arbeite, kann ich es modifizieren und einen Patch für Core erstellen oder muss ich eine originalgetreue Kopie des Trunks herunterladen und einrichten und meine Änderungen dort vornehmen?

Sie müssen nicht für jeden neuen Patch eine neue Installation einrichten. Sie können einfach svn revert verwenden , um zu einer ursprünglichen Kopie zurückzukehren.

Außerdem muss die database nicht jedes Mal sauber sein. Eigentlich ist es besser, wenn Sie Änderungen vornehmen, um eine Live-Umgebung zu simulieren.

Eclipse-PDT + Untersicht + X

Ich benutze Eclipse mit SVN-Integration . Ich denke PHP Strom macht das auch. Ich gehe in eines meiner Stammprojekte, die im Grunde eine Kasse aus dem WordPress svn Repository sind.

Dann bearbeite ich die Dateien, die ich bearbeiten muss. Eclipse zeigt an, welche Änderungen vorgenommen wurden, ich Team->Create Patch rechten Maustaste auf ein Verzeichnis, wähle Team->Create Patch und erhalte alle geänderten Dateien, die ich für das Diff auswählen kann. Dann kann ich zwischen dem Kopieren in die Zwischenablage oder dem Speichern auf die Festplatte wählen. Ich speichere alle Patches, die ich mit der Ticketnummer erstelle, in ein Verzeichnis, das ich auf meiner Festplatte habe.

Dann gehe ich in den Browser und lade den Patch hoch.

Ich könnte dies auch mit einer MyLyn Trac- Integration tun, das ist noch komfortabler, aber Sie benötigen XML-RPC direkt in Trac, so dass Sie einen Trac-Administrator benötigen, um Kontakt aufzunehmen. Es funktioniert ziemlich gut, aber ich habe es nicht in jedem Projekt konfiguriert und benutze es hauptsächlich, wenn ich Ticket-Rundowns mache.

Also wirklich, Kasse Eclipse, wenn Sie möchten. Es ist riesig und langsam, also brauchst du entweder einen großen Computer. Bei kleinen habe ich gute Erfahrungen mit Fedora Linux gemacht. Eclipse läuft gut darauf. Ich weiß, dass du ein PHP Storm Fan bist, aber, nun, ich mag meine Eclipse wirklich und sie kommt mit vielen Erweiterungen, die wirklich rocken. Sogar für PHP :). Aber PHP Storm sollte grundsätzlich auch die Checkout- / Patch-Sachen machen.

WordPress Eclipse 1×1

Ah und ich habe ein Tool in meinem Betriebssystem, das alle Verzeichnisse speichert, die ich verwendet habe. So kann ich die Patches speichern und die Dateien schnell hochladen, da sie immer aus dem selben Verzeichnis stammen, das ich dann in der letzten Liste habe.

Integrationsbeispiel: PHP Code Sniffer, Eclipse und WordPress

Ich benutze diese selbst:

https://core.trac.wordpress.org/ticket/9724

Obwohl es offensichtlich mehr in der Anwendung Patch-Abteilung ist. 😉