XcodeのSCMでファイルバージョン管理の設定を行う手順

ちょっとはまったのでメモ。
ざっくり箇条書きです。

1.条件

・Xcodeバージョン 3.1.3
・OSバージョン 10.5.7
・Subversionでサーバをたてずに(ローカルファイルで)バージョン管理
・Subversionのバージョン 1.4.4 (r25188) ・・・ (OS添付。ちょっと古い)
・以下の箇所は、それぞれの環境にあわせて、適当に読み替えてください

ユーザアカウント名 hazel
プロジェクト名 HelloWorld
プロジェクトパス /User/hazel/Work/iPhone/HelloWorld
リポジトリパス /User/hazel/Work/svn/iPhone/

2.リポジトリ作成

(1) ターミナル起動
(2) mkdir ~/hazel/Work/svn/
(3) cd ~/hazel/Work/svn/
(4) /usr/bin/svnadmin create iPhone

(MacPortsなどでSubverionをインストールしている人は、svnadminをフルパスで指定しましょう。これで3時間ほどはまりました)

3.リポジトリをXcodeに登録

(1) xcode起動
(2) 「メニュー」→「SCM」→「SCMリポジトリを構成」を選択
(3) 「"Xcode"環境設定」ウインドウ上段のSCMを選択(多分すでに選択されているはず)
(4) 画面左下の"+"ボタンを押す
(5) 名前を入力(この例ではiPhoneと入力)
(6) SCMシステムを"Subversion"に変更
(7) OKボタンを押す
(8) URL欄に以下のURLを入力
file:///Users/hazel/Work/svn/iPhone
(9) 画面下に「認証されました」と表示されることを確認
(10) 「OK」ボタンを押す

4.プロジェクト登録(import)

(1) Xcodeの「メニュー」→「SCM」→「リポジトリ」を選択
(2) 画面右「読み込む」アイコンをクリック
(3) 既存プロジェクトのフォルダ"HelloWorld"を選択
(4) 「読み込む」ボタンを押す(初期コメントは任意で)

5.プロジェクト読み込み(checkout)

(1) 既存プロジェクトのフォルダ"HelloWorld"をデスクトップあたりに退避する(コピーではなく移動すること)
(2) Xcodeの「メニュー」→「SCM」→「リポジトリ」を選択
(3) 先ほど登録したプロジェクトフォルダを選択し、画面上のアイコン「チェックアウト」をクリックする
(4) プロジェクトファイルを格納するフォルダを選択する(/User/hazel/Work/iPhone)
(5) 「チェックアウト」ボタンを押す
(6) 「HelloWorld.xcodeprojを開く」を選択する
(7) コンパイル・実行ができることを確認してみる

以上で完了です。

XcodeのSCMでファイルバージョン管理の設定を行う手順” への2件のコメント

  1. はじめまして、魚と申します。
    この記事を参考して、xcodeでSVNを使えるようになりました。
    ただ、1つの現象が起こりましたが、ご確認していただけませんか。
    操作履歴:
    a.hとa.mを新規して、リポジトリへ登録し、コミットしました。
    バージョンr1になりました。
    a.hとa.mを削除して、コミットしました。
    バージョンr2になりました。
    この時点では、ローカルにはa.hとa.mはないことですね。
    たとえ、その削除は間違ったので、r1へアップデートしようとすると、(メニューの「プロジェクト」→「プロジェクト設定を編集」画面の「SCM」タブで、1のリビジョンを選択している状態で、下の「アップデート」ボタンを押す)、アップデート自体は正常に完了されているのに、a.hとa.mは回復されていない状態になっています。
    こういう現象はxcodeのバグかと思いますが。
    PS:コマンドラインで「svn update -r r1」で実行した場合、それらのファイルはちゃんと回復されるのですが、svn自体は問題なくて、xcodeとsvnとの連動のバグかと思いますが、そういう現象にあったことはないでしょうか。

  2. 魚さま。コメントありがとうございます。
    問い合わせの件、新しいプロジェクトを起こして確認してみたところ、こちらでも同様の事象が発生しました。
    (MacOSX10.6.2,XCode3.2.1,subversion 1.6.5)
    一応、ファイルツリーだけは復活するみたいなので、赤く表示された削除ファイルを選択して、メニューから「SCM」→「アップデート」→「特定のリビジョン」で直にリビジョンを指定するとファイルが元に戻るようですが、めんどくさいですね。
    ファイル削除をするときは、いつも「参照を削除」を選んでいたので、全く気づいていませんでした。

コメントを残す

メールアドレスが公開されることはありません。