Hg にコミットしたい 10 年以上のソフトウェア プロジェクトがあります。
これは Delphi 7 に関連するコード用であり、サード パーティ ライセンスのライブラリ、svn で管理されているオープン ソース ライブラリ、および私自身のコード (Delphi XE5 への移行を計画しています) が含まれています。
サード パーティ製および svn 派生のライブラリには通常、Delphi IDE にコンポーネントがインストールされており、「最新」バージョンを維持する必要があります (ロールバックすると通常 IDE が機能しなくなるため)。ロールバックされませんでした)。
私のレイアウトは次のとおりです。
-Licensed
|-(third party libs)
...
-SVNRoot
|-(various open source from svn)
...
-CodeRoot
|
|-common (common to all projects)
|
|--major1
| |
| |-common (common to the major1 software)
| |
| |-Cust1 (projects for customer1)
| | |
| | |-C1Proj1
| | |
| | |-C1ProjN
| |
| |-Cust2
| |
| |-C2Proj1
| |
| |-C2ProjN
|
|--major2
| |
... ...
つまり、デプロイされている場所に関係なく、すべてのプロジェクトに一般的に含めるコードを含む「共通」フォルダーです。
次に、顧客によってカスタマイズされたサブプロジェクトを含む、主要な製品ごとの内訳。
さまざまなチュートリアルを読みましたが、何かが足りないようです...
..\CodeRoot に移動して Hg Init を実行すると、CodeRoot の下にあるすべてのものをローカル リポジトリに追加する方法がわかります。
単一のリポジトリの下にすべてを置いて満足できるかどうかは、私には明らかではありません。
OTOH、その一番上の「共通」フォルダーがすべてにない場合、問題があります。
各主要プロジェクトの「共通」には同じ問題があります。
私の「粒度」がどうあるべきかはまだわかりません.MajorProjectごと、またはCustProjectごとのリポジトリです。
だから - 質問:
1)「メジャープロジェクトごと」を使用する場合-その最上位の「共通」フォルダーを処理する方法は?
2) 「CustProject ごと」を使用する場合 - 最上位およびメジャー プロジェクトごとの共通フォルダーを処理するにはどうすればよいですか (最上位とは異なる方法で処理される場合)。
3) 最後に、(ローカルではなく) リモートの中央リポジトリを作成したい場合、すべてのファイルをリモートの中央リポジトリに安全に移動してから、自分のマシンにローカルでクローンを作成するにはどうすればよいですか?
ティア。
乾杯、EDB