Структура репозитория при наличии двух "конфигов" одного и того же базового репо?
Так что у меня есть небольшая структурная проблема с моими репозиториями. Я надеюсь, что вы, ребята, можете дать мне несколько советов о том, как идти вперед с этим.
Настроить;
У меня есть один большой веб-проект с несколькими решениями с открытым исходным кодом. У меня есть все это в хранилище Bazaar.
Проблема;
Сейчас я хочу два или более "конфигов" этого сайта, то есть база данных и css / templates должны отличаться. Как мне правильно это разветвлять? Мне не нужен мой "базовый веб-проект" в двух или более репозиториях.
Поместить другую базу данных конфигурации в другое хранилище - это нормально, но проблема возникает, когда я перемещаю.css из базового хранилища.
Быстрый поиск ".css" находит около 200 файлов. Я мог бы это исправить, но тогда у меня будет ад интеграции, когда я буду обновлять каталоги с открытым исходным кодом.
Идея;
Моя текущая идея состоит в том, чтобы иметь одно базовое репо без файлов css и другое config-репо с базой данных для базового репо и всех 200 файлов.css.
Это прекрасно работает, когда я хочу оформить заказ на сайте и настроить его, две проверки в одном каталоге. Должно работать, верно?
Но как мне решить эту проблему, когда я работаю на сайте (то есть base+config) локально? имея две ветки в одном каталоге? Я предвижу, что выпускать исправления ошибок будет больно... если их даже поддерживать (?)
Как может выглядеть моя структура идей;
//base repo
<base site repo>
-<admin>
-index.php
-<user>
-index.php
...
-<component>
-<helper_v1.43>
-index.php
//config 1 repo
<config1-repo>
-<database>
-<component>
-<helper_v1.43>
-<template>
-main.css
-<admin>
-admin.css
...
-<user>
-<timemodule>
-<template>
-time.css
Эта проблема должна быть решена несколько раз за последнее десятилетие. Но, тем не менее, я довольно растерян, поэтому любые указания будут оценены.
1 ответ
Многие системы контроля версий поддерживают идею ветвей, содержащих в основном идентичные файлы. Для вас может не быть проблем с размещением базовых файлов в одном разветвленном хранилище.
Вы также можете создавать ветки только для вещей конфигурации во втором репо. переключаться между ветками, прежде чем применять свои исправления.
Другой подход, если у вас есть какой-либо процесс сборки или извлечения, проверьте две ветви (или два репозитория) вещи конфигурации для разделения каталогов, а затем скопируйте правильную ветку в нужное место во время вашей сборки.