Que se passe-t-il si le référentiel de dépendances est supprimé sur GitHub?

9
  • Je possède un référentiel GitHub, A.
  • Le référentiel B est un autre projet open-source, qui appartient à quelqu'un d'autre.
  • Le référentiel A dépend du référentiel B (le référentiel B est un sous-module de A).

Si le propriétaire du référentiel B décide de supprimer ce référentiel, les utilisateurs ne pourront plus cloner / extraire / créer mon référentiel avec succès.

Dois-je préempter B utiliser comme sauvegarde au cas où le propriétaire déciderait de le supprimer? Cette situation est-elle considérée comme dangereuse ou comment est-elle généralement gérée pour les projets open source?


la source
3
Corrigez-moi si je manque quelque chose, mais si A dépend de B, chaque fois que quelqu'un veut construire A, il doit cloner A et B, donc même si B a été supprimé, tous ceux qui utilisent A ont probablement une copie de B (y compris l'historique) qui traîne sur leur système, car git est un DVCS, donc il y a de fortes chances que vous puissiez créer une fourche rétroactivement. Droite? Ou s'agit-il d'une autre sorte de «dépendance»?
C'est une dépendance normale de subrepo. Mais en gros, je suis le mainteneur d'A. Il est stable et il n'y a pas de développement actif (seulement des corrections occasionnelles), donc pour garder mon petit SSD propre, je ne garde que le code sur GitHub. J'ai donc l'impression que c'est une situation dangereuse, car A sera en difficulté si le propriétaire de B décide de supprimer B et je n'ai pas de fork préemptif.
3
Les fourches sont gratuites. Si cela vous aide à dormir la nuit, faites-le.

Réponses:

3

Si le propriétaire du référentiel B décide de supprimer ce référentiel, les utilisateurs ne pourront plus cloner / extraire / créer mon référentiel avec succès.

Si le code dépendant "repo B" disparaît:

  • Tous les utilisateurs pourront cloner votre dépôt avec succès.
  • Les utilisateurs existants auront probablement une copie du dépôt B localement et continueront à bien construire. Les dépôts clonés ne sont généralement pas supprimés si la source est supprimée, sauf si un utilisateur s'est mis en quatre pour configurer spécifiquement ce scénario. Comme Git est un DVCS, il est conçu pour se prémunir contre ce genre de chose.
  • Les nouveaux utilisateurs ne pourront pas créer votre référentiel tant qu'ils n'auront pas obtenu une copie du référentiel B quelque part. Vous seriez dans ce bateau puisque vous ne stockez pas de sauvegarde.

Dois-je préempter B utiliser comme sauvegarde au cas où le propriétaire déciderait de le supprimer?

Oui.

Cette situation est-elle considérée comme dangereuse ou comment est-elle généralement gérée pour les projets open source?

Oui, il s'agit d'une situation dangereuse selon la popularité / la distribution / les miroirs du référentiel dépendant et l'importance de votre référentiel pour vous. Si cela est important pour les autres, ils ont (espérons-le) déjà une sauvegarde de votre dépôt et du dépôt.

Notez que vous pouvez le brancher sur GitHub à votre compte et ne pas le cloner sur votre SSD pour ne pas prendre de place. Gardez également à l'esprit que cette option de sauvegarde dépend de ce qui ne se passe pas sur les serveurs de GitHub ou que votre compte ne soit pas compromis; vous seul pouvez déterminer le degré de redondance adéquat.

Considérez la quantité de code sur laquelle vous comptez, sa popularité, la difficulté de le reproduire et le coût de le stocker de manière fiable. Après avoir examiné cette évaluation des risques, sauvegardez-la en conséquence.


Étant donné que le coût semble être un facteur dans votre situation, étant donné que vous ne voulez pas dépenser plus pour un SSD plus grand, voici une liste d'options de sauvegarde bon marché:

  1. Évidemment, fourrez-le sur GitHub car il est entièrement gratuit. GitHub utilisera la déduplication, donc le coût est extrêmement minime pour eux.
  2. Localement (gratuit), anciens disques durs en rotation ou lecteurs flash USB. Vous pouvez également déjà payer pour la sauvegarde gratuite dans le cloud via votre FAI ou votre fournisseur de cellules.
  3. À distance (gratuit), de nombreuses options de sauvegarde cloud gratuites ou demandez à un ami.
  4. À distance ($), achetez un forfait Usenet par Go et téléchargez-le sur Usenet (~ 25 Go pour 10 USD)
Adam
la source