Xcodeでソースコードのバージョン管理をしたい
何がしたいの?
誰が使うの?
- コードをちょっと変更したら動作しなくなって慌ててバックアップを探すことがある人
どのように機能するの?
- XcodeのSCMリポジトリに登録したsubversionをXcodeの中から操作します
何を使うの?
どこで確認したの?
- MacOSX (10.6.2 Snow Leopard) (Darwin Kernel Version 10.2.0)
- Xcode バージョン 3.2.1
- subversion 1.6.9
いつ確認したの?
- 2010年3月16日
何が参考になるの?
何か注意点はあるの?
- 特にありません。
どんな手順でやるの?
- まずはmacport経由でインストール
$ sudo port install subversion
$ pwd /opt/svn $ $ svnadmin create /opt/svn/svntest --fs-type fsfs $ ls -r svntest/ locks hooks format db conf README.txt $
- 参考ブログによるとtrunk,branches,tagというディレクトリ名が王道らしいので巻かれてみます。
$ mkdir -p /tmp/svntest/trunk $ mkdir -p /tmp/svntest/branches $ mkdir -p /tmp/svntest/tags $ ls /tmp/svntest branches tags trunk $
- テストディレクトリをインポートしてみます。
$ svn import /tmp/svntest/ file:////opt/svn/svntest -m "Initial import" 追加しています /tmp/svntest/trunk 追加しています /tmp/svntest/branches 追加しています /tmp/svntest/tags リビジョン 1 をコミットしました。 $
- XcodeでSCM追加
- メニュー[表示]-[ツールバーをカスタマイズ]を選択して、[復元]と[スナップショットを]をツールバーに追加します。
- [復元]ボタンでウィンドウ[スナップショット]が開きます。
- [スナップショット]ウィンドウのボタン[作成]でスナップショットを作成します。
- 過去のスナップショットと現在のコードの差分を確認できます。
- スナップショットを2つ選択すると2つのスナップショット間の差分も確認できます。
- オーガナイザの[スナップショットボタン]はツリー[PROJECT&SOURCES]でディレクトリを選択しているときのみ有効なようです。
- 管理対象のディレクトリ内であれば、チェックアウトしてなくてもファイルもスナップショット間の差分が取れます。
- 管理対象のディレクトリへのファイル追加や削除も自動検出します。
- ファイルの出入が激しい実験的なプロジェクトにはとても助かる機能です。
-
- もちろんsubversionをチェックイン、チェックアウトによる長期的なソースコード管理にも使用するわけですが、
- コンパイルが通る度、テストが通る度に気軽にスナップショットをパシャパシャ取ることでコード変更が気軽にできるようになるかもしれません。