12

Java クラス (したがってソース ファイル) の名前を変更する必要がある場合、またはパッケージ名を変更する (したがってソース ファイルを移動する) 必要がある場合は、次のいずれかを実行できることがわかりました。

  1. すべてのカスケード タスクが自動的に実行されるため、素晴らしい便利な Eclipse リファクタリング ツールを使用してください。ただし、その後、Subversion で変更をレポにレプリケートするのに苦労しました。
  2. 最初に Subversion で名前変更/移動を実行し、ローカルを更新すると、Eclipse のリファクタリング ツールが機能しなくなります。

誰でも好ましい手順についてアドバイスできますか?

4

4 に答える 4

10

1.4.x リリース以降、Subclipse はこれをかなりうまく処理します。バグがある場合は、報告してください。以前のリリースでは、一部の状況は処理されましたが、他の状況は処理されませんでした。これは、SVN 1.5 で修正された Subversion の制限によるものです。たとえば、SVN 1.5 より前では、フォルダーの名前を変更した場合、フォルダー内のファイルの名前も変更できませんでした (フォルダーがコミットされるまで)。この種のことはすべて非常に一般的なリファクタリングであり、SVN が邪魔になります。

しかし、今ではすべてうまく機能しています。

マーク

于 2009-02-06T00:49:08.027 に答える
4

入り込んで「やってくれ」と言うのは嫌いですが、件名で Subclipse に言及しているので、Subclipse は Eclipse のリファクタリング ツールと統合されています。サブバーシブもそうです。クラスの名前を変更すると、その下にある「svn mv」が実行されます。これらの動きを手動で複製しようとする必要はありません。

何らかの理由で Subclipse がプロジェクトにアタッチされていないのではないかと思います。プロジェクトが Subversion プロジェクトであることがわからない場合です。それでは明らかに何もできません。

Subclipse/Subversive を使用していない場合は... 開始します。:)

于 2009-02-05T20:56:41.600 に答える
3

あなたは転覆を試みましたか?リファクタリングは私にとってはうまくいくようです。

実際、subclipse も試してみましたが、少なくともバージョン 1.4.7 では問題なく処理できるようです。パッケージとクラスの名前を変更しようとしました。Eclipse は古いものを削除済みとしてマークし、リポジトリに追加される予定の新しいものを追加します。

于 2009-02-05T20:31:33.443 に答える
-1

Eclipseでリファクタリングすると、 Subclipseがsvnの移動/名前変更を処理します。

于 2009-02-05T20:33:30.320 に答える