20

からファイルを移動するとき、次のold.package to new.package2 つのことが必要です。

  1. そのクラスへのすべての参照を (プロジェクトのすべてのファイルで) 更新して、新しいパッケージが使用されるようにします。
  2. svn move old/package/Foo.java new/package/Foo.java

私は Eclipse Ganymede 内で subversive を使用しています。ファイルをあるパッケージから別のパッケージにドラッグすると、すべての参照が更新され、ファイルがファイル システム上を移動します。しかし、SVN はこれを認識していないため、存在しない場合 (Eclipse が既に移動しているため)、svn move old/package/foo.java new/package/Foo.javaコマンドは (明らかに)機能しません。old/package/Foo.java

Eclipse にリファクタリングを行わせる方法はありますが、svn を使用してファイルシステム上のファイルを移動する方法はありますか? 明らかな何かが欠けていることを願っています:-)

4

5 に答える 5

16

Subclipseを使用してますが、パッケージ間でのファイルの移動をサポートしています

于 2009-01-07T12:13:50.427 に答える
3

私は実験してきましたが、方法を見つけたと思います:

1)右クリックしてドラッグするコンテキストメニュー(または必要なSVNメソッド)を使用して、ファイルを亀のように移動します。

2) Windows ファイルシステムを使用して元に戻します。

3) Eclipse でファイルをドラッグして移動し、すべての参照を更新します。

4) コミット - 削除/追加として表示されますが、履歴を保存し、1 つのコミットでパッケージ参照を変更します (各コミットをビルド可能に保ちます)。

古い質問ですが、私はそれに戻ってきますので、これは私のドキュメントです!

于 2010-07-13T20:40:43.933 に答える
1

ユヴァル そうです。これは、Subversive の (非常に残念な!) 欠陥のように聞こえます。(Subversive の経験がないので、はっきりとは言えません) Subclipse は、Eclipse の適切な API にフックすることで、これを確実に適切に処理します。

于 2009-01-07T17:46:07.853 に答える
0

ファイルを移動するだけでは不十分なため、両方を同時に行うことはできません。コードを再度コンパイルできるようにするには、ファイルを変更する必要があります。そのため、移動後に Eclipse でリファクタリングし、Subclipse に魔法 (古いファイルを削除して新しいファイルを追加) を実行させます。

于 2009-01-07T12:17:54.927 に答える