web-dev-qa-db-ja.com

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

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

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

99
Ian Dickinson

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

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

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

これがなぜ起こるのかを助けてくれるといいな

123
Paul Whelan

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

22
jerry

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

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

それを行った後、チーム->プロジェクトの共有...をもう一度試してみると、EclipseはプロジェクトがSVNに既に存在することを正しく認識し、接続を正常に復元しました。

7
Jon Schneider

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

イアン

4
Ian Dickinson

Eclipseから、プロジェクトを閉じて再度開き、問題を解決しました。すべてのSVNリンクが、ワークスペース内のすべてのプロジェクトに戻ります。

3
Nathan

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

私の以前のプロジェクトは、サブクリップを使用して構成されていました。新しいEclipseには破壊的なものがありました。

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

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

よろしく

アンシュ・プラテク

2
user414944

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

  • ファイル/インポートは、インポートポップアップを表示します。
  • そこから、「一般/既存のプロジェクトをワークスペースに」を選択します。
  • 次のペインで、ルートディレクトリを選択します。次に、すべてのサブディレクトリが表示されます。これらはすべてデフォルトで選択されます。
  • 不要なものを選択解除します。

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

1
Chelmite

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

Eclipseのさまざまなエラー(class-not-found例外など)のログであるエラービューを見て、Subversiveコンポーネントに関連する行があるかどうかを確認します。残念ながら、私は実際にソリューションを推奨することはできません。MacOSXプラットフォームでは、Subversiveのコア要素とコネクタを再インストールするだけで十分でした。 Linuxマシン(おそらくOSのアップグレードが原因)では、Eclipseを完全に再インストールする必要があります。

1
rjray

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

0
ranu

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

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

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

0
Thomas Rawyler

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

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

より良い全体的なソリューションは、SubclipseがPOMを含まないディレクトリで「Check out as Maven Project ...」の実行を拒否するか、またはMavenプロジェクトのサブディレクトリを検索することでそうするケースをより適切に処理することです。

0
Psychonaut

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

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

解決策は、破壊的なものを(再)インストールすることでした。

乾杯v。

更新:Eclipseをプラグインがインストールされていない新しいバージョンに切り替えたため、ゼロからインストールする必要がありました。

0
tishma