Estoy trabajando en un módulo de sincronización de contenido para Drupal. Hay un módulo de servidor, que se encuentra en un sitio web y expone el contenido a través de un servicio web. También hay un módulo de cliente, que se encuentra en un sitio diferente y recupera e importa el contenido a intervalos regulares.
El servidor se crea en Drupal 6. El cliente se crea en Drupal 7. Será necesario contar con una versión de Druapl 7 del servidor. Y luego será necesaria una versión Drupal 8 tanto del cliente como del servidor una vez que se lance el próximo año.
Soy bastante nuevo en git y control de fuente, así que me preguntaba cuál es la mejor manera de configurar los repositorios de git. ¿Sería el caso de tener un repositorio separado para cada instancia, es decir:
Drupal 6 server = 1 repository
Drupal 6 client = 1 repository
Drupal 7 server = 1 repository
Drupal 7 client = 1 repository
etc
¿O tendría más sentido tener un repositorio para el servidor y otro para el cliente y luego crear ramas para cada versión de Drupal?
Actualmente tengo 2 repositorios, uno para el cliente y otro para el servidor.
fuente
He visto y trabajado con tales variaciones. Todo en una carpeta con subcarpetas para servidor y cliente o un repositorio cada uno. Prefiero el repositorio individual para cada parte principal del proyecto.
En caso de grandes cambios de versión, simplemente crearía nuevos repositorios también. Definitivamente no tienen diferentes ramas para ellos. Si bien las ramas son potentes para la implementación de nuevas funciones y tal vez una rama de implementación permanente, siempre evito que muchas de ellas se ejecuten en paralelo durante mucho tiempo. Siempre tendrá que mantenerlos (hacer rebases cuando la rama maestra cambió, etc.), por lo que debe mantener la estructuración básica lo más simple posible. Tener un repositorio adicional es (en mi humilde opinión) menos doloroso que hacer malabares con las ramas en diferentes estados. Especialmente si el cliente y el servidor no comparten mucho código.
No sé mucho sobre Drupal y cuán fuertes son las diferencias entre las versiones. Entonces, mi punto de preferir repositorios diferentes se basa más en mi experiencia con Rails. Entre versiones, a veces hay grandes diferencias en cosas como la forma en que se nombran los archivos o la estructura de la carpeta (por ejemplo, la canalización de activos) lo que hace que sea más cómodo crear un nuevo repositorio. Drupal (o cualquier otro marco) puede tener menos diferencias, entonces estaría bien continuar dentro del repositorio existente.
fuente