UNIX系OSにおけるSubversionの使い方
tDiaryの開発に参加するにあたって、Subversionが使えるようになる必要があります。以下に説明するのは、UNIX系OS上でこれらを使うためのチュートリアルです。主にテーマの開発をターゲットに書いてありますが、coreやpluginでも同様です。Windowsの場合はWindowsにおけるSubversionの使い方を参照してください。
1. Subversionを使えるようにする
Subversionのコマンドは「svn」です。多くの環境ではすでにsvnコマンドが入っています。ターミナルから「svn」と入力して、入っていればこの章は飛ばしてかまいません。
もしsvnコマンドが入っていない場合には、システム管理者にインストールを依頼してください(さすがにここでは、自分でインストールする方法まで説明しません)。
2. Subversion作業
Subversion作業の流れ
Subversionでの開発作業は、以下のような流れをとります。
- プロジェクトをcheckoutする。Subversionのリポジトリからプロジェクトが管理しているファイルを作業環境にダウンロードする。
- 他者による変更をupdateで取得する。前回のupdate(もしくはcheckout)から変更があった部分だけをリポジトリから取得してマージ、作業環境を最新状態にします。
- 実際に変更する。ファイルを修正したり、追加(add)、削除(remove)を行います。
- 自分が行った変更点をcommitする。リポジトリには前回の変更からの差分が記録されるので、作業履歴がきちんと残ります。
- 2.に戻って繰り返し。
このように、更新漏れや上書きによる失敗の心配なしにファイルを管理できるので、いちいちftpでWebサイトにアップロードするような手法に比べてとても楽です。以下に、それぞれの作業のやり方を説明します。
チェックアウト
svnのcoサブコマンドは、リポジトリから作業環境への一括ダウンロードをします。通常この作業は、ひとつの作業環境上では一回しか行いません。
まずは、開発に使うブランチを決めましょう。通常は最新開発版であるtrunkですが、場合によっては特定の安定版ブランチを使い場合もあるでしょう。以下はtrunkを使う場合について説明します。
% cd ~/src % svn co https://tdiary.svn.sourceforge.net/svnroot/tdiary/trunk tdiary (以下、ずらずらとファイルがダウンロードされる)
~/src/tdiaryというディレクトリができて、その下にcore、plugin、themeなどのディレクトリができていると思います(コマンドの最後に指定した「tdiary」はここで新たに作成されるディレクトリ名を表しています。指定しなかった場合には「trunk」が作られます)。
もし、特定のディレクトリ配下のみをダウンロードしたい場合には、以下のようにディレクトリを指定することもできます(この場合は「theme」)。
% svn co https://tdiary.svn.sourceforge.net/svnroot/tdiary/trunk/theme
アップデート
svnのupサブコマンドは、前回のアップデートまたはコミットから今までの間に、自分もしくは他者によって変更された内容を、自分の作業環境に一致させるコマンドです。上でcoした直後は基本的には最新になっていますが、作業前にはいちどアップデートしましょう。
% cd ~/src/tdiary % svn up (変更のあったファイルが更新される)
ファイルの追加
addは新しいファイルを追加するサブコマンドです。すでにSubversionリポジトリに登録済みのファイルを修正するときにはこのコマンドは必要ありません。
では例として、新しくfooテーマを追加することにしましょう。fooテーマは、CSSであるfoo.cssと、背景画像foo_back.pngからできているとします。
まず、~/src/tdiary/themeの下に、fooテーマ専用のディレクトリを作成し、2つのファイルをこの下にコピーしましょう。そのあとで、以下のように実行すれば追加完了です。
% cd ~/src/tdiary/theme % svn add foo
ディレクトリおよびその下のファイルの追加が完了しました。ただし、この時点ではまだリポジトリに反映されていません。あとで行う、コミット作業でまとめて反映されます。
コミット
Subversion最後の作業は、ciサブコマンドです。このコマンドで今までの変更部分がすべてリポジトリに反映されます。-mオプション以降には、どんな変更を加えたかを英語で短くコメントしておきます。-m以降を省くと、エディタ(通常はvi)が立ち上がり、コメントを記述するように求められます。
% cd ~/src/tdiary/theme % svn ci -m 'add foo theme.'
このとき、ユーザ名とパスワードを聞かれます。SourceForgeのアカウント情報を入力しましょう。ただし、contribに関しては別のCodeReposというリポジトリを使っているので、contribをいじる場合にはCodeReposのアカウントが必要です。
以上で簡単なSubversionの使い方の説明は終わりです。今後の作業は、修正・追加を行うたびにアップデート〜ファイルの修正・追加〜コミットの流れを繰り返すことになります。