6

私はSVNが初めてで、externalsプロパティを多用しています。PC にリポジトリがあり、外部プロパティの名前に「localhost」がハードコードされているため、問題が発生しています。例えば:

/project1/trunk
/shared/trunk

project1/trunk共有フォルダーに依存するため、 svn://localhost/shared/trunksvn:externalsのプロパティがあります。これは TortoiseSVN で問題なく動作し、チェックアウトして のコピーを受け取ることができます。project1/trunkshared/trunk

今、リポジトリを別のサーバーに移動しましたが、明らかな理由で外部リンクが機能しなくなりました (TortoiseSVN はsvn://localhost/shared/trunk存在しないものをチェックアウトしようとしています)。

したがって、すべての外部を更新する必要がありますが、マシン名をハードコーディングしたくありません。どうすればこれを機能させることができますか? リポジトリは、ある時点で再び移動する可能性があることに注意してください。SVN マニュアルを掘り下げて^/構文に出くわしたので、次のことを試しました。

svn:externals shared ^/shared/trunk

これは受け入れられましたが、project1自分の PC で のコピーをチェックアウトしようとすると、次のエラーが表示されます。

Unrecognized format for the relative external URL 'shared'.
Check the path and/or URL you've entered.

外部でリポジトリのマシン名をハードコーディングしない限り、これを機能させることはできません。黒魔術のように思えるので、どんなアドバイスも歓迎します。

4

1 に答える 1

9

参照している ^/ 構文は SVN 1.5 で新しく追加されたものであるため、その構文を理解していない古いバージョンのクライアントやサーバーを使用している可能性があります。また、1.5 で新しい外部構文をサポートするために、外部定義のパラメーターの順序が変更されました。最初にパスが必要で、次にそれが表示されるフォルダー名が必要だと思います。詳細はdocsにあります。

于 2008-10-27T14:34:43.617 に答える