Eclipse subversionプロジェクト接続を復元する


100

私はEclipseを使用して開発しているsubversionのプロジェクトを持っています。私はEclipse内からsvnリポジトリから元のチェックアウトを行いました。何週間かすべてが順調でしたが、何らかの未知の理由により、Eclipse(具体的には、Ganymedeのサブクリップ)が私のプロジェクトをsvnの制御下にあると認識しなくなりました。チームのコンテキストメニューには、基本的な「パッチの適用」/「このプロジェクトの共有」メニューオプションのみが表示されます。シェルからは、引き続きsvnコマンドラインツールを使用してプロジェクトを更新できるため、svn資格情報は引き続き機能します。Eclipseの同じコピーでsubversionの下にある他のプロジェクトは引き続き機能します。

ローカルコピーを削除して再度チェックアウトできることはわかっていますが、問題の原因を理解したいと思います。症状を隠すのではなく、問題を修正してください。Eclipseは、バージョン管理されているプロジェクトに関する知識をどこに保存しますか?私は.projectファイルと.settingsディレクトリを見ましたが、まだ適切に機能しているプロジェクトであっても、svnの性質などの明らかな言及はありませんでした。

回答:


124

SVNプロバイダーとしてsublipseを使用している場合は、次のことをお勧めします

チーム->共有プロジェクトは通常、メタデータを接続するのに十分です。

(つまり、コマンドラインで作業できる場合、.svnファイルがまだ存在していると想定されます)。

これがなぜ起こるのかについてこれが役立つことを願っています


9
私は同じ問題を抱えていますが、この答えは私を助けません。Eclipseを使用すると、Subversionで新しいプロジェクトを作成できます。プロジェクトを再接続する可能性はありません。
migu

1
このことを確認した方法。
pestaa 2010

1
この回答をありがとう、私は多くの時間を節約できました。これで、ようやくワーキングセット全体を更新できます。
Cedric Meury、2011年

1
これは(Eclipse Indigo 64-bitとSubclipseで)私にとってはうまくいきました、ありがとう!「.svnファイルがまだそこにあると仮定して」というコメントがおそらく正確ではないことを付け加えたかっただけです。つまり、私のプロジェクトはまだリポジトリに関連付けられていますが(TortoiseSVNが確認したように)、プロジェクトディレクトリに.svnディレクトリが存在しないことに驚いたのです。私はいつも SVNが制御するすべてのディレクトリにそのようなディレクトリがあると思っていましたが、今はそうではないことがわかりました。とにかく、OPのポイントは、ディレクトリがまだconfigの下にある場合、これは機能するはずであり、有効であるように見えるということでした。
Rob Cranfill、2012

1
Subversiveでも働いた...ありがとう!
jaibatrik

23

プロジェクトを再インポートするだけの簡単な方法を見つけました


1
あなたは男です... :)私は「パッチを適用」オプションしか持っていなかったのでそれを解決しました...なぜそれを考えなかったのですか:)
IncrediApp

ええ、再インポートが最も簡単なようです:-)
user942640 '20

「パッチの適用」メニューオプションもありました。再インポートが機能しました。これを決定する構成ファイルがどこかになければなりません。振り返ってみると、関連する構成ワークスペースとプロジェクトファイル/フォルダーをバックアップして、何が変更されたかを確認できたらよかったのですが。うまくいけば、このソリューションを読んだ次の人がそうして、何が変わったかを共有するでしょう。
Pixelstix

7

チーム->プロジェクトの共有(@Paul Whelanによって提供されたこの質問への回答による)だけではうまくいきませんでした。プロジェクトの共有ウィザードは、プロジェクトがまだSVNにないかのように動作しました(私のプロジェクトに.svnフォルダーが存在していたとしても)。

私はSubversiveとJavaHLアドオンをアンインストールして(ヘルプ| Eclipseについて|インストールの詳細ボタン|インストール済みのソフトウェアタブ|アンインストール...)、Subversiveを再インストールすることで問題を解決しました。Eclipseの再起動後にプロンプ​​トが表示されたら、JavaHLコネクターではなくSVNKitコネクターをインストールすることを選択しました。

その後、もう一度Team-> Share Project ...を試したところ、Eclipseは自分のプロジェクトがすでにSVNに存在することを正しく認識し、接続を正常に復元しました。


プロジェクトを共有する理由 share projectはローカルプロジェクトをsvnサーバーに公開します。svnマシンに行くことが想定されていないものがローカルにある場合、これにより問題が発生する可能性があります。彼がやりたいのは接続を再確立することです。これは明らかに不可能です。解決策新しいチェックアウトとなり、最終的には破壊的ではなくサブクリップをインストールする
JBoy

4

補遺:vpn内のsvnリポジトリーに接続されているワークスペース内のプロジェクトを使用して会社のvpnの外部でEclipseを起動すると、私の問題が明らかになることがわかりました。幸いにも、Eclipse svnプラグインを破壊的からサブクリップに切り替えることで解決しました。

イアン


3

日食から、私はプロジェクトを閉じて、問題を解決した再開しました。すべてのSVNによるリンクは、私のワークスペースのすべてのプロジェクトに戻ります。


1
プロジェクトを閉じて再開しましたが、うまくいきませんでした。
Epu、2012年

2

私は同じ問題を抱えていましたが、このフォーラムは正しい答えを見つけるのに役立ちました。

以前のプロジェクトはサブクリップを使用して構成されました。新しい日食は衰退しました。

サブクリップをインストールすると、チームの下でsvnオプションを取り戻すのに役立ちました!

それが他の誰かを助けることを願っています。

よろしく

アンシュプラティーク


ケプラーにサブクリップをインストールできません。解決策はありますか?
Vivek 2013年

1

使用しているプラ​​ットフォームがわからないので、あなたの問題が私の問題と似ているかどうかはわかりません。しかし、最近(実際には2つの異なるプラットフォームで!)Subversive(またはおそらくEclipse自体、明確ではない)への更新が原因でコネクターがロードされなくなった問題がありました。コネクタがないと、Subversiveはプロジェクトに接続できません。しかし、Eclipseがプロジェクトをロックアウトすることはなく、SVN関連の機能を削除するだけです。

Eclipseのさまざまなエラー(クラスが見つからない例外など)のログである[エラー]ビューを見て、Subversiveコンポーネントに関連する行がないかどうかを確認します。残念ながら、私は実際にソリューションを推奨することはできません。私のMac OSXプラットフォームでは、Subversiveコアエレメントとコネクタを再インストールするだけで十分でした。Linuxマシン(OSのアップグレードが原因である可能性があります)では、Eclipseを完全に再インストールする必要があります。完全に調査するには、あまりにも多くの情報が蓄積されているためです。


1

Subversiveを使用したJunoリリースでは、次のことを行いました。

  • ファイル/インポートはインポートポップアップを表示します。
  • そこから、WorkspaceへのGeneral / Existing Projectsを選択します。
  • 次のペインで、ルートディレクトリを選択します。次に、すべてのサブディレクトリが表示されます。これらはすべてデフォルトで選択されます。
  • 不要なものの選択を解除します。

次に、既存のディレクトリを「インポート」します。既存のディレクトリは、ワークスペースディレクトリ内に既に配置されている場所で使用できます。


0

私の場合も同じです:.svn dirsはありましたが、私のプロジェクトはsvnアクションをサポートしていませんでした。

少し突っ込んだ後、強制終了した日食の後、破壊的なプラグインが消えたことがわかりました。

解決策は破壊的なバージョンを(再)インストールすることでしたが、今ではすべてが元通りになっています。

乾杯v。

更新:プラグインがインストールされていない新しいバージョンにEclipseを切り替えました。これが、プラグインを最初からインストールしなければならなかった理由です。


0

これは私にとってうまくいきました:右クリック-> TortoiseSVN->設定->アイコンオーバーレイプロパティ、ステータスキャッシュとしてシェルを選択。[OK、ページを更新]をクリックします。


0

この問題は確実に再現できます。POM自体を含むフォルダーではなく、「trunk」などの親ディレクトリで「Check out as Maven Project ...」を実行して特定のMavenプロジェクトをチェックアウトすると発生します。この場合、Subclipseはプロジェクトを問題なくチェックアウトし、などのプレースホルダー名でワークスペースディレクトリに配置しますmaven.1424425443350。 このディレクトリに、Mavenアーティファクトの名前を持つサブディレクトリを作成します。これはSubclipseとSubversionの両方を混同します。これまで見てきたように、Subclipseはプロジェクトがバージョン管理下にあることをすぐに忘れsvn statusmaven.1424425443350ディレクトリのコマンドラインから呼び出すと、ディレクトリがバージョン管理下にあることを通知しますが、バージョン管理されたファイルがすべてありません。

SubsclipseがSVN接続を忘れた原因である場合、他の回答で提示されている回避策はどれも機能しません。代わりに、唯一の解決策は、プロジェクトを削除して再度チェックアウトすることです。今回は、より高レベルのディレクトリではなくPOMを含むディレクトリでチェックアウトが実行されることを確認します。

より優れた全体的な解決策は、POMを含まないディレクトリでSubclipseが「Mavenプロジェクトとしてチェックアウト...」を実行することを拒否するか、Mavenプロジェクトのサブディレクトリを検索することで実行しようとするケースをより適切に処理することです。


0

SVNリポジトリのバージョン(1.8.x)と同時に2つのSVNKit実装(1.7.xと1.8.x)を使用していました。

結果として、チーム->プロジェクトの共有...は常にコミットメッセージを要求しました。明らかに、SV1.8.xと互換性のないSVNKit 1.7.xが使用されました。

SVNKit 1.7.x eclipseを削除した後、利用可能な唯一の正しいSVNKitバージョン1.8.xを使用し、すべてが期待どおりに機能しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.