WP: ローカルPC でバージョン管理開始(仮) with TortoiseSVN
Responces:
- No Responses yet
- コメントをどうぞ
- Trackback URI
- RSS 2.0: 更新情報
- RSS 2.0: Comments
いろいろと試してみた結果、とりあえず、以下の方法でスタートしてみることにした。WordPress 本体以外は、これで更新・管理していけそう。
WP 本体についてはいい方法が見つけられなくて、当面、対象外とした。引き続き模索していく。
構成
- (1) ローカルPC リポジトリ群
- 自作プラグイン・自作テーマ — それぞれ個別にリポジトリを設けてみた。
- ps リポジトリ — サイト全体を管理する。(WPコアと自作モノのファイルを除く)
.htaccessfavicon.icoindex.php(ルートにコピーしてある)wordpress/wp-config.phpwp-content/— 他の作者のプラグイン・テーマ、言語ファイル、アップロードファイル
- 方法が分かれば、自作プラグイン・テーマを外部参照させるかも。後述。
- (2) 作業フォルダ(常駐)
- 上記 (1) からチェックアウトしたファイルで構成。後述。
- s201 サーバへのアップロードはここから。
- (3) WordPress コア
- 当面、PC でのバージョン管理外。
2.0.x のときはコアを修正していたが、2.3 に上げてからは触っていないので、いいかなあ、と。。 - 作業フォルダ内にも置かない。普通にファイルを置いてしまうと、メジャーアップグレード時に面倒なので。
- 差分を見たいときは、tortoiseSVN のリポジトリブラウザ(または Trac のオンラインブラウザ)で、本家リポジトリを覗く。
- マイナーアップグレードは 前回の方法で。
- grep とか用に、PC のどこかには置いといたほうがいいかも。今度コアを見たくなったら考える。
- 当面、PC でのバージョン管理外。
- (4) 他の作者のプラグイン・テーマ
- 作業フォルダでカスタマイズ、ps リポジトリでバージョン管理。
バージョン管理準備
初期状態を整えるために行なった作業。
- PC 上にリポジトリを作成し、ファイルをインポート
- 自作プラグイン用の各リポジトリ
- 自作テーマ用の各リポジトリ
- サイト全体用リポジトリ — WPコアと自作モノを除いたファイル。ディレクトリ構造は保つ。
- 作業フォルダへチェックアウト
- 最初に、サイト全体用リポジトリからチェックアウト
wordpress/wp-content/plugins/下へ、各自作プラグインリポジトリからチェックアウトwordpress/wp-content/themes/下へ、自作テーマリポジトリからチェックアウト
参考:
- TortoiseSVN マニュアル » データをリポジトリにインポート - リポジトリレイアウト
- TortoiseSVN マニュアル » 共通のサブプロジェクトを含める - ネストした作業コピーを使用する
今後の日々の運用
コミット時には、分かりやすいログメッセージを入れよう!
自作プラグイン・テーマ
- 日々の改良は作業フォルダ上で行なう。
- コミットするまでは、「TortoiseSVN」 - 「元に戻す」で修正前に戻せる。
- ある程度の形になったところで、trunk へコミット。 (→ リビジョンが更新される)
- ある時点の状態に戻したいときは、欲しいリビジョンをログから選んでチェックアウト。
- tag は当分打てそうにない。。。(・;)
ps 全体(WPコア以外)+他の作者のプラグイン
- 他の作者のプラグイン:
- 新規プラグイン
- 配布元からダウンロード・解凍したファイルを作業フォルダに入れる。
- TortoiseSVN - 追加… で、バージョン管理対象にする。
- 作業フォルダから s201 サーバへアップロード、本番で使用開始。
- OK ならコミットして、ps リポジトリに入れる。
- プラグインのアップグレード時
- 配布元からゲットしたファイルを、作業フォルダに上書き or 削除後上書き (TortoiseSVN ではなく、Windows で)
- 増えたファイルがあれば、TortoiseSVN - 追加…
- s201 へアップして、動作確認
- OK ならコミット
- プラグインのカスタマイズ
- 修正は作業フォルダで行なう。
- コミットするまでは、「TortoiseSVN」 - 「元に戻す」で修正前に戻せる。
- 修正が固まったらコミット。
- オリジナル版や過去の修正は、ログからいつでも取り出せる。
- 新規プラグイン
- その他のファイルの更新時
- 修正は作業フォルダで行なう
- 修正が固まったらコミット
- WP本体アップグレードの直前/直後など、区切りのタイミングで tag を打つ。
何かトラブルがあったときに、その直前に戻りやすくするため。その tag と 当時の WP コアファイルをマージすれば、その時点のファイル一式になる。(はず)
でも、リビジョンでもいいのかな…?
要検討
TortoiseSVN や subversion の仕組みを学びながら、引き続き検討。
- WP コアについて
- ファイルの追加・削除を伴うアップグレードのときに、どのように作業するか?
- WordPress 本体を PC のリポジトリや作業フォルダに置くか?アップグレード時にも簡単に置き換えられる方法があれば。。
- ps リポジトリにおける、自作プラグイン・テーマの外部参照
- subversion では、作業コピー(作業フォルダ)に別プロジェクトのコードを含めることができる。
- 前の記事に書いたように、
svn:externalsは複数の自作プラグイン用に上手く設定できなかったため、現在は「ネストした作業コピー」の方法で、ps リポジトリの作業コピー内に、各リポジトリから追加チェックアウトする形にした。
svn:externalsが本当に使えないのか、引き続き調べてみる。ちなみに、3 はまだ試してない。。



