Xcode プロジェクトを Subversion 管理する
Apple の提供する開発環境 Xcode で作成したプロジェクトを Subversion 管理する手順。基本的に「Rails のプロジェクトを Subversion で管理する」の Xcode 版。
リポジトリの場所を決める
まずは、リポジトリのルート URL を決めて、これを環境変数に設定しよう。以降はこの変数を使うことで、長々とした URL をタイプする手間が省ける。
% SVN_REPO=svn+ssh://svn.example.com/projects/Example
もちろん、実際の URL は自分で使うものに置き換えてほしい。
空のプロジェクトをコミットする
ここで、いきなり Xcode を起動して新規プロジェクトをつくるのではなく、まずは、プロジェクトのディレクトリ・レイアウトを構成した、空のプロジェクトをコミットする。
Subversion 管理するプロジェクトのディレクトリ・レイアウトといえば、trunk branches tags
が王道なので、これに合わせておくのがいいだろう。たとえ、開発者があなたひとりで、職場の数人しか使わないようなアプリケーションを開発しており、ブランチなんか作る予定がないのだとしても。
% mkdir tmp
% cd tmp
% mkdir trunk tags branches
% svn import ./ ${SVN_REPO} -m "initial import"
Adding trunk
Adding branches
Adding tags
Committed revision 20.
コミットしたら、このディレクトリは必要ないので削除しても大丈夫だ。
% cd ..
% rm -rf tmp
Xcode のプロジェクトにチェックアウト
そうして、コミットした空のプロジェクトを Xocde のプロジェクト・ディレクトリにチェックアウトすれば、Subversion 管理された Xcode プロジェクトが出来上がる。この方法なら、すでに開発中のプロジェクトにも適用しやすい。
ここでは、~/Developer/Workspace/Example/
に Xcode のプロジェクトを作成しているものとする。そのディレクトリに移動し、さきほどコミットしたプロジェクトの trunk
をチェックアウトしよう。
% cd ~/Developer/Workspace/Example/
% svn checkout ${SVN_REPO}/trunk .
バージョン管理するファイルの選択
ここまでで、
- プロジェクトのディレクトリ・レイアウトを決める
- 空のプロジェクトをコミットする
- Xcode プロジェクトにチェックアウト
が出来た。
もちろん、いまは空のディレクトリをチェックアウトしただけなので、Xcode プロジェクト内のファイルはいずれもバージョン管理されていない。
ひとつひとつ、必要なファイルを svn add
してもかまわないが、最初にすべてを svn add
してしまって、不要なものを取り除くのが簡単だ。
% svn add --force .
A Example.xcodeproj
A Example.xcodeproj/ishikawa.mode1
A Example.xcodeproj/ishikawa.pbxuser
A Example.xcodeproj/project.pbxproj
A Example_Prefix.pch
A build
ビルド結果が保存される build
ディレクトリはバージョン管理しなくてもよいだろう。まずは、このディレクトリを管理対象から外す。
% svn revert build --recursive
% svn propset svn:ignore "build" .
Xcode のプロジェクトパッケージ .xcodeproj
にはユーザー特有のファイルが含まれているので、複数人で開発する場合は、これらも管理対象から外しておいた方がいいだろう。
% svn revert Example.xcodeproj/ishikawa.*
% svn propedit svn:ignore Example.xcodeproj/
*.mode1
*.pbxuser
最後に変更をコミットして終わり。
% svn commit -m "New Xcode project"