Incluir la utilidad de repositorio en el principal repositorio del proyecto y permitir la personalización

StackOverflow https://stackoverflow.com/questions/9310675

Pregunta

Estoy trabajando en mejorar el código fuente de la redundancia en algunos proyectos y me enfrento con un problema.

Digamos que tengo algunas de las utilidades que uso acros más proyectos.Ejemplo:construir secuencias de comandos y secuencias de comandos de prueba de que son lo suficientemente genérica como para ser utilizado en todos los proyectos, pero también tiene algunos archivos de configuración, que puede ser personalizado para cada proyecto.

Me gustaría mantener a la acumulación de la lógica de secuencias de comandos en un solo lugar (corrigiendo errores y añadiendo mejoras) y obtener los cambios fáciles en todos los proyectos que utilizan, pero también sin romper los archivos de configuración.

Sé que yo no puedo hacer esto con submódulos de git como el archivo de configuración necesitaría pe entregado a la utilidad repositorio del proyecto uno.

También he estado mirando por encima de git-subárbol, pero no estoy seguro de que está haciendo lo que yo quiero.

¿Alguien entrar en esto antes?

¿Fue útil?

Solución

Sé que yo no puedo hacer esto con submódulos de git como el archivo de configuración tendría que estar comprometido con la utilidad de repositorio del proyecto uno.

Usted realmente podría usar submódulos, si cada uno de sus proyectos era un repositorio de git en su propio.
A continuación, cada proyecto (repositorio padre) haría referencia a un determinado confirmación de una rama específica de la utilidad de repositorio, cada rama con esas utilidades a medida para cada proyecto.

Sin embargo, para bien de enlace conjunto de archivos (utilidades por un lado,los proyectos de uno de los otros), lo mejor es mantener todo en un solo repositorio y el uso de una controlador de filtro de contenido:

content filter driver

Usted tendría:

  • el genérico de utilidades versionada como plantilla (es decir, sin sus valores)
  • el valor de los archivos (uno por cada proyecto)
  • un versionado de secuencia de comandos de poder, de pago en la 'smudge'script para generar el final de las utilidades en cada proyecto (siempre que su guión es capaz de detectar el contenido de la plantilla de utilidades).
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top