とらぬたぬきの皮算用

普段のなんでもないことも、技術的なことも、趣味のことも書いてしまう雑食です。

DropboxでSubversion(Xcode編)

iPhoneアプリを作るに当たって、その開発メンバーが1人であっても、複数人であっても、コードのバージョン管理はしたいはず。
ということで、今回はDropboxを使用して、Subversionを使える仕組みをご紹介。
これを行えば、Subversion(SVN)用にサーバーを持たなくても、ウェブ上でコード管理ができちゃったりします。
また、以下はmacでの流れになります。

Dropboxの準備

まずは、ここから。Dropboxを準備しましょう。
最初にアカウント登録をすると、2GBとのストレージ領域がもらえるのですが、紹介制度もあるので、下記リンクからアカウントを作っていただくと、250MB+されてアカウントを作成することができますので、よかったらどうぞ!(私の容量も同じく増えるのですw)


http://db.tt/0gGiBm2


アカウントを作成し終えたら、例のごとくDropboxのアプリケーションをお使いのmacにインストールしてください。このアプリをインストールしないと、ブラウザ上でファイルやフォルダのアップデートをすることになり、本来のSVNらしい使い方は難しいくなります・・・


インストール先は仮にもホームディレクトリの下としておきましょう。

/Users/ユーザー名/Dropbox

推奨設定でインストールしていれば、そうなっているはずです。


そして、今回SVNリポジトリとなるディレクトリを作ります。

/Users/ユーザー名/Dropbox/SVN/repository


ここまでで、Dropboxの準備は完了です。
(複数人でこのリポジトリを使うやり方については後述します)

SVNの準備

続いて、SVNリポジトリを作成します。
MacにはSVN系のコマンドがあるらしく、すぐにでも作成できるっぽい。

ということで、ターミナルを開き、

/usr/bin/svnadmin create /Users/ユーザー名/Dropbox/SVN/repository

と、コマンド入力をしてください。コマンドはフルパスで!


これにて、そのリポジトリディレクトリにdbやらのフォルダが完成していればリポジトリの構築は完了です。

Xcodeリポジトリを対応させる

あとはもうトントン拍子で!

  • まずはXcodeを起動させ、メニューバーにあるSCM->SCMリポジトリを構成を選択

  1. ”+”ボタンを押すと新規のリポジトリを追加できます。好きな名前を付けて、SCMシステムはSubversionを選択しましょう。 今回は仮にAppliDevというリポジトリを作成します。
  2. URLには先ほど作成したリポジトリのフルパスを入力します。file:に続くスラッシュは3本であることに注意しましょう。
  3. 最後にウィンドウ下部に認証されましたという緑色の印が表示されれば、OKしてひとまず完了です。


続いて、初期のプロジェクトをリポジトリにぶち込みます。
XcodeメニューバーにあるSCM->リポジトリを選択し、リポジトリのウィンドウを開きます。
そして、”読み出し”!を押して、SVNを使って管理したいプロジェクト一式をまとめたフォルダを突っ込んでみましょう。


ここまで行ったら、もうひと踏ん張り。
チェックアウトしたプロジェクトをSVNにコミットしたりアップデートしたりするための一手間が必要です。
まずは、チェックアウトをし、そのチェックアウトしたプロジェクトファイルを開きます。

  1. プロジェクトアイコンを右クリックして、”情報を見る”を選択します。一般->ルートとSCMを構成をクリックし、リポジトリに先ほど作った"AppliDev"を選択して、OK!
  2. グループとファイルを右クリックし、SCMにチェックを入れます。


なんと!
これで!


設定完了です。
2で行った工程により、チェックアウトしたファイルが現在どんな状態にあるのか(更新されてる、最新、コミットしていない。などなど)がわかります。ぜひ作業の参考にしてください。

複数人でコード管理する

さて、これで最後です。
このリポジトリを他の誰かと共有するにはDropboxの共有機能を使います。


共有したい方に共有許可を行い、相手には”SVNを準備する”の工程だけを省き、設定してもらえればめでたく複数人でのコード管理が可能となります。



最後になりますが、コイツには一つ弱点があります。
オフラインの時に自分のローカルリポジトリにコミットを行い、オンライン環境に移ってしまうと、意図されない更新がリポジトリに適用されてしまう可能性があります。
くれぐれも、コミットをするときは、共有してコード管理をしている人々がルールに従って、扱う必要があることだけ、ご注意ください。