Структура репозитория при наличии двух «конфигов» одного и того же базового репо? - PullRequest
1 голос
/ 13 июня 2009

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

Setup;

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

1 голос
/ 13 июня 2009

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

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

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

...