2007年6月26日火曜日

Subversion 1.4.4

Subversionが1.4.3から1.4.4になっていました。

このアップに合わせてUniversal Subversion 1.4.4 Binary (build 3)も配布されていました。

他に、Mac SVN Server - MASMac SVNというものも見つけましたが、まだアルファーの状態で古いSubversionを元にしていますので、当面はテキストベースで作業するより方法がなさそうです。

2007年6月14日木曜日

期待はずれと期待

San Franciscoで開催中のWWDCに来ています。期待していたTime Machineを使ったプロジェクト管理は外してしまいましたが、次期Mac OS Xに期待してSubversionをこのまま使い続けても良さそうです。WWDCのLabにはXcode and Subversion Labという項目があります。
http://developer.apple.com/wwdc/sessions/

ところで、WWDCに来て良いことの一つにPeetsのコーヒが好きなだけ飲めるという点があります。

San Joseで開催していた頃から開場には小さな屋台が出てエスプレッソやカフェラテなどが飲めたのですが、今までどこのお店が出しているのかは気にしていませんでした。知人に指摘されて、San Franciscoの開場ではPeetsが出店していると知りました。San JoseでWWDCが開催された頃にはコーヒの他にフローズン・ヨーグルトのようなものも楽しめたのが懐かしく思い出されます。

2007年6月6日水曜日

Xcodeとプロジェクト管理ツール

現在実験中ですが、現状のMac OS Xではプロジェクト管理ツールは使いにくいです。

Xcodeに不足している機能を上げると以下のようになります。
1.リポジトリを作れず、以下の作業ができません。
   > sudo svnadmin create /svnrep
   > sudo chgrp -R svnusers /svnrep/db
   > sudo chmod -R g+wx /svnrep/db
2.リポジトリから直接インポートsvn importができません。
3.リポジトリから直接チェックアウトsvn checkoutができません。
4.手順が複雑です。
   ターミナル経由で一度インポートしたものを削除して、
   チェックアウトしたものをXcodeで開く事になります。
5.Xcodeからリポジトリの登録内容を見ることができません。
6.Xcodeでコミット時エラーが正しく表示されない事があります。
   Xcodeの「SCM > SCMの結果」を表示して
   右下の小さなアイコンをクリックすると表示されます。
   しかし、その内容はログ出力に色づけしただけのものです。

プロジェクト管理ツールは特許対策としての「先使用権」を証明するために大切であることはほぼ間違いないと思います。しかし、Appleのサポートがこの状況では前途多難と言わざるを得ません。

ここは次期Mac OS Xに期待せざるを得ない…と考えると、噂のタイムマシーンが気になります。Xcodeからタイムマシーンを利用できるようになれば・・・これは便利で分かりやすいかもしれません。しかも外付けのHDDなどにバックアップするので、高速で安心です。これは期待できるかも(笑)

2007年6月5日火曜日

プロジェクト管理ツール その後

「プロジェクト管理ツール その3」で終わらせるつもりでしたが、MacBook Proで思わぬ反撃に遭い、もう少し書くことと相成りました(苦笑)

さて、いろいろとやった結果、Mac OS X標準のApacheのAPR(Apach Portable Runtime)というファイルをインストールしなくてはならい事が分かりました。Mac OS Xには入っていないようです。ファイルは以下のURLから入手できます。

http://apr.apache.org/

最新版として1.2.8がありますが、Subversion 1.4.3の資料では0.9.xに関して記述しています。また、このサイトにも0.9.xが二番目に掲載されています。そこで、ここは安全策と言うことで(笑)「apr-0.9.13.tar.gz」と「apr-util-0.9.13.tar.gz」をダウンロードします。

インストールの手順です。
まず、「apr-0.9.13」ディレクトリに移り以下のようにします。

./configure
make
sudo make install


次に、「apr-util-0.9.13」ディレクトリに移り以下のようにします。

./configure --with-apr=/usr/local/apr/
make
sudo make install


「Subversion 1.4.3」は前回にダウンロードしていますので、それを伸張してそのディレクトリに移ります。

./configure --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr/
make
sudo make install


以上で、「/usr/local/bin/」に「svn」などがインストールされているはずです。「svn -h」などとして試してください。

なお、./configure...の処理時に、Berkeley Data Base(BDB)の代わりにFSFSを使用すると言われます。「代わり」と言われると気持ち悪いのでさらに調べてみましたが、これに時間がかかった(笑)

Subversionの圧縮ファイルに入っているファイル名「INSTALL」にはTBD(詳細は後日に記述)として、BDB 4.0.xで問題があると記述されています。実際にOracleのサイトから「db-4.5.20.tar.gz」をダウンロードしてインストールしましたが、同じエラーが表示されます。

FSFSが何の省略かを見つけることはできませんでした(笑)が、BDBの代わりに採用されたものでネットワーク経由で利用しやすいそうです。一部にはファイルシステムと書いています。2005年にはマルチスレッドで問題があったようですが、最近の記述で問題を見つけることはできませんでした。

http://svn.haxx.se/dev/archive-2005-04/0355.shtml

以上のように、やはり自分でSubversionをビルドするのは面倒です。rubyなども使うことを考えている人はDarwinPortsを使うことの方が楽です。もちろん、たえず最新版を使うためにはDarwinPortsのアップデートを待たなくてはならないと言う問題があります。とくにcvsのようにセキュリティの問題が出ると不安があります。しかし、人によってはDarwinPortsの便利さは、セキュリティの不安を上回ると思います。

KEXTドライバへのパラメータ

AppleのNik Gervaeという人がDarwin-devのMailing Listで面白い返事をしていました。
------ by Apple Nik Gervae -----
That second parameter has always been passed as NULL. I'm afraid there's no clean way to get data passed to your kext at load time (and mixing in libkern C++ with a non-I/O Kit kext is problematic, but it can be done). Feel free to file an enhancement request for the feature you need, and I'll add it to my list. It seems pretty reasonable, after all!

(By the way, the kmod_info_t struct contains fields for your kext's bundle ID and version, and other internal bookkeeping stuff. Nothing much of use to kexts themselves. Check out Kernel.framework/Headers/mach/kmod.h for the definition.)
------ by Apple Nik Gervae -----

KEXTドライバがロードされるときのパラメータとしてデータを渡す方法はないそうです。他にチップスとして、kmod_info_t構造体にKEXTドライバのバンドルIDやバージョンなどの情報が格納されているそうです。Kernel.framework/Headers/mach/kmod.hには以下のようになっています。

typedef struct kmod_info {

struct kmod_info *next;

int info_version;// version of this structure

int id;

char name[KMOD_MAX_NAME];

char version[KMOD_MAX_NAME];

int reference_count; // # refs to this

kmod_reference_t *reference_list; // who this refs

vm_address_t address; // starting address

vm_size_t size; // total size

vm_size_t hdr_size; // unwired hdr size

kmod_start_func_t *start;

kmod_stop_func_t *stop;

} kmod_info_t;


面白いことにこの宣言の前に以下のようなコメントが書かれています。
/* LP64todo - not 64-bit safe */

2007年6月4日月曜日

Internet事情

Internet事情

以下の文章はある日本のNGOから依頼されて書いた文章に少し手を加えたものです。

カンボジアのインターネット事情

1.コンピュータ小売店
プノンペンはカンボジアの首都であり、経済発展しているベトナムのホーチミンシティからバスで半日の距離である。このため、コンピュータの製品や部品は半年から1年遅れぐらいで新製品が店頭に並び、価格は秋葉原に近い。コンピュータ小売店も中古専門店も含めて数多くあるが、その知識と技術のレベル、サービスは日本の郊外型大量販売店並である。日本であればメーカからのサポートに依存しているため商売が成り立つが、プノンペンではメーカからのサービスはない。1年補償や3年補償を訴っている小売店があるが、実際にはさまざまな理由を付けて補償されない場合が多い。

2.Internet
 2.1 Internet Cafe
すでに無線LANによるサービスは空港などの大きな施設だけでなく、巷のInternet Cafeでも提供されている。このInternet CafeがプノンペンでのInternet事業展開のキーになると考えられる。Internet Cafeはプノンペン市内だけでなく市から離れた郊外にもあるが、その多くがInternetサービスの提供だけでなく国際電話サービスも提供している。

Internet CafeでもInternetの通信速度は体感的にISDNよりは早いといった程度であるが、2007年頃から高速が売り物のInternet CafeができCDサイズのデータを1時間ほどで入手できるとのことである。

問題はその金額ある。Intenet Cafeの利用料金は2004年の一時間2000リエル($1=約4000リエル)から2005年末には1500リエルまで下がった。また、短時間の場合には400リエルなどの料金設定もしている。このためか、数多くあるInternet Cafeが土曜や日曜に満席となる。

国際電話も低価格である。比較的低価格とされるInternet電話の料金を比較例として挙げると、日本とカンボジア間でSkypeが1分$0.331(携帯電話$0.299)、Yahoo Messenger(米国版)が$0.19(携帯電話も同額)である。この価格に対してInternet Cafeの国際電話サービスは1分300リエル(約$0.075)で、QoS(通話の品質つまり音質や遅延、音切れなど)もIntenet電話よりも高品質である。

どうようにこれだけの高品質低価格を実現しているのかは不明である。興味深い事実としてInternet CafeにでSkypeの通信を行うと他のInternet利用者の速度が落ちて苦情が出るが、国際電話ではそのような苦情は出ない事がある。

また、前述のようにInternet電話よりもQoSが良い。このため国際電話用に別回線を持っている可能性が考えられる。ただし、原因は不明であるが音声回線のみでデータ回線としての利用はまだのようであり、この点もその理由が不明である。

JICAはODA(政府開発援助)としてファイバー回線や衛星回線に対する資金援助をして、さらにボランティアを送り込んで技術援助をしている。しかし、JICAで支援サポートを行ってきたボランティアによると2005年の時点でその回線はまだまだ細く、光ファイバ回線と衛星回線をあわせても68Mpbsしかない。(*1)

 2.2 個人宅と企業
Internet Cafeが主流で個人宅に導入している例は少ない。プノンペンでは2006年5月の時点で月額$50で重量制限の常時接続サービスが受けられる、ただし夜間と週末には重量制限が解除される。

プノンペンでもっとも積極的にInternetを導入しているホテルに2年間滞在したが、接続状態は不安定で頻繁に通信不能に陥る。他の企業などでは通信不能は日常茶飯事である。このように企業でもIntenetの回線は細い。

 2.3 地方学校特殊な例として、モータバイクを使ったInternetが運営されている地方学校がある。

http://www.firstmilesolutions.com/

技術的には非常に面白く開発途上国への支援として大いに期待できる。このサービスの開始と運営にはいくつかのNGOが関わっているらしいが、その実態は不明である。以下のNGOは直接話したことのあるグループであるが、彼ら自身もその全体像を把握できていない。また、キャッシュフローが不安定で自立できておらず寄付に依存しており、技術の移転もできていない。

Japan Relief for Cambodia/American Assistance for Cambodia他に、UNESCOの職員も関わって、日本の中古PCを輸入して修理後にLinuxをインストールして地方の小学校に配布しているNGOもある。このNGOでは輸入した中古PCをプノンペンで動作検証し必要に応じて修理した後、LinuxとOpen Office、教育用ソフトなどをインストールして、地方の学校に配布している。しかし、地方学校でPCが動かなくなった場合には技術者が居ないため不具合解析もできず、プノンペンに送り返して修理し再度地方に発送している。

この対策として私が派遣されたカンボジア日本友好技術訓練校が期待されている。私がハードウェアとソフトウェアの修復技術の移転するだけでなく、クメール語による教科書を作成し、教員訓練のための授業を二回実施している。この訓練校で地方の教員を訓練し簡単な修理方法と、地方で修理できる問題か否かの切り分けができるようになれば、地方における情報技術の授業は大幅に改善されるはずである。

さらに、複数の故障したPCから一台の正常動作するPCを作るなど、中古PCを活用する技術を学習すればカンボジア内での一つの職業、あるいは産業として確立できる可能性もある。

*1
カンボジアの通信回線は米国式の1.5Mbps単位のT1ではなく、欧州式の2Mbps単位のE1を基本にしている。外国向け回線は総数34本、合計68Mpbs分ある。接続はファイバーケーブルでタイとベトナムに接続し、衛星回線で日本と米国に接続している。2005年頃の各内訳は以下の通り。

タイーカンボジア間:

2Mbpsが8本(内2本はマレーシアへ)

ベトナムーカンボジア間:

2Mbpsが4本

衛星回線:

日本向け2Mbpsが2本
米国向け2Mbpsが20本

クメール語OS

以下の文章はある日本のNGOから依頼されて書いた文章に少し手を加えたものです。

クメール語OS

1. Limon
カンボジアではクメール語が利用されている。コンピュータでクメール語を扱うことは条件付ながら可能であり、クメール語によるDTPも行われている。

現状ではLimonと呼ばれるフォント・セットとその派生品が使用されている。

Limonフォントは現在フランスに在住しているプログラマが作ったとされており、クメール語のフォントを直接キーボーのキーに割り振っている。クメール語の文字は数が多いため、シフトキー、コントロールキーなどの修飾キーを組み合わせて入力することになる。このため、アプリケーションの命令キー・コンビネーションと重複することが多い。LimonフォントはMicrosoft Wordをターゲットにしてキー・コンビネーションを割り振ったものである。他のフォントは同じグリフ(字形)を使用して異なるキー・コンビネーションを持たせている。このため、アプリケーションのショートカットキーの組み合わせと衝突するなど、相互の互換性がなく変換ソフトウェアを使用しなくてはならない。また、Limonフォントのグリフをそのままコピーしているため著作権も問題である。なお、カンボジア政府のWebサイトではLimonフォントを配布している。

http://www.cambodia.gov.kh/unisql1/egov/english/material.list.html

また、日本政府からの要請を受けて調査した報告では市場の70%以上がLimonフォントを使用している。

http://www.o2int.co.jp/cambodia/j/outline/outline.html

なお、Macintosh用のLimonフォントもキー・コンビネーションを替えたものがあり、DTPで実際に使用されている。

2. Unicode
日本ではUnicodeを導入するときにさまざまな問題が発生し、その後遺症は現在も続いている。同様の問題がクメール語Unicodeにも発生している。

Microsoftは独自にこの問題を解決するための新しいOpenTypeフォントを発表した。

http://www.microsoft.com/typography/OpenType%20Dev/khmer/intro.mspx

この新しいOpenTypeフォントは同社の次期OSであるWindows Vistaに搭載されているといわれているが、私はまだ確認していない。このUnicode対応のOpenTypeフォンをWindows XPやLinuxで使用するためのソフトウェアが下記のグループより配布されている。

http://www.forum.org.kh/en/index.shtml

このソフトウェアはLimonのクメール語入力方法とは異なり、日本語のローマ字仮名変換と同じ入力方法を採用している。このため2006年初頭頃から政府や学校関係者に対する講習会を開き、新しい入力方法を広めようとしている。

現在のこのソフトウェアの問題はフォントのデザインである。無償公開されているフォント・セットが二つのみであり、しかも画面上で見ても読みにくい。ましてやDTPに使用できるデザイン品質のフォントがない。Limonフォントでは少なくとも14のグリフ(書体)が事実上無償で配布されており、Apsarasという完成度の高いフォントも販売されている。

この問題の可決方法としてはWindows Vistaがクメール語を正式にサポートし、多くのフォントが出回るまで待つか、独自にデザイナーに資金援助して無償フォントを開発するこであろう。この点はカンボジアの情報技術への支援として重要である。カンボジアの経済状況を考えると、無償で美しいフォントが配布されることは、カンボジアの情報技術、ひいては教育や経済活動に大きく貢献するであろう。

3.フォントの開発
前述のようにカンボジアでコンピュータ教育をする上で、もっとも大きな障害となっているのがクメール語のUnicode化である。Microsoftの次期WindowsであるWindows Vistaで問題の多くは解決されるであろうが、無償提供されているフォントが読みにくいということはコンピュータを使用する上で大きな障害である。また、DTPで今まで無料で使用できていたフォントが使えなくなる点も、カンボジアの発展に大きな足かせとなる。このため、フォントの開発も求められている。

実際にフォント化するにはMicrosoftの新しい定義に適合したフォントを作るツールから開発するか、その技術を持っているところに発注しなくてはならない。

この分野を支援することで、カンボジアだけでなく、独自の文字を持った民族のフォントを開発して世界の情報化をすすめDigital Divideの低減に寄与する事ができる。また、フォントは一つの「文化」であり「芸術」であり、作成したフォントは何年にもわたって継続的に使用され支援が「見える形」で提供される。コンピュータによる情報化により、このような文化と芸術が失われることを防ぐ意味においてもこの分野への支援は重要である。

プロジェクト管理ツール その3

前回、前々回とMac OS Xのプロジェクト管理ツールに関して書きましたが、今回がその最後です。ここではバイナリで配布されているSubversionの紹介と、自分でソースコードからコンパイルする方法を紹介します。

まず、以下のURLはSubversionのソースコードを配布しているサイトですが、バイナリ・ファイルを配布しているサイトも紹介されています。

Subversion: Subversion Packages

ここでは、三カ所が紹介されています。一つはFinkを使用してビルドしたファイルを配布しているサイトで前回に紹介したDarwinPortsと同じ方向性で作成したものをバイナリで配布しているようです。残る二つは以下の通りです。

Metissian - Projects - Mac OS X Packages - Subversion
残念ながら、開発が2006年4月3日の版1.3.1で止まっています。

open collabnet
こちらの方はSubversion 1.4.3で最新版と考えて良さそうです。

さて、Mac OS XはUNIXだと言われていますし、実際に漢字コード変換ツールのnkfなどは修正なしでmakeできます。そこでSubversionも可能かもしれないと考え試しました。以下の方法で実行しましたが、今のところ動いているようです。

まず、Subversionのソースコードは以下のURLからダウンロードできますが、見つからない場合には上流から探してください。

subversion: ドキュメント & ファイル: Source code

私が試したのはsubversion-1.4.3.tar.bz2という名前のファイルです。ファイルをディスクトップにダウンロードしてダブルクリックで伸張します。あとは以下の命令を順に入力するだけです。

$ cd ~/Desktop/subversion-1.4.3/
$ ./configure
$ make
$ sudo make install

例によって、大量のコメントがターミナルの画面を流れますが、エラーなどで中断されることなく終わりました。

後は、前回に設定した「サブバージョンツールパス」を「/usr/local/bin/svn」に戻せばDarwinPortsと同じように動きます。日本語の扱いに関しても同じように文字化けします(笑)

まだ、詳しく試験していませんが、動いているように見えます。もし、問題を見つけた人はコメントください。

・・・と書いたところでMacBook Pro Intel Core Duo版で試すと./configureでエラーが出ました(苦笑)

まだ、原因不明ですがDarwinPortsを使った方がよいかもしれません。Subversionだけでなく他のツールを使うことも考えている人には良いと思います。とくに、rubyのようにいろいろと依存関係のあるものを使うときには便利そうです。

2007年6月2日土曜日

プロジェクト管理ツール その2

前回に引き続きMac OS Xのプロジェクト管理ツールで、ここからはSubversionです…と書きたいところですが、ここに問題がありました。XcodeのマニュアルによるとDarwinPortsというFreeBSDのパッケージ管理ソフトをインストールしろと書いています。その上でSubversionのソースファイルを取り込み、コンパイルして使うそうです。
Subversionソフトウェアをインストールする

DarwinPortsをもとにSubversionをコンパイルしましたが、少々問題があることが分かりました。その問題はこの後で書きますが、DarwinPortsを通さずにSubversionを直接コンパイルしても利用できました。以下はその顛末です。

■ DarwinPorts
まず最初に、Xcodeのマニュアルに書かれているDarwinPortsのURLが間違っています。これはOpen Darwinというプロジェクトがなくなったことの影響ですが、以下のURLにあります。
DarwinPortsの申込

DarwinPortsには日本語の解説もありますが、文字化けするかもしれません。解説文の漢字エンコーディングはutf-8です。また、解説はMac OS X 10.2.と10.3に関する記述です。

DarwinPorts解説

インストールはPowerPCの場合にメータが80%ぐらいになった所でグッと遅くなりますがエラーにならずに終了しました。インストールするとルートに/opt/というディレクトリができます。readmeに従って、動作検証をかねて以下の命令を実行します。

$ sudo /opt/local/bin/port selfupdate
DarwinPorts base version 1.442 installed
Downloaded MacPorts base version 1.442
The MacPorts installation is not outdated and so was not updated
selfupdate done!


次に、Xcodeのマニュアルのマニュアルに沿ってshellの環境変数を変更し、以下の命令でSubversionのイントールをします。ただし、インストールには1時間ほどかかります。

$ sudo port install subversion

これで、ようやくSubversionが使えるようになります。Xcodeのマニュアルに沿って、ユーザグループを作成し、ユーザを登録します。しかし、Mac OS XであればNetInfo Manager.appを使うのが妥当というものでしょう(笑)

NetInfo Manager.appを使う方法は以下の通りです。
1.NetInfo Manager.appを起動します。
  /Applications/Utilities/NetInfo\ Manager.app/
2.左下の鍵を解除します。
3./groupsを選択します。
4.「ディレクトリ > 新規のディレクトリ」を選択するか、
  ツールバーの「新規」ボタンをクリックします。
5.「プロパティ」欄の「name」の値として「svnusers」を入れます。
6.「ディレクトリ > 新規のプロパティ」を選択するか、
  「プロパティ」欄を選択した状態で、ツールバーの
  「新規」ボタンをクリックします。
7.「プロパティ」欄のプロパティとして「gid」、その値
  として「700」を入れます。
8.「ディレクトリ > 新規のプロパティ」を選択するか、
  「プロパティ」欄を選択した状態で、ツールバーの
  「新規」ボタンをクリックします。
9.「プロパティ」欄のプロパティとして「users」、
  その値としてユーザ名を入れます。
  ユーザ名はシステム環境設定のアカウント内に表示されて
  いるユーザ名です。
10.ユーザを追加するときには、「プロパティ」欄の
  「users」を選択した状態で、「ディレクトリ > 新規の値」
  または「ディレクトリ > 値の挿入」を選択します。

次の「ルートディレクトリを作成して初期化する」はFinderによるGUI操作よりコマンドラインの方が便利でしょう。ただし、ディレクトリはFinderからドラッグアンドドロップしたほうが便利です。

■ Subversion
日本語のマニュアルが以下にあります。

Subversionによるバージョン管理

私のように初めての人は、第1章と第2章に目を読めばとりあえず使えるようになります。しかし、Mac OS Xが日本語環境だとsvnの出力が日本語になっておりTerminalを初期値のまま利用すると文字化けして読めません。この対策はshell環境変数の変更です。bashの場合には以下のようにします。

DarwinPortsで作成した「.bash_profile」ファイルをテキストエディタで読み出し、以下の内容を追加します。

出力を日本語にする場合;
export LANG=ja_JP.UTF-8
出力を英語にする場合;
export LANG=en_US.UTF-8

以上の作業を行った後に、Xcodeのマニュアルのバージョン管理をもう一度目を通せば、全体像がつかめるようになると思います。

バージョン管理

注意するべき点として、「SCMを有効にする」をオンにしたときに「編集...」ボタンで「サブバージョンツールパス」を「/usr/local/bin/svn」から先の作業で生成した「/opt/local/bin/svn」に変更してください。

・・・という事で、動きはするのですが、ルートに/opt/が見えているのが気に入りません。全てがこの下にまとまっているのは良いのですが、ユーザごとにパスを通すのも面倒な話しです。Mac OS XはUnixと言われているのですから、Subversionをそのまま利用できないかとも思います。そこで、さらに調べてみたのですが、それは項をあたらめて・・・。

2007年6月1日金曜日

プロジェクト管理ツール その1

Mac OS Xのプロジェクト管理ツールに関して少し調べてみました。

XcodeのマニュアルにはCVSとSubversionの使い方に関して説明しています。Xcodeのマニュアルは以下の場所にあります。
Xcodeマニュアル

プロジェクトの管理に関する解説は以下のファイルから始まります。
プロジェクトを管理する

ただ、ここに書かれている内容は誰かがプロジェクト管理をするデータベース(リポジトリと言うそうです)を構築していることを前提としてます。つまり、ここに書いている内容を実行するにはリポジトリを構築しないと行けません。その方法を書いているのが以下の二カ所です。

CSVを使用する
Subversionを使用する

■ CVS
まず最初に書かれているのがAppleが使っているCVSに二つのバージョンがあるという点です。一つはバージョンが古くクラッキングされるおそれがあるが、Xcodeと互換性があるもの、もう一つはクラッキング対策された新しいバージョンだが、Xcodeと使うには問題があるものです。

私のようにSOHOで使っている分にはクラッキングされる可能性はないので、ocvsという古いバージョンを試すことにしました。マニュアルにあるcvsをocvsと読み替えて実験をしましたが、ほぼ書いてあるとおりに動きます。

ただ、最初にTerminalからリポジトリに登録し、元のファイルを削除し、リポジトリから取り出し、取り出したものをXcodeで編集しなくてはなりません。また、新しいファイルを追加したり削除したりする度に「リポジトリに追加」して、さらに登録(コミットと言います)をしなくてはなりません。さらに、毎回「build」ディレクトリを削除してからコミットします。これなどは、cvsが対象外として登録できるとか、Xcodeにスクリプトを組み込んで「build」ディレクトリを削除してからコミットできるとか、してもらいたいものです。

以上のように使いにくいですし、またいずれ新しいcvsに入れ替えることになります。その時に互換性問題が発生しないとは言い切れない点が気がかりです。

もう一つのSubversionを試すことにしましたが、Subversionにもいろいろと問題がある事が分かりました。次の項目ではその問題を紹介します。