web-dev-qa-db-ja.com

GitHubで依存関係リポジトリが削除されるとどうなりますか?

  • 私はGitHubリポジトリAを所有しています。
  • リポジトリBは、他の誰かが所有する別のオープンソースプロジェクトです。
  • リポジトリAはリポジトリBに依存します(リポジトリBはAのサブモジュールです)。

リポジトリBの所有者がそのリポジトリを削除することを決定した場合、ユーザーはリポジトリを正常にクローン/チェックアウト/ビルドできなくなります。

所有者がBを削除することにした場合に備えて、Bを先取りしてバックアップとして使用する必要がありますか?これは危険な状況であると考えられますか、それともオープンソースプロジェクトで通常どのように扱われますか?

9
smg

リポジトリBの所有者がそのリポジトリを削除することを決定した場合、ユーザーはリポジトリを正常に複製/チェックアウト/構築できなくなります。

依存コード「レポB」が消える場合:

  • すべてのユーザーがレポのクローンを作成できます。
  • 既存のユーザーは、おそらくリポジトリBのコピーをローカルに保持し、引き続き正常に構築できます。通常、複製されたレポジトリは、ユーザーがそのシナリオに特化したセットアップに邪魔されない限り、ソースが削除されても削除されません。 GitはDVCSであるため、この種のことから保護するように設計されています。
  • 新しいユーザーは、どこからでもレポBのコピーを取得できるまで、レポをビルドできませんnot。バックアップを保存しないので、このボートにいます。

所有者がBを削除することにした場合に備えて、Bを先取りしてバックアップとして使用する必要がありますか?

はい。

これは危険な状況であると考えられますか、それともオープンソースプロジェクトで通常どのように扱われますか?

はい、これは依存するレポの人気/配布/ミラー、およびレポがあなたにとってどれほど重要であるかに依存する危険な状況です。他の人にとってそれが重要な場合、彼らは(できれば)リポジトリとdepリポジトリの両方のバックアップをすでに持っています。

GitHubでアカウントにフォークし、SSDにクローンを作成してスペースを占有しないようにすることができます。また、バックアップオプションはGitHubのサーバーに何も起きていないか、アカウントが侵害されていないことに依存していることに注意してください。適切な冗長度を判断できるのはあなただけです。

依存しているコードの量、人気、再現の難しさ、およびコードを確実に保存するコストを考慮してください。そのリスク評価を検討した後、それに応じてバックアップします。


大規模なSSDにこれ以上投資したくない場合は、コストが状況の要因になると思われるため、安価なバックアップオプションのリストを以下に示します。

  1. 明らかに、完全に無料なのでGitHubでフォークしてください。 GitHubは重複排除を使用するため、コストは非常に少なくなります。
  2. ローカル(無料)の古い回転ハードドライブまたはUSBフラッシュドライブ。また、ISPまたはセルプロバイダーを介して無料のクラウドバックアップの料金を既に支払っています。
  3. リモート(無料)、多くの無料クラウドバックアップオプションまたは友人に尋ねます。
  4. リモートで($)、GB単位のUsenetプランを購入してUsenetにアップロードします($ 25で25GBまで)
3
adam