svn(subversion)が突然使えなくなった [プログラム]
debian(squeeze)で、突然svnが使えなくなりました。次のようなエラーがでます。
svn: OPTIONS (URL: 'https://〜'): サーバに接続できませんでした (https://〜')調べてみると、debianのsvnコマンドだけが動作しません。経路上にあるファイヤウォールが悪さをしているのかと思って、別のところ(やはりdebianのsqueeze)からsvnを使ってみましたが、それもダメでした。
私は、開発でsvnを使用しているため、非常に問題です。なんとか原因を調べて直さないと、何もできなくなってしまいます。
まず、svnクライアント(1.5.6)とsvnサーバ(1.5.1)でsubversionのバージョンが違っているので、これが問題かもしれません。subversionをダウングレードしてみます。svnサーバと同じ1.5.1に戻してみます。
1.5.1を探すと、運良くlenny(stable)が1.5.1dfsg1-2です。さっそく、これをインストール(ダウングレード)しましょう。
# apt-get install subversion/lennyあれ? もしかして、stableって書かなきゃだめでしたっけ? このあたり、ユーザインターフェースとしては、「最低」ですな。画面にゃlennyって出てきてるんですがね。
:
E: 'subversion' のリリース 'lenny' が見つかりませんでした
# apt-get install subversion/stableえーと、libsvn1も古くしないとだめみたいですね。そっちを先にインストール(ダウングレード)してやりましょう。
:
以下のパッケージには満たせない依存関係があります:
subversion: 依存: libsvn1 (= 1.5.1dfsg1-2) しかし、1.5.6dfsg-1 はインストールされようとしています
E: 壊れたパッケージ
# apt-get install libsvn1/stableいくつかのパッケージが削除されるとありますが、ま、いいでしょう。そのまま続行します。その後、subversion 1.5.1をインストールします。
# apt-get install subversion/stableまず、svn --versionでバージョンが1.5.1であることを確認します。OKです。
さあ、試してみましょう。………ダメでした。
どちらも動かないのなら、1.5.6に戻しておきましょう。
# apt-get install subversionsvn --versionでバージョンが1.5.6であることを確認します。OKです。
さて、どうしましょう?
途方にくれながら、画面を見ていると、
* ra_neon : Neon を利用して WebDAV (DeltaV) プロトコルでリポジトリにアクセスするモジュール。とあります。もしやっ!?と思って、試してみます。今使われているアクセスモジュールがバグってる、腐ってる、最低なのではないでしょうか。
- 'http' スキームを操作します
- 'https' スキームを操作します
* ra_serf : serf を利用して WebDAV (DeltaV) プロトコルでリポジトリにアクセスするモジュール。
- 'http' スキームを操作します
- 'https' スキームを操作します
アクセスモジュールを変えるには、
~/.subversion/serversの中のhttp-libraryを設定します。デフォルトはneonです。なので、次の行をファイルの最後に追加してserfを使うように設定します。
http-library = serfこれで試してみましょう。… OKです。
…というわけで、今回のトラブルメーカーはneonモジュールでした。