2014-10-13 3 views
0

У меня есть сайт, который мне нужно развернуть примерно для 30 клиентов. Они все те же, что и брендинг. Используя SVN, я хотел бы иметь одну базовую версию продукта, а затем только разный брендовый контент (изображения, CSS) для каждого клиента. Таким образом, когда я поддерживаю базовый продукт, мне не нужно копировать это изменение для каждого клиента. Развертывание было бы просто обновлением и выпуском.Использование SVN для общей кодовой базы с настраиваемым контентом

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

  • Главная
    • Base
      • .
      • .
      • Изображения
  • Клиент 1

    • Base
    • Пользовательские
      • Изображения
  • Клиент 2

    • Base
    • Пользовательские
      • Изображения

, а затем используя внешние ссылки, указывающие папки базы данных клиентов в основную папку. Это работает, но мне тогда необходимо перезаписать (например) изображения в папке Customer 1 \ Base \ Images с конкретными клиентами, и когда я настраиваю внешние ресурсы для этого, он жалуется, что «Клиент 1 \ Base \ Images не корень рабочей копии ". Кажется, что оно переписало изображение с клиентом.

Возможно, внешние ответы не являются ответом.

+0

Реальное дерево вашего хранилища и выход 'svn pl -v' будет лучше для понимания ваших проблем –

+0

Брендинг в вашем случае - * добавление или замена * основных ресурсов? –

ответ

0

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

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

./Customer_1 
./Customer_1/trunk 
./Customer_1/tags 
./Customer_1/branches 
./Customer_2 
./Customer_2/trunk 
./Customer_2/tags 
./Customer_2/branches 
... 

С помощью этого разделения, легко управлять номером версии вашего основного приложения. И у вас есть «маленький» репозиторий для каждого клиента с возможностью легко скопировать версию дизайна, чтобы начать еще одну на svn copy.

Смежные вопросы