Tenemos algunos módulos donde hemos hecho esto y lo que esencialmente hicimos es:
- Configure un repositorio Git para el módulo.
- Implemente este módulo en la base de código del sitio de producción y confirme todo, incluyendo:
- enlaces blandos creados por modman
- el directorio .modman que alberga el repositorio de módulos clonados
- Use modman para "desplegarlo" en otras versiones y / o entorno de desarrollo para desarrollo y pruebas.
Hacerlo de esta manera le brinda la flexibilidad que necesita para el desarrollo del módulo, también versiones del código en el sitio único, y si realiza cambios en el módulo en la base de código de sitio único, puede enviarlos directamente al repositorio del módulo desde El repositorio está allí en el directorio .modman.
ACTUALIZACIÓN:
Cuando originalmente escribí esto, no pude tener en cuenta en mi respuesta que Git no permite que los (sub) módulos se comprometan a un repositorio, en cuyo caso "comprometer todo" ¡necesita algo de elaboración!
Por cierto, esto se debe a que lo he hecho más a menudo usando modman para implementar módulos alojados en repositorios de Git en una base de código de producción alojada por SVN ... y Subversion no tiene escrúpulos que eviten que se comprometa todo el árbol de Git al VCS.
Así que aquí va ...
Si está utilizando SVN para alojar el código del sitio de producción, no debería tener problemas ya que Subversion no tiene (prácticamente) ningún concepto de submódulos. No le importará
Si está utilizando Git para el código del sitio de producción, deberá usar submódulos para "confirmar todo" en el repositorio de código del sitio. Después de usar modman para clonar algo como esto:
modman clone ssh://git@bitbucket.org/<user>/<repo>.git
También querrás agregarlo como un submódulo así:
git submodule add ssh://git@bitbucket.org/<user>/<repo>.git .modman/<repo>
Una vez que haya hecho esto, debería poder agregar el directorio .modman y el archivo .gitmodules al índice y confirmarlo.
Después de clonar el repositorio que utiliza estos módulos instalados a través de modman, simplemente inicie los submódulos y actualice:
git submodule init
git submodule update
PD: Ahora uso Git a tiempo completo en todos los proyectos nuevos, así que espero que este descuido no vuelva a ocurrir. Lo siento chicos. ;)