11

svn:externals を使用して、subversion リポジトリに一種のシンボリック リンクを設定しようとしていますが、実際にはうまく機能していません。私がやりたいのは、次のように、同じリポジトリの一部のフォルダーを別のフォルダーにリンクすることです。

src/somewhere_else/schema https://svn.acme.com/svn/project/trunk/src/schema

これは真の外部リソース (つまり、別のレポ内のディレクトリ) に対しては正常に機能しますが、上記のように同じレポ内のリソースに対しては機能しません。私はこれをしばらくグーグルで検索しましたが、これはサポートされるべきだと思われます。何が欠けていますか?

Windows 2003 サーバー インストールの VisualSVN で Subversion 1.5.5 を使用しています。

エラーが発生しないことを忘れていました。他のフォルダーからコンテンツを取得する必要があるフォルダーは空のままです。

4

4 に答える 4

11

Subversion 1.5 では、relative externalsが追加されました。

于 2009-06-01T09:56:23.487 に答える
3

あなたが与える構文:

working-copy-relative-path    full-repo-url

うまくいくはずです。ただし、このルートを使用する場合は、リンクが同じリポジトリ内にある場合でも、チェックアウトする場合に使用する完全な URL を指定する必要があります。あなたはそうしていますよね?

1.5 で導入された代替手段は、相対外部です。

repo-url-or-relative-path working-copy-relative-path

詳細については、Roger Lipscombe のリンクを参照してください。

それでも、あなたが説明していることはうまくいくはずです。それが機能しない場合、実際に行っていることを十分に正確に説明していないはずです。いくつかの詳細がまだ不足しています。

于 2009-06-01T10:33:03.990 に答える
3

これがあなたの本当の問題かどうかはわかりませんが、フォルダーでプロパティを直接定義します。あなたの場合、src\somewhere_elseフォルダーを作成してプロパティを追加します。

schema https://svn.acme.com/svn/project/trunk/src/schema

あなたが提案するように絶対外部URLを定義する場合、覚えておくべきちょっとしたこと:

src/somewhere_else/schema https://svn.acme.com/svn/project/trunk/src/schema

TAG または BRANCH を作成しても、それらは自動的に変更されません。つまり、TAG の一部 (外部 URL) は常にスキーマの TRUNK を指します。

もちろん、スキーマがあまり変更されない場合は問題ありませんが、パッチを適用する 2 年前のアプリケーションがあり、スキーマが大幅に変更された場合、さらに問題が発生する可能性があります。

于 2009-06-01T10:03:41.770 に答える
3

「特定のリビジョンへの更新」を実行してみて、「完全再帰」を指定してください。作業コピーが「作業コピーのみ」のままになっている場合、外部コンテンツを取得できません。

于 2009-06-01T10:46:01.997 に答える