Google検索

Google
 

2008年2月1日金曜日

[dev log] XcodeでSubversionを使う(4)

XcodeでSubversionを使おう大作戦(<勝手に命名)も4エントリとなりました。Check-in, Check-outについて書くと前回予告したのはいいのですが、なかなか上手く行かず、ちょっと逃避気味になってしまいました。こういうときは調べまくるに限る、というわけで、ようやく上手くできそうな気配の記事を見つけました。


Me and Mark Publishing's Blog : Xcode 3 Feature: Version Control Repository Access


やり方は若干違うものの、今まで説明してきたものとほぼ同じ手順のようです。しかし、私のSubversionに対する理解不足により、ディレクトリの構成を少し以前の説明とは変えました。以後、この引用記事の説明を元に、自分でやってみたことを書きたいと思います。以下、図はクリックすると多少大きくて見やすくなりますので、適宜ご利用ください。

前回はプロジェクトファイルをフォルダごとリポジトリに読み込んだわけですが、ディレクトリの構成を右図の様に変えました。これはSubversionの機能を有効利用するためのもので「こういうものだ」ととりあえず理解してください。詳しい話はSubversionの本を参照してください。ここでは、CocoaBeginnerリポジトリの"HelloWorld"フォルダ直下に4つのフォルダ、

branches, tags, trunk, WorkingCopy

を作りました。プロジェクト・ファイルはtrunkに読み込んでおきます。


さて、リポジトリに読み込んだソースですが、Subversionによる管理を有効にするにはXcodeのプロジェクト・ディレクトリにチェック・アウトしなければなりません。元のローカル・フォルダに上書きしても良いのですが、一応念のため、別の場所にチェック・アウトすることにします。「リポジトリ」ウィンドウの「チェックアウト」ボタンをクリックすると、左図の様にチェックアウトをする場所を問い合わせるウィンドウが開きます。ここでは、HelloWorld/trunk を ~/書類/dev test/Hello World/ にチェック・アウトします。



正常にチェックアウトできると、プロジェクトを開くかどうか問い合わせのウィンドウが表示されます。ここではプロジェクト・ファイルを開いて、XcodeにSubversionを使う旨を知らせる設定をすることにします。右図はプロジェクト・ファイルを開いたところです。




プロジェクトをチェック・アウトした後は、必ずプロジェクト・ファイルの「情報」をクリックして「一般」タブからSubversionを使っていることをXcodeに知らせてやる必要があります。さらに、この機能はLeopard (MacOS X 10.5 + Xcode 3.0)からの機能なので、10.4互換のプロジェクトファイルだと、SCMの選択肢がグレイになっていて選択出来ません(私はこれで引っかかりました... orz)。「情報」ボタンをクリックすると左図が表示されます。

私が読み込んだプロジェクトはTigerのものだったので、このままではエラーが表示されてしまいます。そこで互換性は無視して「プロジェクトフォーマット」はXcode3.0、「ターゲットSDKを使用したクロス開発」はMacOS 10.5(または、現在使っているOSが10.5なら"現在のMacOS")に設定します。場合によっては、この設定を終わった段階でエラーが表示されてしまいますが、リビルドすると大丈夫なようです。未確認ですが、最初からLeopard用のプロジェクトを作っておけば、おそらくエラーは出ないと思われます。



ファイルを変更したり、ビルドを繰り返すと、リビジョンが上がっていきます。コミットはファイルへの変更が行われるたびに自動的にされるようです。(プロジェクト・ウィンドウの中にある"SCM"の所に「ぐるぐる」マークが出てきます)ソースの比較やdiffなどは「情報」ボタンをクリックして、「SCM」タブをクリックすると確認できます。






ここまでSubversionをXcodeでどう使うかについて調べました。AppleのXcodeユーザガイドがはXcode3.0用にどうも更新されていない様なので(もしかしたらどこかにあるのかもしれませんが…もしご存じでしたらお知らせください!)、せっかくのGUIでの操作がよくわからない事になっています。で、まとめようと思ってはじめたのですが、思ったより大変でした。手順としてあまり洗練されていないかも知れませんが、わかりにくい箇所があったら是非お知らせください。

管理者兼開発者がSubversionを使うには、Subversionのadminの知識をもう少し蓄えねばならないようです。興味のある向きは、URLを張った記事はしっかりしているようですので、Subversionのサイトと併せて是非ご参照ください。

0 件のコメント: