1

現在「オープン ソース」であるコードがありますが、リポジトリから入手できないため、簡単にアクセスできません。SourceForge または Github のいずれかから入手できるようにするという考えですが、要件をサポートしている無料のサイトなら何でも喜んで使用します。

プロジェクトの説明

プロジェクトは、多くのモジュール (org.pscode階層下の Java パッケージ) のコードと、いくつかの依存関係 (たとえば、50 MB のクロス コンパイル プラグイン、5 ~ 10 MB の MP3..) で構成されています。このプロジェクトには、開発者向けのクロス コンパイル コンパイラやエンド ユーザー向けのミュージック ジューク ボックスなど、さまざまなスタンドアロン アプリケーションが多数含まれています。BigClipただし、プロジェクト自体以外のアプリケーションで役立つ単一のクラス (大きなサウンド クリップを保持できるクラスなど) もあります。一部のパッケージは事実上「自己完結型」です (例: JaNeLA ) が、他のパッケージはさまざまな既存のアプリケーションで使用されるコンポーネントです。

私のマシンに存在するプロジェクト全体は、すでに 200 メガを押し上げています。

長いクリップを再生したい開発者として、コードが SO に投稿するのに十分短いクラスを取得するためだけに、200 メガバイト以上のプロジェクトをダウンロードすることを躊躇します。

コード リポジトリの要件

  • ユーザーが必要な部分だけをダウンロードできるコード リポジトリ/共有システム。
  • メイン プロジェクトの多くの個別の部分で構成されている場合、それらは自動的にダウンロードされます。
  • 各「サブ」プロジェクトに必要なダウンロード量を (ユーザーに表示するために) 自動的に計算する方法を提供します。OK、それは私の選択を「成功または失敗」させる要件ではありませんが、非常に便利です。

以前の形式の CVS よりも多くの進歩があるように見えるので、Git を調べていて、Git For Eclipse Usersを読んでいて、分散バージョン管理システムのポイント 3 に到達しました..

マスター リポジトリがないことを考えると、DVCS の各ノードにリポジトリ全体が存在する必要があることは明らかです。..

それは私を心配させますが、それを完全に理解しているかどうか、または必要な動作を提供する別のメカニズムが Git 内にあるかどうかはわかりません。

質問

Git は上記の要件を満たすことができますか?

別の見方をすれば、これはほとんどの開発者にとって「問題外」ですか? コンマ区切り値のファイルを解析するための 3 KB のコードを取得するためだけに 200 MB のプロジェクトをダウンロードする場合、おそらく私は何も心配していません。

4

2 に答える 2

2

git サブモジュールを使用できます。git リポジトリのサブモジュールは、別の git リポジトリへの参照です。通常、git リポジトリをクローンするときは、すべてをコピーする必要があります。ただし、サブモジュールは、大きなプロジェクトを多くの個別のリポジトリに分割する方法です。

ただし、サブモジュールは別のサブディレクトリにある必要があることに注意してください。したがって、別のサブモジュールに必要なソース コードがある場合は、それらを移動したり、リンクを変更したりする必要があります。

メイン プロジェクトを複製すると、すべてのサブモジュールが自動的にダウンロードされるわけではありません。すべてのサブモジュールを手動でプルすることを指定する必要があります。ただし、詳細については、すべてのサブモジュールをすばやくダウンロードできます。

すべてのサブモジュールの最新の簡単な方法

于 2012-08-25T03:33:35.347 に答える
1

これは、Git では実際には不可能です。ただし、コードを github などの Git リポジトリでホストする場合、ユーザーはファイルを参照して、必要と思われるファイルをダウンロードできます。Git と Subversionを参照してください:

Git では、リポジトリ全体 (履歴を含む) のクローンを作成し、バージョン管理下にあるアイテムの少なくともサブセットをミラーリングする作業コピーを作成する必要があります。

Git のサブモジュール機能はこの問題の解決に役立ちますが、複数のリポジトリを管理し、それらの間の調整を確実にする必要があります。これは、まだ主に開発中の場合はやや面倒な場合があり、リファクタリングが必要になる場合があります。

于 2012-08-25T03:38:31.680 に答える