2

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

4

2 に答える 2

2

トップレベル内でサブリポジトリを使用することはできますが、すべてを 1 つのリポジトリに固執することは絶対にありません。しかし、私はそれらを自分で使用したことはありません。

意味のある最小のチャンクに分割することをお勧めします。後で実際により大きなグループ化が必要であると判断した場合は、いつでも複数のリポジトリから新しいリポジトリにプルできます。

ファイルを中央のサーバー保持レポに入れることに関して。それにプッシュするか、ローカルリポジトリからサーバークローンにプッシュするだけです。

于 2014-03-27T10:46:29.387 に答える