Visual SourceSafe コード リポジトリを Subversion に移行していますが、問題が発生しています。
以下は、現在のソース コード ツリー (VSS 内) の簡略化されたレイアウトです。
project_root\
|-libs\
|-tools\
|-arch_1\
| |-include
| |-source
|-arch_2\
|-include
|-source
私の問題は、2 つのarch_
フォルダーにあります。各arch_
フォルダーは異なるハードウェア アーキテクチャ用に構築されますが、2 つのフォルダーの内容は実質的に同じです。のファイルは、少数の例外を除いて、arch_2
単に のファイルへの VSS リンクです。arch_1
通常、作業はarch_1
フォルダーにチェックインおよびチェックアウトされ、VSS リンクにより、ここでチェックインされたコードがarch_2
フォルダー内でも更新されます。
Subversion に移行しますが、VSS のリンクのように動作するものはありますか? つまり、2 つのファイルを別々のフォルダーに魔法のように関連付けて、常に同期されるようにする方法はありますか (一方を変更すると、もう一方も影響を受けます)。
注:ここでの正解は、ビルド システムを修正することです。このプロジェクトのビルド システムは、約 10 年前にまとめられました。当時は、コンパイラ/ビルド システムが、2 つの異なるアーキテクチャのソース コードでいっぱいの同じフォルダーをコンパイルするほどインテリジェントではありませんでした。および更新されたコンパイラのおかげでmake
、ビルド システムを書き直して、2 つの並列ソース フォルダーへの依存関係を排除できます。ただし、これには現時点では時間がかかります (VSS サーバーへのライセンスが失われ、かなり短い通知で移行を余儀なくされています)。この問題に対する Subversion の解決策を見つけたいと思っています。なぜなら、現時点では、ビルド システムを書き直すよりも、移行をスムーズに実行することに時間を費やすほうがはるかによいからです (これは、私のやることリストの次です!)。
ご協力ありがとうございました!
明確化:以前に外部定義の使用を調べたことがありますが、ディレクトリ レベルでしか使用できないことがわかります。一部のディレクトリには、共有/リンクされたファイルとリンクされていないアーキテクチャ固有のファイルが混在しているため、ファイルレベルで動作するものを探しています。