質問

私は化石(およびCVS構成)初心者で、Delphiプロジェクトの分散化石リポジトリのセットを作成および管理しようとしています。

開発マシンに次のディレクトリツリーがあります。

 Projects
     Some Project
     Delphi Components
        LookupListView
     Some Client
        Some Project For Client
        Some Other Project For Client
           Source Code
               Project Resources
               Project Database

データベースプロジェクトのDelphi 2010ソースを含む、バージョンおよびプロジェクトクライアントクライアントソースコードの他のプロジェクトを共有するために、化石バージョン制御を設定しています。

このプロジェクトは、DelphiコンポーネントであるProjects Delphi Components LookuplistViewを使用しています。このコードをプロジェクトのバージョンシステムに含める必要があります。理論的には、将来的には他の化石リポジトリにも含める必要があります。

ソースコードまたはクライアントレベルのその他のプロジェクトで化石リポジトリを作成した場合、そのレベル以上のコードをリポジトリに追加することはできません。これに対処するための適切な方法は何ですか?私に発生する2つのソリューションはそうです

1)LookuplistView用の個別のリポジトリを作成し、このプロジェクトの現在のバージョンも取得しなければならないことを「知っている」プロジェクトにリポジトリを使用するすべての人を確認してください。これは、単一のチェックアウトでプロジェクトの完全な最新バージョンを取得できるという目的を打ち負かすようです。このプロジェクトには他の一般的なコンポーネント依存関係があるため、問題は拡大されます。

2)プロジェクトディレクトリに化石リポジトリを確立するため、さまざまなサブフォルダーからファイルを確認できます。これは、追加する際に非常に多くの余分なパスタイピングを伴うように思えます。また、リポジトリの他のユーザーにディレクトリ構造(クライアントクライアントの他のプロジェクト)を課すように思えます。実際のクライアント。

どんな提案も感謝しています。

役に立ちましたか?

解決

私はGitを使用していますが、私のアプローチはあなたの状況に適用できます。

すべてのコンポーネントフォルダーのリポジトリが1つあります。これにより、コンソールコマンドが少ないだけですべてを取得することができます(OSを再インストールしたり、別のコンピューターに移動した場合など)。

また、プロジェクトのそれぞれに1つのリポジトリがあります。一部のプロジェクトがサードパーティコントロールを使用している場合、「コンポーネント」サブフォルダーを作成し、シンボリックリンクを実行します(ジャンクション)セットされたすべてのコンポーネントの。

このアプローチにはいくつかの欠点があります(いくつかのプロジェクトの歴史に「戻る」場合、コンポーネントも変更できます。多くのプロジェクトが同じコンポーネントを使用している場合、これはいくつかの問題を引き起こす可能性があります)。しかし、私はまだ問題はありませんでした:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top