Was ist der richtige Weg, um ein Plugin über Tortoise Svn in das Repository zu aktualisieren?

18

Es ist mir peinlich zu sagen, dass ich etwas ahnungslos bin, wie ein Plugin über tortoise svn aktualisiert wird, obwohl mein Plugin seit Jahren im Repository ist und über 300.000 Downloads hatte!

Es gibt eine Menge Fragen zu svn hier, aber sie haben mich nur weiter verwirrt: -z

irgendwie habe ich es bis jetzt geschafft, aber ich muss das richtige Verfahren zum Aktualisieren meines Plugins auf die neue Version im Hinblick auf das Festschreiben des Trunks und das Erstellen eines Tags-Verzeichnisses kennen.

Das habe ich bisher gemacht.

  1. Code die Plugin-Updates auf meinem lokalen, bis ich damit zufrieden bin
  2. Kopieren Sie alle Dateien in meinem lokalen Plugin-Ordner in das Verzeichnis / trunk / (die Plugin- und Readme-Datei enthält aktualisierte Versionsnummern).
  3. Übertragen Sie das Trunk-Verzeichnis
  4. Klicken Sie mit der rechten Maustaste auf das Trunk-Verzeichnis und wählen Sie Zweig / Tag erstellen und legen Sie fest, dass es in einen Ordner in / tags / kopiert wird, wobei der Name die Versionsnummer ist

Ist das richtig und in der richtigen Reihenfolge? wenn nicht, wie ist der richtige Weg?

auch über Versionsnummern ...

Aus irgendeinem Grund bin ich bei meinem letzten Update von Version 2.8.1 auf 2.81.2 übergegangen. Bedeutet dies, dass es nicht als Update in den Dashboards von Personen mit Version 2.81.2 angezeigt wird, wenn ich die nächste Versionsnummer in ändere 2,9?

Wie ermittelt WordPress, welche Version die neueste ist und ob der Benutzer seine Version aktualisieren soll? macht es einen version_compare? Das funktioniert nur mit der richtigen PHP-Version, nicht wahr? z.B. 2.9.2 ist eine niedrigere Version als 2.81.2? (weil version_compare, wie ich es verstehe, links beginnt und für jede Ziffer höher / niedriger vergleicht, sodass 9 als weniger als 81 betrachtet wird)

eine andere Frage,

Wenn ich einen dummen Fehler im Code finde, der sich nicht wirklich auf die Funktionsweise des Plugins auswirkt, möglicherweise einen Tippfehler oder ein zusätzliches Bild. Was muss ich bearbeiten und festlegen, damit neue Downloads des Plugins die Änderung enthalten?

muss ich den trunk UND den tag ordner bearbeiten und beides festschreiben?

CommentLuv
quelle
2
kein Grund sich zu schämen, ich hatte auch vor ungefähr einem Monat Probleme und du bist tatsächlich viel weiter gekommen als ich :) @EAMann beschreibt den gesamten Vorgang wirklich gut, einschließlich Screenshots, auf diesem Thread: wordpress.stackexchange.com/questions/ 16951 /…

Antworten:

29

Es ist mir peinlich zu sagen, dass ich etwas ahnungslos bin, wie ein Plugin über tortoise svn aktualisiert wird, obwohl mein Plugin seit Jahren im Repository ist und über 300.000 Downloads hatte!

Sei nicht so. SVN kann für viele Leute knifflig sein. Gehen wir also Schritt für Schritt vor.

Das habe ich bisher gemacht.

  1. Code die Plugin-Updates auf meinem lokalen, bis ich damit zufrieden bin
  2. Kopieren Sie alle Dateien in meinem lokalen Plugin-Ordner in das Verzeichnis / trunk / (die Plugin- und Readme-Datei enthält aktualisierte Versionsnummern).
  3. Übertragen Sie das Trunk-Verzeichnis
  4. Klicken Sie mit der rechten Maustaste auf das Trunk-Verzeichnis und wählen Sie Zweig / Tag erstellen und legen Sie fest, dass es in einen Ordner in / tags / kopiert wird, wobei der Name die Versionsnummer ist

Ist das richtig und in der richtigen Reihenfolge? wenn nicht, wie ist der richtige Weg?

Fast ...

Die Schritte, die Sie befolgen sollten:

  1. Codieren Sie die Plugin-Updates lokal, bis Sie damit zufrieden sind
  2. Erhöhen Sie das Tag "stable" in Ihrer readme.txtDatei, um der neuen Versionsnummer zu entsprechen
  3. Kopieren Sie Ihre lokalen Updates in das /trunkVerzeichnis des lokalen Plugin-Ordners
  4. Bestätigen Sie das gesamte Plugin , um die Änderungen /trunkim Repository zu speichern
  5. Klicken Sie mit der rechten Maustaste /trunkund erstellen Sie ein neues Tag. Kopieren Sie in /tags/X.X.Xdas Tag "stable" von readme.txt(Schritt 2) , in das xxx dieselbe Version hat.
  6. Bestätigen Sie das gesamte Plugin , um das Tag zu speichern

Aus irgendeinem Grund bin ich bei meinem letzten Update von Version 2.8.1 auf 2.81.2 übergegangen. Bedeutet dies, dass es nicht als Update in den Dashboards von Personen mit Version 2.81.2 angezeigt wird, wenn ich die nächste Versionsnummer in ändere 2,9?

Bingo. Wenn Sie Version 2.81.2 als Update übernommen haben und die Benutzer dieses Update tatsächlich heruntergeladen haben, wird 2.9 bei der Veröffentlichung nicht angezeigt.

Wie ermittelt WordPress, welche Version die neueste ist und ob der Benutzer seine Version aktualisieren soll? macht es einen version_compare? Das funktioniert nur mit der richtigen PHP-Version, nicht wahr? z.B. 2.9.2 ist eine niedrigere Version als 2.81.2? (weil version_compare, wie ich es verstehe, links beginnt und für jede Ziffer höher / niedriger vergleicht, sodass 9 als weniger als 81 betrachtet wird)

Genau. Bei einem Vergleich der Standard-PHP-Versionen wird Version 2.81.2 als neuere Version als 2.9 eingestuft, da 81> 9.

Ich empfehle Ihnen, als nächstes eine Version 3.0 zu veröffentlichen, und seien Sie in der Zukunft sehr vorsichtig , um diese Art von Tippfehler zu vermeiden.

Wenn ich einen dummen Fehler im Code finde, der sich nicht wirklich auf die Funktionsweise des Plugins auswirkt, möglicherweise einen Tippfehler oder ein zusätzliches Bild. Was muss ich bearbeiten und festlegen, damit neue Downloads des Plugins die Änderung enthalten?

muss ich den trunk UND den tag ordner bearbeiten und beides festschreiben?

Wenn Sie eine geringfügige Änderung vornehmen müssen, betrachten Sie diese als Wartungsversion . Ich folge normalerweise dieser Art von Versionierungsschema:

2      .      1       .       3       .       5
major         minor           maint           build

Build-Nummern, die ich nur intern oder für Betaversionen verwende ... Sie werden fast nie eine Build-Nummer von mir sehen, es sei denn, ich sende Ihnen manuell eine Datei per E-Mail (so kann ich Vorabversionen verteilen, die WordPress-Updates nicht beschädigen). .

Wenn ich einen Fehler in einer Live-Version bemerke, erstelle ich einen schnellen Patch und veröffentliche eine Wartungsversion. Angenommen, ich habe Version 2.2 eines Plugins veröffentlicht und jemand bemerkt, dass ich vergessen habe, jQuery im noConflict () -Modus aufzurufen. Ich werde einen schnellen Patch machen und sofort 2.2.1 veröffentlichen.

Das Inkrement in der Version zwingt WordPress, das Update zu erkennen und das Update für alle bereitzustellen, die bereits Version 2.2 installiert haben.

Um eine Wartungsversion freizugeben, müssen Sie genau die gleichen Schritte ausführen, als ob Sie eine Vollversion des Systems freigeben würden. Nehmen Sie also Änderungen vor, erhöhen Sie die Version readme.txt, übernehmen Sie /trunk, markieren Sie usw.

Aber sobald Sie etwas markiert haben, ändern Sie es nie wieder. Stellen Sie sich Ihren /tagsOrdner als eingefroren vor. Jede Version in diesem Ordner ist eine Momentaufnahme Ihres Plugins zu einem bestimmten Zeitpunkt. Sie sollten niemals Dateien im /tagsOrdner direkt ändern .

Wenn Sie der Meinung sind, dass dies eine gute Idee sein könnte, schlagen Sie sich auf den Hinterkopf und veröffentlichen Sie stattdessen eine Wartungsversion :-)

Wie Piet sagte, habe ich früher eine gute Schritt-für-Schritt-Anleitung geschrieben ... aber die Seite scheint meine Screenshots verloren zu haben. Hier ist eine weitere Version derselben schrittweisen Anleitung mit Screenshots von Tortoise, die auf meiner eigenen Website gehostet wird: http://eamann.com/tech/how-to-publish-a-wordpress-plugin-subversion/

EAMann
quelle
2
Gute Antwort. Eine kleine Änderung: Wenn du sagst, ändere niemals etwas, das mit Tags versehen ist, ist das fast wahr. Angenommen, Sie machen einen Tippfehler in Ihrer Readme-Datei selbst. Es ist nicht erforderlich, eine Wartungsversion zu erstellen, um den Fehler zu beheben. War heute in # wordpress-meta mit einem der führenden Entwickler im Chat, der erwähnte, dass es in Ordnung ist, nur die mit Tags versehene Version zu bearbeiten, solange es sich nur um die Datei readme.txt handelt . Keine Anderen. Im Allgemeinen sollten Sie sich jedoch von der Bearbeitung Ihrer mit Tags versehenen Dateien fernhalten.
Andy Mercer
Gute Antwort. Das Einzige, was ich hinzufügen möchte, ist, dass es eine gute Idee ist, die semantische Versionierung zu verwenden, obwohl dies nicht erforderlich ist. Dies erleichtert es den Benutzern, zu erkennen, ob Ihr Plugin möglicherweise ihre Site beschädigen könnte, wenn es funktioniert eine wichtige Versionsänderung. Welches System auch immer Sie für die Version Ihres Plugins ausgewählt haben, seien Sie konsistent und denken Sie daran, das Readme-Changelog zu aktualisieren.
Aron