SSブログ

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
   :
E: 'subversion' のリリース 'lenny' が見つかりませんでした
あれ? もしかして、stableって書かなきゃだめでしたっけ? このあたり、ユーザインターフェースとしては、「最低」ですな。画面にゃlennyって出てきてるんですがね。
# apt-get install subversion/stable
   :
以下のパッケージには満たせない依存関係があります:
  subversion: 依存: libsvn1 (= 1.5.1dfsg1-2) しかし、1.5.6dfsg-1 はインストールされようとしています
E: 壊れたパッケージ
えーと、libsvn1も古くしないとだめみたいですね。そっちを先にインストール(ダウングレード)してやりましょう。
# 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 subversion
svn --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モジュールでした。


共通テーマ:パソコン・インターネット

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。