Я работаю над модулем синхронизации контента для Drupal. Существует серверный модуль, который находится на веб-сайте и предоставляет контент через веб-сервис. Существует также клиентский модуль, который находится на другом сайте, а также извлекает и импортирует контент через равные промежутки времени.
Сервер создан на Drupal 6. Клиент создан на Drupal 7. Будет необходимость в версии сервера Druapl 7. И тогда будет необходимость в версии Drupal 8 как для клиента, так и для сервера, когда она будет выпущена в следующем году.
Я довольно новичок в git и управлении исходным кодом, поэтому мне было интересно, как лучше настроить репозитории git? Будет ли это иметь отдельный репозиторий для каждого экземпляра, то есть:
Drupal 6 server = 1 repository
Drupal 6 client = 1 repository
Drupal 7 server = 1 repository
Drupal 7 client = 1 repository
etc
Или более разумно иметь один репозиторий для сервера, а другой для клиента, а затем создавать ветки для каждой версии Drupal?
В настоящее время у меня есть 2 хранилища - одно для клиента и другое для сервера.
источник
Я видел и работал с такими вариациями. Все в одной папке с подпапками для сервера и клиента или по одному репо. Я предпочитаю один репо для каждой основной части проекта.
В случае больших изменений я бы просто создал новые репозитории. Определенно нет разных веток для них. Хотя ветки являются мощными для реализации новых функциональных возможностей и, возможно, одной постоянной ветки развертывания, я всегда избегаю слишком большого количества параллельных операций в течение длительного времени. Вы всегда должны будете поддерживать их (делать ребазировки, когда основная ветвь изменилась и т. Д.), Поэтому сохраняйте базовое структурирование как можно более простым. Наличие дополнительного репо (по моему скромному мнению) менее болезненно, чем жонглирование веток в разных штатах. Особенно, если клиент и сервер не разделяют много кода.
Я не знаю много о Drupal и насколько сильны различия между версиями. Поэтому я предпочитаю разные репо, основываясь больше на моем опыте работы с Rails. Между версиями иногда существуют большие различия в таких вещах, как имена файлов или структура папок (например, конвейер активов), что делает создание нового репо более удобным. У Drupal (или любого другого фреймворка) может быть меньше различий, тогда было бы хорошо просто продолжить в существующем репо.
источник