HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

Eclipse 3.4(Ganymede)への移行

久しぶりに開発環境のメンテナンスをまじめにやろうとしたら、Subversion周りでいろいろ苦労したのでメモっておくことにする。

まず、開発環境の主な特徴は以下のような感じ。

Eclipse 3.4を導入したら、まず以下のようにしてSubversiveが使えるようにする。

  1. [Help]-[Software Updates...]の[Available Software]タブを選び、[Add Site...]で以下を追加*1
  2. 同様に、以下のサイトから適切な更新サイトを調べて追加*2
  3. 以下を選択して[Install...]
  4. [Window]-[Preferences]の[Team]-[SVN]を選び、[SVN Connector]タブでコネクタとしてSVN Kitが選ばれていることを確認する

次に、以前からSubversionでソース管理していたプロジェクトを含むワークスペースについて、

  1. 既存のワークスペースを念のためにバックアップした後で、.metadataを削除する
  2. .metadataを削除したワークスペースを開く
  3. 文字エンコーディングの設定などを以前の環境と同じにする。面倒なら、[File]-[Export]の[General]-[Preferences]でエクスポートしたものをインポートしてもよい(かも)
  4. [File]-[Import]の[General]-[Existing projects into workspace]を選び、[Select root directory]でワークスペースのディレクトリを選択する。すると、もともとワークスペースに含まれていたプロジェクトがリストされるので、すべて選択して[Finish]
  5. プロジェクトを選択して右クリックし、[Team]-[Share Project...]を選択
  6. [Select a repository type]で"SVN"を選択して[Next]
  7. 以前に使っていたリポジトリのURLが表示されるので、下部の"Create location using project settings"が選択されていることを確認して[Next]
  8. 認証情報などを入力して[Finish]

で、それでも以下のようなエラーが出る:

Synchronize operation failed.
svn: Corrupt GZIP trailer
svn: OPTIONS request failed on 'xxx'

仕方がないので、deflateモジュールを無効にしてみたらようやくまともに使えるようになったようだ。

参考になったのは、以下のサイト等

特に、Apache httpdが同居する環境では、libaprの関係でjavaHLは使いづらいらしい。確かに、試行錯誤している間、Eclipseを起動しているJava VMがlibapr-1.dllのアクセス違反でエラーを吐いて落ちたりしていた。

また、ちょっと前からSubversiveの方を使うようになったのだが、SubclipseでもjavaHLじゃない方をSVNアダプタとして使うようにすれば多少はまともに使えるようになるらしい(未確認)。


ワークスペースの移行に関していろいろ苦労したのは、試行錯誤している間にワークスペースを壊してしまったからなのかもしれないしそうではないのかもしれないが、もはや確かめる術がない‥もとい、確かめるのがめんどくさい‥


(2009/01/01追記)
ちょっとだけ試行錯誤してやめたワークスペース(何)の場合の移行手順。ただしPreferencesなどは既に前の環境のものをインポートしているという前提で。

  1. ワークスペースを普通に開く
  2. [Help]-[Subversive]-[Migrate Projects and Settings]を選択
  3. なんかエラー*4は出るけど、とりあえず無視
  4. プロジェクトを選択して右クリックし、[Team]をポイントするとSVNクライアントのメニューが表示されてめでたしめでたし

*1:2009/05/21 再々度セットアップしようとしたら、Subversive SVN Connectors Siteが‥変わったのか?

*2:2009/04/30 再度セットアップしようとしたら、Ganymede Update SiteにSubversive SVN Team Providerがなかった‥

*3:2009/05/21 追加

*4:Cannot convert repositories information files. java.lang.NullPointerException