¿Qué sucede si el repositorio de dependencias se elimina en GitHub?

9
  • Soy dueño de un repositorio de GitHub, A.
  • El repositorio B es otro proyecto de código abierto, propiedad de otra persona.
  • El repositorio A depende del repositorio B (el repositorio B es un submódulo de A).

Si el propietario del repositorio B decide eliminar ese repositorio, los usuarios ya no podrán clonar / pagar / construir con éxito mi repositorio.

¿Debería bifurcar preventivamente B para usarlo como respaldo en caso de que el propietario decida eliminarlo? ¿Se considera que se trata de una situación peligrosa o cómo se maneja generalmente para proyectos de código abierto?


fuente
3
Corríjame si me falta algo, pero si A depende de B, cada vez que alguien quiera construir A, tienen que clonar tanto A como B, por lo que incluso si B fue eliminado, todos los que usan A probablemente tengan una copia de B (incluido el historial) en su sistema, porque git es un DVCS, por lo que es probable que pueda crear una bifurcación retroactivamente. ¿Derecha? ¿O es este otro tipo de "dependencia"?
Es una dependencia de subrepo normal. Pero básicamente, soy el mantenedor de A. Es estable y no hay desarrollo activo en curso (solo arreglos ocasionales), así que para mantener limpio mi pequeño SSD, solo mantengo el código en GitHub. Así que siento que es una situación peligrosa, ya que A estará en problemas si el propietario de B alguna vez decide eliminar a B y no tengo una bifurcación preventiva.
3
Los tenedores son gratis. Si te ayuda a dormir por la noche, hazlo.

Respuestas:

3

Si el propietario del repositorio B decide eliminar ese repositorio, los usuarios ya no podrán clonar / pagar / construir con éxito mi repositorio.

Si el código dependiente "repo B" desaparece:

  • Todos los usuarios podrán clonar con éxito su repositorio.
  • Los usuarios existentes probablemente tendrán una copia del repositorio B localmente y continuarán construyendo perfectamente. Los repositorios clonados generalmente no se eliminan si se elimina la fuente, a menos que un usuario haya hecho todo lo posible para configurar específicamente ese escenario. Como Git es un DVCS, está diseñado para proteger contra este tipo de cosas.
  • Los nuevos usuarios no podrán construir su repositorio hasta que puedan obtener una copia del repositorio B de alguna parte. Estaría en este bote ya que no almacena una copia de seguridad.

¿Debería bifurcar preventivamente B para usarlo como respaldo en caso de que el propietario decida eliminarlo?

Si.

¿Se considera que es una situación peligrosa o cómo se maneja generalmente para proyectos de código abierto?

Sí, es una situación peligrosa dependiendo de la popularidad / distribución / espejos del repositorio dependiente y de lo importante que sea su repositorio para usted. Si es importante para otros, ellos (con suerte) ya tienen una copia de seguridad tanto de su repositorio como del repositorio de depósito.

Tenga en cuenta que puede bifurcarlo en GitHub a su cuenta y no clonarlo en su SSD para no ocupar espacio. Además, tenga en cuenta que esa opción de copia de seguridad no depende de que pase nada en los servidores de GitHub o de que su cuenta no se vea comprometida; solo usted puede determinar el grado de redundancia adecuado.

Considere la cantidad de código en el que confía, su popularidad, la dificultad de reproducirlo y el costo de almacenarlo de manera confiable. Después de considerar esa evaluación de riesgos, haga una copia de seguridad en consecuencia.


Dado que el costo parece ser un factor en su situación dado que no desea gastar más en un SSD más grande, aquí hay una lista de opciones de respaldo baratas:

  1. Obviamente, bifurca en GitHub ya que es completamente gratis. GitHub utilizará la deduplicación, por lo que el costo es extremadamente mínimo para ellos.
  2. Localmente (gratis), viejos discos duros giratorios o unidades flash USB. También es posible que ya esté pagando por la copia de seguridad gratuita en la nube a través de su ISP o proveedor de telefonía celular.
  3. De forma remota (gratuita), muchas opciones de copia de seguridad en la nube gratuitas o pregúntale a un amigo
  4. De forma remota ($), compre un plan Usenet por GB y cárguelo en Usenet (~ 25GB por $ 10 USD)
Adán
fuente