私はgithub上で自分のプラグインを開発していますが、展開になると、どういうわけか私の変更を Wordpress SVN にコピーしなければなりません。現在、私はこれを手動で行い、各ディレクトリの各ファイルを個別にコピーしますが、これは時間がかかり、エラーが発生しやすいものです。
いくつかのスクリプトを見てみましたが、エラーが発生したかファイルを正しくコピーしなかったため、正しく実行していないといけません。
だから私の質問は誰もが自動的にこれを達成しているということですそしてもしそうならどのようにあなたはそれをやったのですか?
ありがとうございます。
詳細な説明は WordPressプラグインを公開する方法 - Git from @EAMann を参照してください。
これらの回答を読んだ後、私は自分のプラグインの1つをGitHubにプッシュし、 release.sh スクリプトを書きました。このスクリプトは、plugins.svn.wordpress.orgから --depth immediates
を使用してプラグインの部分的なチェックアウトを取得し、trunk/
とassets/
内のファイルを更新します。これにより、開発履歴を維持するのではなく、wordpress.orgリポジトリを使用してリリースにタグを付けることで、定期的にsvnにプッシュすることが簡単になります。
./release.sh
svn cp trunk tags/0.6
svn ci "Sending 0.6 from https://github.com/foo/bar to wordpress.org"
より一般的なバージョンでは、さまざまなプラグインと連携したり、削除されたファイルを処理したり、gitタグに基づいて自動的にsvnタグを更新したりできます。
私のチームの同僚からこのチュートリアルを見てください: http://www.farbeyondprogramming.com/2011/09/81-how-to-deploy-a-wordpress-plugin-with-git-svn
しかし、彼はそのソリューションを使わないでください。
自動的には行いませんが、とても簡単です。
SVN truckとGit masterを同じディレクトリにチェックアウトします。 Gitのみのプロジェクトと同じように、Gitをほぼすべてのものに使用します。
stable tag
をtrunk
に設定してから、リリースの準備ができたら、それをGitでタグ付けしてからすぐにトランクにプッシュします。あなたのリリース履歴はGit(とGithub)で安全なので、SVN /tags
にプッシュすることを心配しないでください。
それはそれについてです。
それを片付けるために、私は.svn
に.gitignore
を追加し、そしてSVNによって無視される.git
(そしてtests/
、phpunit.xml
など)を追加しました。
Release.shスクリプトは、実際には次のようなものにすぎません(コード内のバージョン番号が更新され、すべてGitにコミットされた場合)。
git tag $1
svn ci -m"Release: $1"