2

プロジェクトに NetBeans を使用し、riouxsvn.com で Subversion リポジトリをホストしてきましたが、最近サーバーがダウンして以来、ずっとダウンしています。サーバーがダウンしているため、 URL からのインポート機能を使用してアセンブリにインポートできませんでした。したがって、今度は assembla.com の新しいリポジトリでコードをチェックインする必要がありますが、メニュー オプションの[チーム] > [再配置] を使用すると、次のエラーが表示されます。

org.tigris.subversion.javahl.ClientException: svn: ' https://subversion.assembla.com/svn/opmtoolset ' のリポジトリには uuid '36c7bd81-9045-4dfa-9d2c-2ba0fa0ee7f3' がありますが、WC には '7f9aa1f8' があります-8c2b-44dd-b220-ac62e04eeab0'

間違ったリポジトリに再配置しようとしている可能性があります。作業コピーは別のものから作成されました。URLをもう一度確認してください。

ターゲット リポジトリをチェックアウトして、新しい作業コピーを作成することもできます。

基本的なメッセージは理解できますが、解決方法がわかりません。現在、2 つのリポジトリ (新しいリポジトリは明らかに空) があり、UUID が異なっていることがわかりましたが、NetBeans に再配置したいことを伝えることが最善の方法であることを望んでいました。

私の質問は、リポジトリに新しい URL を使用したいことを NetBeans に伝える方法はありますか?

二次的な質問: リポジトリが (明らかに) 期待どおりに機能しない場合、この問題を回避するにはどうすればよいですか? NetBeans で新しいプロジェクトを作成し、すべてのコードを新しいホストで再度チェックインする必要がありますか? その場合、NetBeans の Relocate 機能は何をしますか?

4

2 に答える 2

5

リポジトリに新しいURLを使用することをNetbeansに伝える方法はありますか?はい、古いリポジトリがまだ使用可能な場合は、Netbeansの再配置機能を使用してください。古いリポジトリが利用できなくなった場合、リポジトリのURLを交換して、同じ作業コピーを使い続ける方法はありません。新しいリポジトリにアクセスする新しい作業コピーを作成する必要があります。ただし、 Jim Garrisonが提案したように、.svnディレクトリのすべてのインスタンスを削除することで、現在の作業コピーを後付けすることができます。次に、Netbeansで、「チーム」->「Subversion」->「リポジトリにチェックイン」を使用して、新しいリポジトリのURLを入力します。

リポジトリが(明らかに)期待どおりに機能しない場合、この問題を回避するにはどうすればよいですか?作業コピーはリポジトリにリンクされています。リポジトリを変更する場合は、作業コピーに変更を加える必要があります。または、古いリポジトリがまだ使用可能な場合は、Netbeansが提供する再配置機能を使用できます。また、Netbeansで新しいプロジェクトを作成する代わりに、上記のレトロフィットソリューションを使用できます。

Netbeansで新しいプロジェクトを作成し、新しいホストですべてのコードを再度チェックインしますか?Netbeansで新しいプロジェクトを作成し、すべてのソースファイルを新しいプロジェクトにコピーできます。その後、新しいプロジェクトを新しいリポジトリにチェックインして、新しい作業コピーを作成できます。ただし、すでに上で説明したように、レトロフィットソリューションに従う場合は、新しいプロジェクトを作成する必要はありません。

その場合、Netbeansの「再配置」機能は何をしますか?Netbeansの再配置機能は、作業コピーのリポジトリを変更する問題に対処しますが、古いリポジトリがまだ使用可能な場合にのみ機能します。作業コピーをリポジトリに再配置することはできませんが、あるリポジトリを別のリポジトリに移動するだけなので、手動で転送する手間を省くことができます。最初のリポジトリが利用できなくなったため、このシナリオでは機能しませんでした。使用しているリポジトリがオフラインになると、履歴が失われ、初めてのように新しいリポジトリにコードをチェックインする必要があります。

于 2012-06-15T19:23:08.040 に答える
4

元のリポジトリが完全に失われた場合、現在の作業コピーを新しいソースとして新しいリポジトリにチェックインする必要があります。これを行う最も簡単な方法は、

  1. 現在のソースの完全なバックアップを作成する
  2. 作業コピー内のすべての .svn ディレクトリを削除します
  3. 新しいリポジトリに最上位ディレクトリを作成し、チェックアウトします
  4. 古いツリーを移動します (新しい最上位ディレクトリに)
  5. svn add新しいリポジトリへのソース
  6. チェックイン

ChristopheD が指摘したように、履歴は失われますが、それは既に失われています。

于 2012-06-03T22:52:47.153 に答える