subclipse [Eclipse]
Subclipse の評価(0.9.31→0.9.32)
■結論?(問題点)
- ファイルの削除に問題あり?(0.9.31)
- ファイルの削除の問題はFIXされている模様です。これで、リファクタリングを含めた一通りの操作が可能になりました。これをもちまして私のリポジトリもCVSからsubclipseに移行します(^^)。(0.9.32)
■目的
CVSからsubversionへの移行を果たし、subeclipseの評価をおこないます。評価したsubclipseのバージョンは0.9.32です。
■リファクタリング
subversionに移行した理由の1つは、ファイルに対する変更履歴情報がリファクタリング後も保持されることです。さっそく試してみます。
- RefactoringTestクラスを作成し、VersionControl対象に追加し、commit。
- RefactoringTestクラスのクラス名称を変更する。
- subversionリポジトリに変更内容をコミットする。
- コミットされた内容を確認する。
クラス名を変更することにより、クラス変更前の履歴情報が変更後のクラスに引き継がれることを確認しました。
ただし問題点が残りました。ローカルファイルシステム、Subversionのリポジトリ、ローカルマシンのSubversion管理情報間で矛盾が発生してしまうようです。変更前のクラスは、ローカルマシン上およびsubversionのリポジトリからは削除されています。しかし、ローカルマシンのsubversion管理情報は、ローカルファイルシステムからは削除されましたが、リポジトリには反映されていない状態になります。具体的には、リポジトリとの同期をとると下記のようになります。
同期をとり、ローカルファイルシステムで削除されたファイルをコミットしようとすると「Failed in remoteFileContents()」となる。リポジトリを開いて(「SVN exploring Perspective」)、「Remove from View」コマンドによりViewから見えなくすることは可能ですが、適切な解決法とはいえないでしょう。
おそらく、Subclipseの削除処理に問題があると推察しています。次の操作から原因を推察しています。ファイルシステムから、ファイルを削除し、リポジトリに削除したことを反映します。ローカルのファイルシステムおよびリポジトリは削除された状態になりますが、subclipseの管理情報は削除された状態になりません。この削除処理に問題があるため、リファクタリング結果が正常に反映されないのではと推察しています。
引き続き、適切な対処法を調査してみます。
0.9.32がリリースされたようですので、さっそく評価してみました。Changelogをざっと見る限り、問題に該当する修正内容は見当たりませんが、動作検証する限りは修正されているようです。Eclipse 3.1 GA もサポートされたようです。
Changelog(0.9.32)
http://subclipse.tigris.org/subclipse/changes.html
コメント 0