自作プログラムのソースコードを修正した履歴をXcode上で管理してみますか、ということでXcodeに標準で搭載されているSCMを試しに設定してみたので、その備忘録です。
まずは、自作プログラムのプロジェクトフォルダは「/Users/ishiura/Developer/Projects/iPhone/Calculator」、プロジェクトのの変更履歴を管理するフォルダ(リポジトリ)は「/Users/ishiura/Developer/Repos/iPhone」としてみます。使っている環境は、Mac OS X 10.6.2 (Snow Leopard)、Xcode 3.2.1です。
ターミナルで新しくリポジトリを作成します。
cd ~/Developer
mkdir Repos
cd Repos
svnadmin create iPhone
Xcodeを起動し新しいリポジトリを追加します。
- メニュー — SCM – SCMリポジトリを構成
- “Xcode”環境設定 — SCM — 追加
… 名前は「iPhone Repos」
… SCMシステムは「 Subversion」
… URLは「file:///Users/ishiura/Developer/Repos/iPhone」
リポジトリにプロジェクトを読み込みます。
- メニュー — SCM — リポジトリ
- リポジトリ — 読み込む
… リポジトリに読み込むディレクトリは「 /Users/ishiura/Developer/Projects/iPhone/Calculator」
プロジェクトはリポジトリから改めて取り出して同じ場所に配置するので、念のためオリジナルのプロジェクトフォルダ(/Users/ishiura/Developer/Projects/iPhone/Calculator)はデスクトップにでも移動しておきます。
リポジトリから作業用にプロジェクトをチェックアウトします。
- メニュー — SCM — リポジトリ
- リポジトリ — (Calculatorを選択) — チェックアウト
… チェックアウトしたディレクトリの保存先は「/Users/ishiura/Developer/Projects/iPhone/Calculator」
プロジェクトの作業用ファイルやフォルダ(build/とか)がリポジトリに含まれているので、これらをソースコード管理の対象から外します。
- メニュー — SCM — リポジトリ
- リポジトリ — (Calculatorを選択) — (不要なファイル/ディレクトリを選択) — 削除
プロジェクトがSCMに連携するように設定を変更します。
- メニュー — プロジェクト — プロジェクト設定を編集
- 一般 — ルートとSCMを構成…
… ルートは「 <プロジェクト・ファイル・ディレクトリ>」
… リポジトリは「 iPhone Repos – 推奨」
これでこのプロジェクトに含まれる作業ファイルやフォルダに対して、SCMメニューからリポジトリへのコミットや作業内容の破棄、前回との変更差分なんかのメニュー項目が使えるようになります。
とここまでやってはみたものの、自作プログラムのソースコード、特に外へリリースしたものをそんな頻繁にしかも長期に渡ってゴチョゴチョといじって再リリースしたりしないし、さらに前の前のバージョンの障害調査なんてのも趣味の世界ではやらないので、プロジェクトディレクトリ全体をzip圧縮してバックアップコピーしておくだけで、こと足りてるじゃない?と言うことに気がついてしまいました。
管理のための管理は面倒くさいし忘れてしまうので、SCMでのソースコード管理はその必要がある機会が来るまでは、結局使わないことにしました(ぉぃ)。ご清聴ありがとうございました。