kanizaのブログ

コンピュータ、ソフトウェア、映画、音楽関連や家族のことなど、思いついたことを書きます。

Subversion

仕事のプログラム開発ではもっぱら CVS を使っているんだけど、最近、自宅の PowerBook での個人的なファイル管理に Subversion を使ってみている。CVSSubversionはちょっとだけど違うところがあるし、チームで開発しているプログラム開発のバージョン管理と、個人的なファイルのバージョン管理というのもまたノリが違うんだけれども、少しずつ慣れてきた気がしている。バージョン管理すると、とりあえず「安心して消せる」ところがいいね。もちろんあとから履歴をたどって取り出せるけど、目の前からはとりあえず消せる。すっきり。

ただ、悩ましい問題もけっこう多い。Carbon EmacsSubversion管理下にあるディレクトリを開くとVCモードが反応するんだけど、日本語のファイル名があるとそのまま動かなくなってしまうようなことがあって微妙に困る。これはLANGをja_JP.UTF-8にすると直る。それでPCL-SVNで使おうとすると、ファイル名のエンコード方式とかコマンドに渡すエンコード方式とかあれやこれやがマッチしなくてうまくいかない。ファイル名に濁点があるとダメとかね。そんなこんなでEmacsからSubversionいじりができなそうだからコマンドラインでなんとかしようとすると、日本語のファイル名をコマンドラインから入力するのもまたむずかしい。ここでも端末のエンコード方式とファイルシステムエンコード方式とが違ったりして、表示はできても入力できないとか、入力できても表示できないとか、ややこしいんだよな。

プログラムの開発では日本語のファイル名をほとんど使わないから問題ないんだけど、普段のファイルはそうもいかない。ファイル名ですきっと内容がわからないと、Mac OS X Tiger の Spotlight のありがたみも半減してしまう。

Cocoa 経由ならファイル名の扱いとか問題ないんだろうなぁと思って、Mac OS Xで使える SubversionGUIクライアントを探してみたところsvnXというやつが使えそう。試したところ日本語のファイル名も大丈夫っぽい。そういうわけでこちらのソフトにお世話になってみることにしようと思う。

Subversionの開発段階から首を長くしてバージョン1.0を待っていたわりには、「お試し」以上の意味で使うのはこれがはじめて。いまんところ便利に使えている。ファイルのコピーという考え方があって(実際に複製はされず、分岐みたいな感じで扱われる)、それを利用する形でファイルの「移動」とかが実現されているところが面白い(将来は本物の「移動」を実装するらしい)。あとからファイル名とか場所とか変えられると、とりあえず気軽にリポジトリに放り込めて良いね。CVSだと移動とかがややこしいから、最初に追加する時にいろいろ考える必要があって、おっくうになってしまうんだよな。こういうストレスがないのは重要。「どのディレクトリで、どういう名前にするか」という葛藤の履歴も管理してしてしまうのだ。仕事のプログラム開発でも使えるといいな。

ついでに言うと、ある個人的な事情により「svn」というコマンド名に引っかかるものがあったりする。svn。うむー。何かに似ている...