私はバージョン管理をしたい多くの準関連プロジェクトがあります。複数ブランチ用のMercurialリポジトリレイアウト
- 私は枝の間でファイルをコピーすることができますSVNで私は、当然のことながら、他のSVNのレイアウトは、このおもちゃ例えば可能ですが、このレイアウトは利点があり、単一のプロジェクト内
/scripts #updates in sync with project1 & project2 /project1 #requires database /project2 #requires database /database
をとして複数のディレクトリをそれらを設定します履歴を保存している間
- プロジェクトのサブセットのみをチェックアウトできます(例:
svn co repo/project2; svn co repo/database
)。 これは、project1が大きい場合は、かなりの量のストレージを節約します(&)。 - 簡単リポジトリの管理は、ユーザーのアクセスは、すべてのプロジェクト
に一度定義されているため、このパラダイムはyou can't clone a single directory of a mercurial repo以来、Mercurialのためにもマップされません。だから私の質問は、水銀で密接に関連した大規模なプロジェクトを保存する最も一般的な方法は何ですか?
私のアイデア:
- 複数のリポジトリは - 停滞と思われる、と私は、この拡張機能は、ほとんどと
- 名前の枝がどのように安定したかわからない - プロジェクト
- Forests間を移動するファイルの履歴を失います関連しないコンテンツ
- SubRepos - 残念ながら、私はUbuntu 9.04を実行しています。これはhg 1.1.2のみです。そうでなければ、これは良いオプションのように見えるでしょう
ワウ、名前を付けられたブランチステップのおかげで。それは考慮するにはあまりにも醜いです。私は歴史を失うことに対処します - とにかくそれはかなりまれです。 実際、プロジェクト間の変更をマージするよりも大きな問題は、依存関係を同期させることです。私。 project1 @ r50にはデータベース@ r50が必要です。これはsvnで行うことができますが、これは上記より少し複雑なチェックアウトが必要です。 – Quantum7
依存関係を同期させることは、SubReposとフォレストのためのものです。 – Omnifarious
私はSubReposとForestsをMercurialのsvn:externalsの実装とみなし、Mercurialの考え方では、メタデータを暗黙のうちにファイルに格納し、特殊目的のVCSコマンドで管理する必要があります。 – Omnifarious