2

そのため、最近、SVN サーバーをルート パス (svn://sever/) からサブフォルダー (svn://server/sub/) に移動して、同じサーバー上で複数のリポジトリを使用できるようにしました。

すでにチェックアウト済みの作業コピーがいくつかありますが、そのままにしておく必要があります。Tortoise SVN を使用して Relocate コマンドを実行したところ、すべてうまく機能しているように見えました。

外観以外。すべてのエクスターナルは (^/folder/ folder構文を使用して) 相対的にリンクされているため、実際のエクスターナル プロパティは引き続き正しく機能します... 問題は、エクスターナル プロパティによって既にチェックアウトされているフォルダーがまだ古いパスに関連付けられていると認識していることです。

更新を実行すると、すべての外部から次のエラー メッセージが表示されます。

'svn://server/old/folder/path'
is not the same repository as
'svn://server/sub'

外部定義によって作成されたすべてのフォルダーを手動で削除/再配置することなく、作業コピーを修正する方法はありますか? かなりの数があり、それはオプションであり、機能しますが、より自動化されたアプローチがあるかどうか疑問に思っています.

ありがとう!

4

1 に答える 1

1

svn st --ignore-externals「X」ステータスの外部をリストします。その周りにスクリプトを作成して、すべての外部を見つけてからsvn switch --relocate ..... あなたが持っている唯一の外部が相対的なものであれば、やみくもに再配置を行うことができるはずですが、別のサーバーを指すものがある場合はsvn info、外部が必要なものであることを確認するためのステップを追加する必要があります直した。

于 2009-10-01T15:59:23.060 に答える