著作一覧 |
うまくできてるし、Explorerからちょいちょい突けるのは大いに結構。
でも、コンソールでちゃかちゃかやってるときは、そのまま、svn ……と打ちたくなると思うんだが。たとえば
ruby script\generate model radeonsvn add app\model\radeon.rb
とか。
で、c:\program files\TortoiseSVN\bin にパスを通してみるわけだ。でも、やっぱりコマンドとして認識してくれない。
のぞいてみれば、svn.exeって入ってないわけだ。
WinCVSはそんなことはなかった。cvsの上にGUIラッパとして作ってあったんだったと思う(単に重複させてただけかも知れないけど)。
たぶん、3択問題なのだ。
1. オリジナル+GUIラッパ
2. GUI+オリジナルスタイルラッパ
3. GUIだけ
で、TortoiseSVNは3を選んでいる。でも、しこたまDLLは入ってるんだけど。つまり1にしても2にしても実際には、本体=共用オブジェクトとして、その共用オブジェクトの上にCUIラッパとGUIラッパを作るという手法が取れるはずなのに、なぜそうしていないんだろうという疑問。もちろん、Subversion for Win32を入れれば両方使えてハッピーかも知れない。でもc:\program filesの下に2つも同じ機能を提供するディレクトリを作るのはいやだな。
でも、やっぱりそんな作りにするはずはないだろう、と思う。そこでやっとドキュメントを眺め始める。でついにヘルプにはCLI引数説明とか出てるのを見つける。でもsvn.exeはどこにも無い。ということはソースから作ればあるけれど、MSI使う限りは(MSIを使うくらいだから)CLI不要という判断なのかな? と考える。でソースをダウンロードしてみると、svn.cとかあるな。ということで結局ソースからビルドすることにした。……と思ったけどPythonもPerlもインストールする気にはなれないのでとりあえずやめることにしたり。
もし僕がFooBar Mapsを作ったらイースターエッグは地図に埋めてみるだろうな。たとえば太平洋のある地点に本当は存在しない島を作るとか。あるいは、道路がちょっと歪んでいてグリフになってるとか(よほど人が行かないような場所で)。あるいは、やはり誰も行かないような場所にもかかわらず拡大できるようになっていて、椰子の木が滑走路のように並んでいてプールがある家が建っているとか(って、これも島か)。とか思った。
待たせたり失敗したり閑だったりしたときの土人形(藁じゃないな)が上手く出来てるlivedoorReader。
ジェズイットを見習え |
実装がライブラリとして構築されているってのは Subversion の特徴というか、CVS の反省点に基づく改善項目の1つで、「svn コマンドはライブラリとしての Subversion に対する(コンソール向けの)ユーザインターフェスの実例でしかない。」というスタイルがあるからだと思います。svn コマンドと TSVN は同じライブラリを使ったまったく異なる別アプリケーションだと考えれば、(用途が同じなのがちょっとアレですが)特に違和感もないんじゃないでしょうか?<br>ライブラリ部分を shared に扱うか、static にリンクするかという問題は残りますが、最近の Win32 方面ではアプリケーション別に動作保障できるライブラリのコピーを保持する SxS に移行しつつありますね。
なるほど、もともとそういう考え(ライブラリで実装)なんですね。あるべき姿だ。<br>#というか、バイナリーパッケージにはコマンドライン版も同梱しといてくれ、というそれほど強くもない願望でした。
TortoiseSVNヘルプにあるCLI引数説明の実行ファイルは<br>TortoiseProc.exe です。
…と書いてからヘルプを見ました。すいませんヘルプの中のCLIの章じゃなくて、<br>Automating TortoiseSVN の方です。<br>svn コマンドと引数が全然違いますが、あんまり困ってません。
おお、どうもありがとうございます。<br>動かしてみます。
うーん、さすがにいちいち/command:と入れるのはかったるいですね。そういうときこそWSHの出番か……。
Subversion(サーバの方)に付いているsvnコマンドを使われるのはどうでしょう?
まあ、それが一番みたいですね(同じ機能のプログラム―インストールが必要な―を重複して持ちたくないというのはあるんだけど)