Tortoise svnを介してリポジトリにプラグインを更新する正しい方法は何ですか?


18

私のプラグインは何年もリポジトリにあり、300,000以上のダウンロードがありましたが、亀svnを介してプラグインを更新するための手順について、私は少し無知だと言って恥ずかしいです!

ここにはsvnについての質問がたくさんありますが、彼らは私をさらに混乱させただけです:-z

どういうわけか私はこれまで管理してきましたが、トランクのコミットとタグディレクトリの作成に関して、プラグインを新しいバージョンに更新するための適切な手順を知る必要があります。

これは私がこれまでやってきたことです。

  1. 満足するまでローカルでプラグインの更新をコーディングする
  2. ローカルプラグインフォルダー内のすべてのファイルを/ trunk /にコピーします(プラグインとreadmeファイルのバージョン番号が更新されています)
  3. トランクディレクトリをコミットする
  4. トランクディレクトリを右クリックし、[ブランチ/タグの作成]を選択して、バージョン番号を/ tags /のフォルダーにコピーするように設定します。

それは正しいですか?正しい順序ですか?そうでない場合、正しい方法は何ですか?

また、バージョン番号について...

何らかの理由で、前回のアップデートでバージョン2.8.1から2.81.2に変更しましたが、これは、次のバージョン番号を2.9?

wordpressは、どのバージョンが最新バージョンであり、ユーザーがバージョンを更新する必要があるかどうかをどのように判断しますか?version_compareを実行しますか?適切なPHPバージョン形式でのみ動作しますか?例えば。2.9.2は2.81.2よりも低いバージョンと見なされますか?(私が理解しているように、version_compareは左から始まり、各数字の上位/下位を比較するため、9は81未満と見なされます)

別の質問、

プラグインの動作に実際には影響しないコードのばかげたミスを見つけた場合は、タイプミスや追加の画像があります。プラグインの新しいダウンロードに変更が含まれるようにするには、何を編集してコミットしますか?

トランクとタグフォルダを編集して両方をコミットする必要がありますか?


2
理由もなくは恥ずかしいことを、私はまたヶ月前に関する問題を抱えていたし、あなたが実際に私よりもさらに多くのことを来ている:) @EAMannは、このスレッドで、本当によく、税込スクリーンショット全体の手順を説明しますwordpress.stackexchange.com/questions/を16951 /…

回答:


29

私のプラグインは何年もリポジトリにあり、300,000以上のダウンロードがありましたが、亀svnを介してプラグインを更新するための手順について、私は少し無知だと言って恥ずかしいです!

しないでください。SVNは多くの人にとって扱いにくいものになる可能性があるので、ステップバイステップで説明していきましょう...

これは私がこれまでやってきたことです。

  1. 満足するまでローカルでプラグインの更新をコーディングする
  2. ローカルプラグインフォルダー内のすべてのファイルを/ trunk /にコピーします(プラグインとreadmeファイルのバージョン番号が更新されています)
  3. トランクディレクトリをコミットする
  4. トランクディレクトリを右クリックし、[ブランチ/タグの作成]を選択して、バージョン番号を/ tags /のフォルダーにコピーするように設定します。

それは正しいですか?正しい順序ですか?そうでない場合、正しい方法は何ですか?

ほとんど ...

従うべき手順:

  1. 満足するまでプラグインの更新をローカルでコーディングします
  2. readme.txtファイル内の「安定」タグをインクリメントして、新しいバージョン番号と一致させます
  3. ローカルアップデートを/trunkローカルプラグインフォルダーのディレクトリにコピーします
  4. プラグイン全体をコミットし、変更を/trunkリポジトリに保存します
  5. 右クリック/trunkして新しいタグを作成し/tags/X.X.X、xxxがreadme.txt(ステップ2)の「安定」タグの同じバージョンである場所にコピーします。
  6. プラグイン全体をコミットてタグを保存します

何らかの理由で、前回のアップデートでバージョン2.8.1から2.81.2に変更しましたが、これは、次のバージョン番号を2.9?

ビンゴ。バージョン2.81.2を更新としてコミットし、人々が実際にその更新をダウンロードした場合、リリース時に2.9は表示されません。

wordpressは、どのバージョンが最新バージョンであり、ユーザーがバージョンを更新する必要があるかどうかをどのように判断しますか?version_compareを実行しますか?適切なPHPバージョン形式でのみ動作しますか?例えば。2.9.2は2.81.2よりも低いバージョンと見なされますか?(私が理解しているように、version_compareは左から始まり、各数字の上位/下位を比較するため、9は81未満と見なされます)

丁度。標準のPHPバージョン比較では、バージョン2.81.2が81> 9であるため、2.9よりも新しいバージョンとして表示されます。

次にバージョン3.0をリリースすることをお勧めします。その後、この種のタイプミスを防ぐために、将来のバージョン管理には非常に注意してください。

プラグインの動作に実際には影響しないコードのばかげたミスを見つけた場合は、タイプミスや追加の画像があります。プラグインの新しいダウンロードに変更が含まれるようにするには、何を編集してコミットしますか?

トランクとタグフォルダを編集して両方をコミットする必要がありますか?

小さな変更を加える必要がある場合は、メンテナンスリリースと見なしてください。通常、この種のバージョン管理スキーマに従います。

2      .      1       .       3       .       5
major         minor           maint           build

ビルド番号は、私が唯一のこれまでの内部またはベータ版のリリースのために使用...あなたはほとんどだろう決して私は手動であなたのファイルを電子メールで送信しない限り、私からのビルド番号を確認しない(それは私がWordPressの更新を中断されませんプレリリース版を配布することができます方法です) 。

ライブバージョンのバグに気付いた場合は、簡単なパッチを作成してメンテナンスバージョンをリリースします。プラグインのバージョン2.2をリリースし、noConflict()モードでjQueryを呼び出すのを忘れたことに気づいたとします。クイックパッチを適用し、すぐに2.2.1をリリースします。

バージョンの増分により、WordPressは更新を認識し、バージョン2.2を既にインストールしているユーザーに修正プログラムを提供します。

メンテナンスバージョンをリリースするには、システムのフルバージョンをリリースする場合とまったく同じ手順に従う必要があります。したがって、変更を行い、バージョンをインクリメントしreadme.txt、コミット/trunk、タグなどを追加します。

ただし、タグを付けたら、それを再び変更することはありません。/tagsフォルダーが時間内に凍結していると 考えてください。そのフォルダー内の各バージョンは、特定の時点でのプラグインのスナップショットです。あなたは必要があります決して内の任意のファイルを変更しない/tagsで直接フォルダ。

あなたがそれが良い考えかもしれないと思うなら、頭の後ろで自分自身を叩いて、代わりにメンテナンスバージョンをリリースしてください:-)

Pietが述べたように、私はステップバイステップの手順の良いセットを以前に書きまし ...しかし、サイトは私のスクリーンショットを失っているようです。私のサイトでホストされているTortoiseのスクリーンショット付きの同じステップバイステップガイドの別のバージョンを次に示します。http//eamann.com/tech/how-to-publish-a-wordpress-plugin-subversion/


2
素晴らしい答え。ただし、1つの小さな編集:タグ付けされたものを変更しないと言うとき、それはほとんど真実です。README自体にタイプミスがある場合、それを修正するためだけにメンテナンスリリースを行う必要はありません。今日、#wordpress-metaでリード開発者の1人とチャットしていました。リード開発者は、readme.txtファイルだけであれば、タグ付けされたバージョンを編集するだけでいいと言いました。他にない。ただし、一般的には、はい、タグ付きファイルの編集は避けてください。
アンディマーサー

素晴らしい答え。私が追加する唯一のことは、プラグインのバージョン番号に関しては、セマンティックバージョニングを使用することをお勧めしますが、そうする必要はありません。メジャーバージョンの変更。プラグインをバージョン管理するために選択したシステムが一貫していることを確認し、readme changelogを更新することを忘れないでください。
アロン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.