Структура репозитория при наличии двух "конфигов" одного и того же базового репо?

Так что у меня есть небольшая структурная проблема с моими репозиториями. Я надеюсь, что вы, ребята, можете дать мне несколько советов о том, как идти вперед с этим.

Настроить;

У меня есть один большой веб-проект с несколькими решениями с открытым исходным кодом. У меня есть все это в хранилище 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 ответ

Решение

Многие системы контроля версий поддерживают идею ветвей, содержащих в основном идентичные файлы. Для вас может не быть проблем с размещением базовых файлов в одном разветвленном хранилище.

Вы также можете создавать ветки только для вещей конфигурации во втором репо. переключаться между ветками, прежде чем применять свои исправления.

Другой подход, если у вас есть какой-либо процесс сборки или извлечения, проверьте две ветви (или два репозитория) вещи конфигурации для разделения каталогов, а затем скопируйте правильную ветку в нужное место во время вашей сборки.

Другие вопросы по тегам