Unfuddle - Subversion

Subversion とは

次世代構成管理ツール。ポストCVS

CVSとの違いは、プロジェクト単位でバージョン管理でき、ファイル名の変更、ディレクトリの移動を行っても差分情報が失われないこと、バイナリ差分アルゴリズムによりバイナリファイルもバージョン管理できること。

http://d.hatena.ne.jp/keyword/Subversion

個人用であれば無料でスペースを借りられる unfuddle
http://unfuddle.com/home
早速登録してみた。


Subversion には GUI なクライアントもあるようだが最初から楽しちゃダメだ!という思いと、一度 Window のシェルに組み込めるものをインストールしたんだけど、なんかエクスプローラがものすごくうざったい感じになったので止め。Cygwin のパッケージをインストールすることに決定。
愛用の ck で実行すると

$ svn
?\228?\189?\191?\231?\148?\168?\230?\150?\185?\230?\179?\149?\227?\130?\146?\231?\159?\165?\227?\130?\138?\227?\129?\159?\227?\129?\132?\227?\129?\168?\227?\129?\141?\227?\129?\175 'svn help' ?\227?\129?\168?\230?\137?\147?\227?\129?\163?\227?\129?\166?\227?\129?\143?\227?\129?\160?\227?\129?\149?\227?\129?\132?\227?\128?\130   

cygwin.bat から起動した画面では

$ svn
Type 'svn help' for usage.

と出てるので文字コードがうまく反映されていないのは明らかなものの解決手段も分からず、cygwin.bat からは問題なく出力されるのでこちらで試す事に。


unfuddle に登録したプロジェクトから資源を checkout する。

svn checkout svn://xxxx.unfuddle.com/svn/project

最初は USER と PASSWORD 聞かれたけど2回目からは聞かれないのね。
ファイルをリポジトリに追加(?)する。

svn add hello.rb

で、コミット

svn commit hello.rb

ここで

svn: Commit failed (details follow):
svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found

と怒られるので

export SVN_EDITOR=vi

としてエディタを登録。再度コミットを実行するとコミットログの入力を求められる

commit log
 --This line, and those below, will be ignored--

A    hello2.rb

適当にログを書いて(commit log) Enter すると無事完了。


ここまで特にマニュアルを見るわけでもなくコマンド一覧を見て実行できたので、 CVS の操作性をそのまま移行しているってのは嘘じゃないなと思った。


ただ、会社からコミットしようとしたら

400 Bad Request

と出た・・・。検索するとどうやら Proxy の問題らしい。家と会社で個人作成のソースを共有するのが目的だったのになぁ orz