相対パスが機能するように、複数のフォルダーを 1 つのフォルダーにリンクします。(Fedora)

相対パスが機能するように、複数のフォルダーを 1 つのフォルダーにリンクします。(Fedora)

必要な相対ビルド パスと一致しない構造を持つ SVN リポジトリがあります。

SVNリポジトリディレクトリは次のようになります

    • アルファ
      • トランク
        • 1ページ目
        • 2ページ目
        • 3ページ
      • 鬼ごっこ
      • 支店
    • ブラボー
      • トランク
        • 4ページ
        • p5
        • 6ページ
      • 鬼ごっこ
      • 支店

必要なビルドディレクトリ構造は

    • 1ページ目
    • 2ページ目
    • 3ページ
    • 4ページ
    • p5
    • 6ページ

SVN 構造をそのまま維持できるようにしたいのですが、それは主に、実際にそれを調整する能力がないからです。また、トランクに別のもの (アルファ版の p7 など) が追加された場合、ビルド ディレクトリに自動的に追加されるようにしたいと思います。ビルドが機能するには、p1 内から cd ../p2/ などのコマンドを発行して、p2 フォルダーに移動できるようにする必要があります。

何らかの形のリンクが必要なルートだと思いますが、これにどうアプローチすればよいのか少し迷っています。

前もって感謝します。

答え1

これを実行する 1 つの方法 (SVN のみを使用) は、ルートの下に 3 番目のプロジェクトを作成し、それを「build」と呼ぶことです。必要に応じて、通常どおりトランク、タグ、ブランチを含めることができます。「build」プロジェクト内には、makefile などを保持できますが、ほとんどの場合、「build」には、必要なすべてのコンポーネント (および適切なリビジョン) を取り込む svn:externals ルールのみが含まれます。その後、通常のリポジトリの場所をそのままにして、任意のディレクトリ構造を作成できます。

この方法の大きな欠点は、コミットする前に変更をビルドすることがより困難になることです。ただし、特定のリビジョンではなく HEAD をプルする必要がある場合は、svn:externals を一時的に変更して「ビルド」作業コピーから変更を処理すれば、これを実現できます。

関連情報