Actualmente tenemos un sistema de compilación complejo e ineficiente que consta de muchos repositorios SVN y Git (aproximadamente 50% cada uno), incluido uno que es un repositorio de submódulos git. También tenemos guiones caseros que manejan más o menos bien todo.
Un punto importante de nuestra base de código (de código cerrado) es que está estrechamente acoplado, y cada proyecto se lanza al mismo tiempo bajo la misma versión.
Queremos migrar esto a un sistema más simple y un único VCS, y estamos considerando varias opciones, que incluyen: submódulos git, Google Repo y monorepos. El VCS final aún no está definido (a excepción de las opciones que lo obligan), y podría ser svn, git o incluso algo más si eso se ajustara mejor a nuestra situación.
Estamos tratando de enumerar el más y el menos de cada solución y uno de los principales problemas que tenemos actualmente con monorepos es que no parece fácil, ni siquiera posible compartir solo algunos módulos con una entidad externa. Queremos que esas personas puedan pagar y trabajar normalmente en esos módulos, pero que no puedan acceder al código o al historial del resto del repositorio. No es algo que hagamos a menudo o ampliamente en este momento, pero podríamos hacerlo en el futuro, y no queremos que esto se convierta en una pesadilla porque tomamos una mala decisión aquí.
¿Existe tal sistema de gestión de privilegios en un sistema VCS?
¿O hay alguna forma de mitigar este problema?
fuente
Respuestas:
Según su descripción, creo que tiene un par de opciones aquí:
Desafortunadamente, ninguna de estas opciones es perfecta, pero todas son válidas según el estado de su base de código. Su descripción parece que la opción 3 podría funcionar mejor aquí.
fuente