SubversionをOS Xでローカルで使ってみる

とりあえず今日は準備だけ。Subversionは一々打つのが面倒臭いので、以下SVN
DLするもとのサイトは、

http://subversion.tigris.org/project_packages.html

にのってます。finkからインスコするのもね、やり方忘れたからバイナリ落としてきてサクッとインスコ。今後NeXTでコンパイルしてどうのとかやるのを考えると軽く鬱になれる。バイナリパッケージ万歳。作ってくれた人マジ最高。良い人過ぎるぜ。
で、以下設定。
レポジトリというのがSVNを使ってく上で色んなものをぶち込むディレクトリになるようなので、それを作る。俺の場合はまあ自分のホームディレクトリ直下にSVNっていうディレクトリを作った。

$ cd /Users/S-ili/
$ mkdir /Users/S-ili/SVN
$ svnadmin create SVN

上の、svnadmin create SVNっていうのでレポジトリが作成されるらしい。
ここまでやったら今度はユーザの設定。要するにSVNを使う人は誰ということと、具体的にどのレベルまでの作業をするかというのを決めるらしい。それがレポジトリ内のconfディレクトリの、svnserve.confに書いてあるので、そこを編集。
色々と書いてあって、例によって#マークでコメントアウトされてるので、必要な部分だけコメントを外す。別に俺は特別なことはしないので、

 anon-access = none
 auth-access = write
 password-db = /Users/S-ili/SVN/conf/svnusers

となるように編集。
それぞれの行が意味することは、一番上の、anon-accessは匿名で来たアクセスに対して、許可しない、次のauth-accessは認証されたアクセスに対して書き込みまで認めるということだと思われます。まあ一般的だよなと。そしてその次の行はユーザのデータで、それは/Users/S-ili/SVN/conf/svnusersっていうファイルを参照してくれということです。ので、svnusersファイルを、上で指定したディレクトリ内に、svnusers.confとして、

user_name = passwd

という風に、ユーザ名 = パスワードとしてつらつらと書いてきます。
としたところでconf以下の初期設定は終了。じゃあ次は具体的にSVNで何のヴァージョンを管理するのかを決めます。
ということで、SVNを起動します。

$ svnserve -d -r file:///Users/S-ili/SVN

で、今、管理したいディレクトリ名を自分のホームディレクトリの下にあるhugaだったとします。すると、

$ svn import /Users/S-ili/huga file:///Users/S-ili/SVN

ってやると普通はいけるみたいなんです。が、上手くいかなかった。ので、管理したいディレクトリまで移動して、カレントディレクトリを指定する方法にでやりました。

$ cd /Users/S-ili/huga
$ svn import file:///Users/S-ili/SVN -m "Initial import."
Adding         hogehoge.dat

Committed revision 1.

とやったら上手くいった。どうやら、mオプションと、その後の"Initial import."モジュールがきもらしい。とりあえず使うだけなので意味は深追いしない。
で、じゃあうまくいったんで、実際にチェックしてみましょうということで、チェックしました。

$ svn checkout file:///Users/S-ili/SVN/
A    SVN/hogehoge.dat
Checked out revision 1.

ktkr。hugaっていうディレクトリ内に、hogehoge.datっていうファイルを作ったんですが、ちゃんとそれが管理されてるみたいです。更に、lsで確かめると、

ls -a
.		..		.svn		hogehoge.dat

ですねと。なんと.svnが隠しでできてます。
俺様は計算機が大っ嫌いなんですが、こういう風に上手くいくとちょっとは良いかなあとか思っちゃうのですね。上手くいかないときはぶっ壊したくて仕方ないんだけどね。
で、じゃあその隠しディレクトリの中を見て見ると、

$ cd .svn
$ ls
README.txt	entries		prop-base	text-base	wcprops
empty-file	format		props		tmp

こんなんなってました。
明日以降は実際にファイルの中身を変更してみて差分が取れてるかどうかを確認してみます。また、SVNWebDAVっていうのと一緒に使われてるらしいので、それも調べねば。
参考にしたところは、

http://www.hyuki.com/techinfo/svninit.html
http://blog.koshigoe.jp/archives/2005/07/osxsubversion.html
http://wiki.0-24.jp/?svn%2F%BD%E9%B4%FC%C0%DF%C4%EA