WordPress Coreに提出するためのパッチを作成する最も簡単な方法は?


13

私はいくつか送信したWordPressのコア用のパッチをのTrac(使用されているそのうちの一つ)が、そうするために私のセットアップは非常に面倒ですので、私はそれをやって考えるたびに私はうんざり。

誰かがコアのパッチを提出するために必要な手順を詳細に説明してください。そして、プロセスを合理化する最も退屈な方法ではないでしょうか?現在、Mac OS XとPhpStormを使用していますが、シェルスクリプトが最も簡単だと考えていますか?それとも、すべての暗記機能を行うPHPスクリプトでしょうか?

問題の1つは、最初に何をする必要があるかを完全に理解していないことです。トランクから始めますか?パッチを作成するたびに、新しいコピーをダウンロードし、コードでそのコピーに追加/編集する必要がありますか?

繰り返しになりますが、SVNでの作業は完了していますが、パッチ適用は現在のスキルセットの範囲外であり、これを変更したいと考えています。WordPressのパッチ適用の専門家が私を助けてくれることを願っています。前もって感謝します。

更新:

@hakreの回答の後、質問にさらに追加する必要があると考えています。

  • 古いバージョンからパッチを作成できますか、またはトランクを使用する必要がありますか?
  • リリースバージョン(3.0.1)を使用してプロジェクトに取り組んでいる場合、それを修正してコア用のパッチを作成できますか、またはトランクの初期の新しいコピーをダウンロードして設定し、そこに新たに修正を加える必要がありますか?
  • ログインをスクリプトにエンコードし、スクリプトを実行して必要なものをすべて再作成したり、パッチを作成したりできるように、シェルスクリプトを使用できますか?
  • そして、落とし穴は何ですか?

これらの質問はすべて、WordPressのSVNがどのように機能するかを知っている人が想定しているようであり、そのため、議論の中で常に説明されています。

回答:


8

パッチを作成する最も簡単な方法は次のとおりです。

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

古いバージョンからパッチを作成できますか、またはトランクを使用する必要がありますか?

適用するバージョンと同じバージョンに対してパッチを作成する必要があります。

言い換えれば、WP 3.0.1に対して作成されたパッチがWP 3.1-alphaに完全に適用されることを期待しないでください。

リリースバージョン(3.0.1)を使用してプロジェクトに取り組んでいる場合、それを修正してコア用のパッチを作成できますか、またはトランクの初期の新しいコピーをダウンロードして設定し、そこに新たに修正を加える必要がありますか?

新しいパッチごとに新しいインストールを設定する必要はありません。svn revertを使用して、元のコピーに戻すことができます。

また、データベースは毎回クリーンである必要はありません。実際には、ライブ環境をシミュレートするために、いくつかの修正があればより良いです。


1
作業コピーを入手した後、パッチを作成するのは簡単svn diff > my-patch.patchです。
ブラソフィロ

5

Eclipse PDT +サブクリップ+ X

SVN Integrationを備えたEclipseを使用しています。PHP Stromも同様だと思います。基本的にWordPress svnリポジトリからのチェックアウトである私のトランクプロジェクトの1つに行きます。

次に、編集する必要があるファイルを編集します。Eclipseは変更されたものを表示します。ディレクトリを右クリックしてTeam->Create Patch選択すると、差分用に選択できるすべての変更されたファイルが提供されます。次に、クリップボードにコピーするか、ディスクに保存するかを選択できます。チケット番号で作成したすべてのパッチをハードディスク上のディレクトリに保存します。

次に、ブラウザに移動してパッチをアップロードします。

MyLyn Tracとの統合でこれを行うこともできますが、これはさらに快適ですが、tracにXML-RPCが必要なので、trac管理者に連絡する必要があります。それはかなりうまく機能しますが、私はすべてのプロジェクトでそれを構成しておらず、主にチケットのランダウンを行うときにそれを使用します。

本当に必要な場合は、Eclipseをチェックアウトしてください。巨大で遅いので、大きなコンピューターが必要です。小さなものでは、Fedora Linuxで良い経験をしました。Eclipseはそれでうまく動作します。あなたがPHP Stormファンであることは知っていますが、私はEclipseが大好きで、多くの拡張機能が付いています。PHPでも:)。しかし、PHP Stormは基本的にチェックアウト/パッチなども行うべきです。

WordPress Eclipse 1x1

  • PHPビルドパスから除外:wp-admin / load-scripts.php; wp-admin / load-styles.php
  • Subversion(トランク):http : //svn.automattic.com/wordpress/trunk、その他によると。
  • タスクリポジトリ:https ://core.trac.wordpress.orgでTracコネクタを使用します

ああ、私は使用したすべてのディレクトリを保存するツールをOSに持っています。したがって、パッチは常に最新のリストにある同じディレクトリにあるため、パッチを保存してファイルを高速でアップロードできます。

統合の例:PHPコードスニファー、EclipseおよびWordPress


回答ありがとうございます。私はEclipseを試し、それを嫌っていました。応答しすぎて、インターフェイスが気に入らなかった。したがって、Eclipseがオプションである他の人にとっては良い答えですが、あなたの答えは私のニーズに対応しません。私はそれを与えて賛成票を投じますが、IDEに結び付けられていないソリューション、またプロセスをよりよく説明するソリューションを好むでしょう。
マイクシンケル

また、PhpStormは完全なSVN(およびGit)統合を備えていますが、統合するには、各メニューがどのように作用するかを完全に理解する必要がありますヘルプファイルにありますが、状況依存ではないため、SVN + GitはPhpStormに大幅に追加されているため、すべてが完全に失われるのは簡単です。そのため、IDEに切り替える必要はありません。嫌いです。
MikeSchinkel

@MikeSchinkel -SVNが複雑すぎる場合(SVN + Editorのフレーバーに関係なく)、wordpressプロジェクトのパッチを作成できません。基本的に、SVNへのUIのインターフェイスが嫌いな場合は、コマンドラインを学習します。しかし、とにかく学ぶ必要があります。SVNはbtwが好きなエディターで使用できます。パッチを作成してテストするために、1つのSVNトランクコピーを実行し、Webサーバー上で構成しています。パッチを1つ作成した後、ローカルコピーからローカルの変更を削除(元に戻す)してから、他のパッチに進むことができます。常に機能します。他に何を言いますか?
ハクレ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.