2010-10-06 3 views
1

ОбзорОбновление нескольких проектов с использованием SVN: внешние

Я использую VisualSVN в Visual Studio, VisualSVN сервер на Windows, и, конечно же, TortoiseSVN. Я хотел знать, что лучший способ совместного использования нескольких проектов над несколькими решениями был, и если бы был лучший метод.

Layout

Мой Repository вид выглядит следующим образом (а не их настоящие имена):

Library.Common 
Library.Web 
Library.DB 
Library.CMS 
Customer1.Site 
Customer2.Site 

Процесс

Чтобы создать новый сайт, который содержит общие проекты:

  1. Создать репозиторий в SVN-сервере, например. «Customer3.Site»

  2. Создание веб-сайта с использованием Visual Studio 2008 под названием «Customer3.Site», VisualSVN, используемого для передачи в репозиторий, созданный на этапе (1).

  3. Редактировать свойства Customer3.Site и указать необходимые проекты как svn: externals, например. «Library.Common», «Library.DB» и т. Д.

  4. Выполните обновление, чтобы получить эти внешние проекты и добавить их в мое решение в Visual Studio, добавьте необходимые ссылки на клиентский веб-проект Customer3.Site и ударил сборку.

Пока все хорошо.

Проблема

Все это работает отлично, я рад, что, если я должен изменить любого из основных проектов библиотеки, я могу сделать это прямо в той же среде и зафиксировать их в хранилище. По мере того как все больше и больше сайтов клиентов будут построены, я должен буду следить за тем, что я сделал, и помнить о SVN Update и перестраивать те сайты, которые кажутся довольно многолетней задачей.

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

ответ

0

У меня возникла аналогичная проблема ... Я устанавливаю базовый пакет установки для WordPress, что-то, что мы будем использовать, чтобы быстро получить настройку сайта, в нем содержится ядро ​​wordpress + набор базовых плагинов, как сторонние, так и пользовательские, которые мы создали. Все в значительной степени связано с SVN.

Различные плагины имеют разные версии/теги, а для установки внешнего svn, указывающего на конкретную маркированную версию для проекта, будет кошмар ... только тогда нужно идти в каждый проект и выполнять настройку свойств, а затем обновление.

Что будет реализовано - это ветка поставщика с определенными версиями по мере необходимости. Все, что мне нужно сделать, это обновить клиентские сайты, так как они всегда будут указывать на последние версии (под моим контролем в ветвях поставщиков).

Что касается вашей проблемы, а также в моем случае: я бы, вероятно, написал сценарий фиксации для автоматического обновления всех проектов, когда что-то в ветке поставщика обновлено.

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