MobileMe + SubversionでXCodeプロジェクトのバックアップとリビジョン管理

iPhone開発者ならほとんどがアドレス帳同期などのために使っているだろうmobileme。せっかくiDiskという10GBのストレージがついてくるのだから利用しない手はない。まずは"システム環境設定" - "MobileMe" - "iDisk"タブからiDiskSyncを開始する。
次にターミナルから

mkdir -p /Volumes/iDisk/Repository/ProjectName
svnadmin create /Volumes/iDisk/Repository/ProjectName --fs-type fsfs
mkdir -p tmp/{trunk,branches,tags}
svn import tmp/ file:///Volumes/iDisk/Repository/ProjectName -m "Initial import"

を実行する。iDiskSyncを使わずに/Volumes/[MobileMeユーザー名]以下にリポジトリを作ってしまうとimport時に排他的ロックが取得できないエラーで失敗してしまうので注意。
ここまできたら次にXCodeを立ちあげ、"XCode" - "環境設定"のSCMでリポジトリを追加してSCMシステムはSubversionを、URLは先ほどインポートした"file:///Volumes/iDisk/Repository/ProjectName"を入力すると認証完了。
次は"SCM" - "リポジトリ"からtrunkを選択した状態で"読み込む"を押しプロジェクトフォルダを読みこませる。もしbuildフォルダがデフォルトのままプロジェクトフォルダ下にある場合は先にそれを削除しておく。
これでtrunkを先ほど読みこませた場所とは違う場所にチェックアウトし、プロジェクトの "情報" - "一般"タブ でビルドプロダクトの保存位置をプロジェクトフォルダ外に置き、SCMリポジトリを設定すれば全ての設定は完了だ。
もしここでコミット時にエラーが出るようであれば、まずはXCodeから読み込ませたプロジェクトにビルドが残ってなかったか、あるいは以前に~/.subversion/configをいじって妙な設定にしていなかったかを確認すればいい。


iDiskとTimeMachineと二種のバックアップになり安心して作業ができるようになった。