Windows(x64)のSVN で良さそうな物を選んだ時のメモ


 「とかとか〜」

 自分で書いた文章だけど、読むたびに苛つく。

1. Windows(x64)環境をターゲットと定めて、コマンドライン版SubVersionを選んだ結果

 試したディストリビューションは、以下の通り。

1-1. Slik SubVersion

 日本語のメッセージが表示される。 64bitコード対応済み。 結論を述べれば、これが最も良い。

1-2. CollabNet SubVersion

 日本語のメッセージが表示されない。 64bitコード対応済み。 ダウンロードに個人情報の入力を強要される。
 どこの世界に、住所、氏名、年齢、職業、年収、電話番号を書かせる店があるのかと。 このウェブサイトは、ホテルかネット喫茶ですか?

 ホテルとネット喫茶でも年収は記載を求められない。

1-3. Win32Svn

 日本語のメッセージが表示される。 64bitコード非対応。 実際の所、テラオーダのファイルを編集する奴はたぶん居ない。
 32bit 対応で何の不都合もない。 64bit コードに対応するのは、32bit 環境が廃れた時(=WoW32がサポート終了)ぐらいで問題なし。
 今まで、このディストリビューションを使い続けていましたが、リポジトリから文字化けした漢字が出力されたことも無かったです。

2. まとめ

 64bit 環境に移行したいなら、現状だとSlik SubVersionが良いと結論します。

 Windows XPがサポート終了する2014年頃の64bit への移行具合を観て 32bit サポート終了を決めるんだろうな。
 そうなるとWindows 10ぐらいだから、まだ6年ぐらいは先なのかもしれない。

3. 付録

3-1. FreeBSD+SvnServe

 svn のサーバは、稼働方式を着眼点として三種類に分けられる。

 上から順番に設定が面倒となるが、認証方式が柔軟となり、提供される機能が増える傾向にある。
 SSH+Svnとsvnserveは、あまり大差が無い。 通信経路をSSH が保護するかの違い。
 SSH を使おうとも、一つのSSH 鍵を複数ユーザで使い回すから、ホスト鍵程度の役割しか無い。
 ユーザを認証するデータベースが/etc/passwdと別に管理する必要があるから保守工数が増える。

 保守工数の増加を軽く観ると、セキュリティ云々以前の話で足下が疎かとなる。

 それを補うためにCyrus-SASLを使って、ユーザ認証サブシステムを統合させることを考えているのだと思う。
 実際の所は、実装ごとに認証機能を実装するのが怠いというのが最大の理由であると考える。

 実際にSASL機能を有効化することを試みたが、どうもSVN は不自然な実装となっている。(Unix系だと珍しく強く依存している)
 他と見比べて、通信ソケットを設定する項目がなく、パスワードファイルを直接参照している形跡がある。
 SASLのバージョンに強く依存する実装になるから、現状で本格的に運用するならSASL機能を抜いて利用するべきだろう。

 数年後にSASLをスタティックリンクしたバージョンが出そう。