バージョン管理システムの一つであるSubversionはファイルだけではなく、ディレクトリの構成も管理することが出来る非常に便利なものです。プログラム開発の現場では非常によく使われるツールの一つですが、プログラム開発以外にも応用すると便利なシステムです。本ドキュメントではSubversionのサーバーに接続するためのクライアントソフトをご紹介します。
Mac OS X版のクライアントソフト
svn
ターミナルで動作するシェルツールです。Linux版もあり、Xcodeも内部で利用します。Mac OS X 10.5 (Leopard) からは標準添付されており、Xcodeをインストールすると同時にインストールされます。Mac OS X 10.3.x (Panther) や Mac OS X 10.4.x (Tiger) で使いたい場合は別途インストールします。
Finkを使ったインストール方法
Finkでのバージョン管理にはfinkツールを使った方法とapt-getを使う方法があります。finkツールの方はコンパイルが必要になり、依存するライブラリの競合が解決できないことがあるので、apt-get を使った方法をご紹介します。
Finkがインストールされている状態で、ターミナルから次のコマンドを順番に入力します。
(1) sudo apt-get update
(2) sudo apt-get install svn svn-client
(2)を実行すると、svnが依存するライブラリやプログラムをインストールするか聞いてきますので、インストールを行ってください。完了すると、svnが使えるようになります。
svnX
GUIで動作するクライアントソフトです。リポジトリをブラウズすることやワーキングコピーを管理するウインドウを持ち、高機能なソフトです。おすすめはワーキングコピーのSmart ModeとFlat Modeです。Flat Modeはディレクトリ単位ではなくワーキングコピーのディレクトリ以下すべてを一つのリストで表示します。Smart ModeはFlat Modeと組み合わせて使い、変更したファイルや削除したファイルなどコミットする必要があるものだけが表示されます。
la choose svnX
SCPlugin
Finderと一体化するクライアントソフトです。Finder上で直接操作するため直感的でわかりやすいです。Subversionで管理されているファイルやフォルダのアイコンには状態を表すアイコンが追加表示されます。TortoiseSVNのMac OS X版と呼べるソフトです。
Tigris.org SCPlugin
Xcode
専用ソフトではありませんが、XcodeもSubversionに対応しています。プロジェクトウインドウから統合的にSubversionを扱うことができます。また、Xcode 3.0からはリポジトリウインドウも入り、より使いやすくなったと思います。
Windows版のクライアントソフト
TortoiseSVN
エクスプローラと一体化するクライアントソフトです。直感的でわかりやすいクライアントソフトです。Subversionで管理されているファイルやフォルダのアイコンには状態を表すアイコンが追加表示されます。SCPluginのWindows版と呼べるソフトです。
Tigris.org TortoiseSVN
AnhkSVN
Microsoft Visual Studio のプラグインです。Visual Studioと一体化します。Visual Studioのソリューションウインドウ上で直接操作でき、Subversionの管理下にあるファイルのアイコンに状態を表すアイコンが追加表示されます。VSS (Visual Source Safe) を使ったのと同じような操作性がSubversionでも体験できます。
Open COLLABNET AnkhSVN
日本語ファイル名・フォルダ名での注意点
Subversionを使用すると、WindowsとMac OS Xのクライアント間でのデータの同期が非常に効率的になりますが、こうした混在環境では注意しなければいけないことがあります。
Unicodeの扱い方の違い
日本語を含む名前を持ったファイルやフォルダを管理するとき、Unicodeの扱いの違いにより、濁点や半濁点が含まれていると、Mac OS XとWindows間では文字化けしてしまったり、正しく認識されないという問題が起こります。すべて英語でファイルやフォルダ名を付けるか、濁点や半濁点を含む単語だけを英語にするなどの対策が必要です。
ロケールの設定
シェルツールのsvnを使うときなど、次のようなエラーが表示され日本語の名前のファイルやフォルダが同期できないことがあります。
svn: URL 'リポジトリパス' (以下文字化け)
svn: Can't convert string from 'UTF-8' to native encoding:
この場合は、ロケールを次のように設定すると解決できます。
- /.profileを開く
- 「export LANG=ja_JP.UTF-8」を追記する。
次回起動時からエラーが起こらなくなり、正常に同期できるようになります。また、このようにロケールを設定すると文字化けしていたメッセージも化けずに表示されるようになります。