1

共通のコアを中心に構築されたいくつかの製品ラインがあり、現在、外部を使用して SVN でそれらを維持しています。mercurial に移行すると、hg sub-repositoriesを使用するように移行するのが自然です。

問題は、コアが非常に大きく (SVN リポジトリから判断すると、おそらく >GB)、典型的な開発者は、3 ~ 4 などの複数の製品で同時に作業したい場合があることです。

通常、開発者はコアを開発者ごとに 3 ~ 4 回レプリケートし、その履歴全体を保持することを意味するということを正しく理解できましたか? また、開発者が別の製品で簡単な操作を実行したい場合、コアがクライアントで既に利用可能であっても、コアを最初にプルする必要があります (数回...)?

4

1 に答える 1

0

サブリポジトリ (作業コピーではなく) を完全に共有するには、共有拡張機能を使用できます。ただし、これにより、クローン作成プロセスが少し直感に反します。

hg clone -U remote_core core
hg clone -U remote_projectA projectA
cd projectA
hg share ../core core
hg update
cd ..
hg clone -U remote_projectB projectB
cd projectB
hg share ../core core
hg update

等々。ただし、このセットアップでは複数の頭痛の種になることを警告します。職場では、同様のセットアップがありますが、共有サブリポジトリには、それを使用するプロジェクトごとにブランチ (名前付きブランチではなく、クローン ブランチ、専用のマスター リポジトリ) があります。そうすれば、プロジェクト間で簡単にマージしながら、共有コードを個別に変更できます。

于 2012-04-02T21:10:39.517 に答える