Estou trabalhando em um módulo de sincronização de conteúdo para o Drupal. Existe um módulo de servidor, que fica em um site e expõe o conteúdo por meio de um serviço da web. Há também um módulo cliente, que fica em um site diferente e busca e importa o conteúdo em intervalos regulares.
O servidor é criado no Drupal 6. O cliente é criado no Drupal 7. Será necessária uma versão do Druapl 7 do servidor. E haverá a necessidade de uma versão Drupal 8 do cliente e do servidor, uma vez lançada no próximo ano.
Eu sou bastante novo no git e no controle de código-fonte, então fiquei pensando qual é a melhor maneira de configurar os repositórios git? Seria o caso de ter um repositório separado para cada instância, ou seja:
Drupal 6 server = 1 repository
Drupal 6 client = 1 repository
Drupal 7 server = 1 repository
Drupal 7 client = 1 repository
etc
Ou faria mais sentido ter um repositório para o servidor e outro para o cliente, em seguida, criar ramificações para cada versão do Drupal?
Atualmente, tenho 2 repositórios - um para o cliente e outro para o servidor.
fonte
Eu já vi e trabalhei com essas variações. Tudo em uma pasta com subpastas para servidor e cliente ou um repositório cada. Eu prefiro o repositório único para todas as partes principais do projeto.
No caso de grandes mudanças de versão, eu simplesmente criaria novos repositórios também. Definitivamente não tem ramos diferentes para eles. Embora as ramificações sejam poderosas para a implementação de novas funcionalidades e talvez uma ramificação de implantação permanente, eu sempre evito que muitas delas sejam executadas paralelamente por um longo tempo. Você sempre terá que atualizá-las (faça novas refazidas quando a ramificação principal for alterada etc.), portanto, mantenha a estrutura básica o mais simples possível. Ter um repo extra é (na minha humilde opinião) menos doloroso do que fazer malabarismos com ramos em diferentes estados. Especialmente se cliente e servidor não compartilharem muito código.
Não sei muito sobre o Drupal e quão fortes são as diferenças entre as versões. Portanto, meu argumento de preferir diferentes repositórios se baseia mais na minha experiência no Rails. Entre as versões, às vezes há grandes diferenças em coisas como a forma como os arquivos são nomeados ou a estrutura da pasta (por exemplo, pipeline de ativos), o que torna mais confortável a criação de um novo repositório. Drupal (ou qualquer outra estrutura) pode ter menos diferenças, então tudo bem continuar no repositório existente.
fonte