WordPress を Subversion でアップグレードする

プログラムのソースコードを管理するのに、そのバージョン管理システムは半ば必須のようなソフトウェアです。  開発現場では CVS とか Visual SourceSafe、オープンソースでは Subversion といったソフトウェアを使っているのをよく見ます。

WordPress の開発でも Subversion を使っていて、そのリポジトリは一般に開放されているので、開発者はアクセスして最新のソースファイルを取り出すことができます。(ただし、もちろんそのリポジトリのソースを更新(コミット)できる人は限られています。 matt とか ryan とか markjaquith とかのコアデベロッパーですね。)

今日、本家の WordPress Codex をみていたら、この Subversion を使って WordPress のアップグレードをする方法が書いてあるのを発見しました。(thx. ぼのさん)

Installing/Updating WordPress with Subversion « WordPress Codex

If you have command-line access to your web server, and if your server has a Subversion (svn) client installed, you can use Subversion to install and update WordPress. Although SubVersion is mostly a software developers’ tool, non-developers can also use it to install and upgrade WordPress. Some people consider this to be much easier than following the standard WordPress installation and upgrade methods (downloading and unzipping archives, then using FTP to put them on your web host), and this article explains how to do it.

非開発者でも Subversion 使うと、WP のインストール、アップグレードが簡単だよ。 みたいな感じでしょうか。

matt 「YOU 、Subversion つかっちゃいなYO!」

うそです、すいません。。

バージョン管理システムを知らない方のために、Subversion の機能をかいてみます。

  • 1つのファイル(ソース)に対して、更新履歴をもてます。 修正前のリビジョンの内容も全て保持するので、修正箇所を把握するのが簡単です。
  • ファイルの更新はもちろん、削除や移動といったトランザクションも扱えます。 要は “アップデート差分ファイル.zip” 上書きでは不可能な、不要ファイル削除とかができます。
  • ファイル集合の特定の状態を、バージョンタグという機能で保持することができます。 リリースを行ったときの状態をもちつつ、さらに最新版の開発を行うことができます。

他にもいろいろ機能はありますが、基本はこんな感じです。

言葉的には、”ファイル更新” を コミット。 バージョンタグを tag。 ”最新版” を trunk (CVS では HEAD) といったりします。

この Subversion サーバにアクセスするには Subversion クライアントと呼ばれるソフトが必要です。 Windows では TortoiseSVN というクライアントが優秀ですね。 これで WordPress のリポジトリをみてみると概要はすぐわかります。

 WordPress のリポジトリにアクセスした図です。 tag に歴代のバージョンがならんでいるのが見えます。

で、Subversion を使った WP のバージョンアップの話です。

ぼくのローカル PC は、Eclipse を Subversion クライアントとして、プロジェクトは WordPress の “trunk” に接続されています。 開発最新版で遊ぶためなんですが、たまに “更新” というメニューを選んであげるだけで、そのプロジェクトは最新版になります。 .zip とかおとしてきて削除、上書きする必要がなく、ものすごくお手軽なわけです。 :-) .zip からの更新の場合、一度ファイルを削除しなければならないのは、前述の通りファイルの削除、移動トランザクション処理は “.zip ファイルの上書き” ではできないためです。(ゴミが残る)

本家の codex に書いてあるのは、この機能を使って WordPress サイトのアップグレードをしよう、というのが趣旨です。 この場合接続先は trunk ではなくて tags です。まさか trunk を本サイトにつかう人もいまい。

最初に特定バージョンタグをチェックアウト(取得)して、その後バージョンがあがった際はその向き先を新しいバージョンタグに向けてあげるとなにも考えずにアップグレードができます。 やることは、コマンドで言えば1行打ち込むだけでアップグレード。 🙂

で、ですよ。 本サイトは多くの場合レンタルサーバ上の UNIX だと思います。 その UNIX に接続できて、かつ Subversion クライアントがインストールされている必要があります。 具体的に言えば、 SSH や telnet でサーバに接続できること。 svn というコマンドが使えること。

svn 使えるサーバなんかねぇよな。。

そう思って、なんとなく hiromasa.another で使っている CORESERVER さんに SSH して、svn help って打ってみました。

svn 入ってるじゃん!!

ちょっと笑ってしまいましたが、 CORESERVER ではできるようです。(もしかしたらぼくのサーバがたまたまかもしれませんが。。

まぁ、たとえばお客様先の本サイトなどを Subversion で update するのもどうだろう、と個人的には思うのですが(やるなら削除後エクスポートだよね)、個人で使う分には一度チェックアウトしちゃえば、コマンド一発で、どのバージョンからでもアップグレードできますので便利です。

てなわけで、hiromasa.another も codex の手順通りやってみました。 2.2.2 だったのでひとつとばしで、2.3 にアップグレード。

でけた!

もしかして XREA も入っているのかな。。 (追記、入っているそうです)

ものぐさな方はやってみてください。 :-) (初期チェックアウト前はサーバのファイルを FTP でバックアップして、削除後中身を空にしてからやってください)

え、SSH のつなぎ方が分からない? では次のエントリで。 🙂

WordPress を Subversion でアップグレードする」への10件のフィードバック

  1. > まさか trunk を本サイトにつかう人もいまい。

    いやいや、その「まさか」がいたりするもんですよ 😉

    半年くらいそれでやってますけど今のところひどい目にはあってないっすよ。

  2. miyosi さん、こんばんは!

    > WordPress 2.4-bleeding

    ぎゃ~、そうでした、失礼しました。。。
    trunk とか head は、ロマンですよね。(笑

  3. ピンバック: power source*

  4. ピンバック: わーどぷれすっ! » WordPress のアップグレードを簡単に: Subversion の巻

  5. こんちわ〜
    質問ですが、SubversionってFedora7に入ってるんですがLinuxで
    使うことはできますか? 「WordPress を Subversion でアップグレードする」
    Fedora7版の執筆予定はありませんか?(笑)
    そろそろFedora8ですねぇ

  6. yutaka さん、こんにちは!

    はい、Fedora にも入っています~。
     $ svn help
    ってうってnot found になったら、
     $ yum install subversion
    くらいではいると思います。 🙂

    Fedora 8 もうすぐですね。 7 はとばしちゃったので、8 は入れます!!

  7. コメント承認待ちでした、、すいません。。

    >subversion入ってますね。ということは端末からの接続でいけるわけですか?

    はい、いけると思います!。 🙂

    >これだと使いにくい場合public_htmlの中にblogというディレクトリーを作ってインストールしたいとき

    自分のカレントディレクトリにもよりますが、A ディレクトリに public/blog がある場合なら、A ディレクトリにいる状態で

    svn co http://svn.automattic.com/wordpress/tags/2.3.1 public_html/blog

    になります。 public_html の頭に / はなしです。 よくわからなければ、cd でそこのディレクトリまでたどりついて、

    svn co http://svn.automattic.com/wordpress/tags/2.3.1 .

    最後は “.” です。 これでいまいるディレクトリにダウンロードされてくるハズです。 🙂

  8. ピンバック: Binsan's Cafe

  9. ピンバック: power source*

コメントを残す