Estamos migrando a git. Tenemos una gran cantidad de módulos que componen nuestros productos, algunos de ellos se comparten entre productos. El producto está representado por un repositorio super "fina" (SSH: //server/product.git) que sólo contiene submódulos:Cómo trabajar con submódulos y estrategias git repositorio git
[submodule "module1"]
path=module1
url=ssh://server/product/module1.git
[submodule "module2"]
path=module2
url=ssh://server/product/module2.git
...
que puede clonar el repositorio super y trabajar con los submódulos y se comprometan ellos, y luego comprometer los submódulos al super repositorio.
El problema surge cuando quiero presentar otro nivel. Hay dos escenarios básicos (esto puede combinan para hacer configuraciones más complejas, pero nada debe ser una combinación de estos):
Como desarrollador, me clonar un repositorio central y el trabajo. Luego, deseo enviar mi código a nuestro servidor de integración continua antes de fusionar mis cambios en el repositorio central. Dejé que el servidor de IC clonara mi repositorio. Esto no funciona, el servidor de CI clonará mi superrepo y luego clonará los submódulos desde la ubicación central del repositorio (ya que eso es lo que dice en .gitmodules).
Como equipo queremos tener un repositorio de integración que trabajamos para antes de que, al final de una carrera de velocidad, se funden nuestro código al repositorio central. Esto falla, por la misma razón.
he intentado especificar las direcciones URL relativas para los submódulos, pero esto no funciona, tampoco, ya que cuando clonar el segundo nivel en el tercer nivel de las direcciones URL relativas se resuelven con respecto a la ubicación del depósito de segundo nivel, pero la las ubicaciones de los submódulos de segundo nivel están dentro del super repositorio de segundo nivel.
¿Puedo tener ambos? Submódulos Git y estructura de repositorio n-tier?
Ver la solución aquí: http://stackoverflow.com/questions/6031494/git-submodules-and-ssh-access – Cybot