言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

subversion 解決記

T2さんの「sshクライアントを指定してみる」というヒントのおかげで、subversion を使えるようになりました。原因は色々勘違いが重なっての事です。T2さん有難うございました。

  • 本当の原因: サーバー側の設定がまずかった。
  • 原因を間違えた原因: まず TortoiseSVN が動かなかったので、自宅の FreeBSD から SSH 経由でチェックアウト出来るか試してみた。するとユーザ名を間違えてしまっているのがパスワード入力コメントから分かったので、TortoiseSVN も同じミスをしているんだろうと思った。

どうやって本当の原因を見つけたかというと、以下のようなスクリプトを書き、ssh の設定のところ(unix は ~/.subversion Windows は右クリックメニューの Settings)に指定して、実際にどんな引数が ssh に渡っているのかを調べたのでした。

#!/usr/bin/env perl
open (OUT, ">/tmp/argvout.txt") or die $!;
foreach $arg (@ARGV) { print OUT $arg. "\n" }

すると、まず FreeBSD マシンはそもそもユーザ名を渡していない(subversion のバージョンが古かった) のと、サーバー側の設定がまずかった(ライブラリパスは .profile では無く .bashrc に書かなくてはならない) が判明しました。と言う事で昨日の奴は書き直しました。

と言うわけで、

  • ライブラリパス LD_LIBRARY_PATH の設定は .bashrc に書く(これは、root を使える人には関係ない話)
  • subversion の新しいバージョンを使う

で解決しました。