SVN: Лучший способ совместно использовать общий код через проекты

Первое изображение принадлежит MKMarkerAnnotationView. Поэтому попросите об этом вместо MKPinAnnotationView.

8
задан Dana the Sane 21 March 2009 в 17:41
поделиться

8 ответов

Одна опция состояла бы в том, чтобы выделить биты WordPress в отдельный репозиторий (так как это не действительно часть Ваших проектов, это - просто что-то, что Вы используете для создания их), и затем используйте svn:externals для выборки этого в проекты в корректных местоположениях.

Определения внешнего облика в книге SVN

16
ответ дан 5 December 2019 в 05:34
поделиться

Вы могли добавить svn:external определение, указывающее на репозиторий WordPress, или сделать Ваш собственный отдельный "специализированный Репозиторий WordPress" с плагинами и настройками, которые Вы используете.

3
ответ дан 5 December 2019 в 05:34
поделиться

Если Вы уже размещаете все сайты вместе в одном репозитории, svn:externals может использоваться для сплачивания различных частей того же репозитория различными способами.

Например, с репозиторием как

repo/site1
repo/site2
repo/commonPieces

Можно представить "svn:externals" свойство на site1 и site2 директорах, который говорит "commonPieces url-to-repo/commonPieces".

Вы захотите избежать любых циклов рекурсии здесь, очевидно. Но это имеет преимущество, что все находится в том же репозитории и может совместно использовать историю - можно вытянуть вещи, которые больше распространены от site1 или site2 в commonPieces, использующий "svn копия".

Сравните наше текущее решение, где я работаю - перемещающий материал от нашего распадающийся репозитории, проекта в единственный также отдельный "coreLibraries" репозиторий теряет историю разработки. Так как мы обычно разрабатываем функции одного проекта и затем решаем снова использовать их, эта потеря истории происходит много...


Править: стоит помнить, что, в то время как "svn обновление" на site1 автоматически обновит commonPieces с этим "svn:externals" свойством на месте, "svn фиксация" на site1, не покажет вещи, которые изменились в site1/commonPieces. Необходимо будет сделать две отдельных фиксации, один от site1 и один от site1/commonPieces.

7
ответ дан 5 December 2019 в 05:34
поделиться

Это часто происходит меня снова использующий те же библиотеки классов для различных проектов, и в моем случае я предпочитаю иметь отдельное - замороженный - копируют для каждого проекта. Так как единственная причина - это, я не хочу повреждать проекты, я не продолжил работать некоторое время в случае, если одна из библиотек outdates она. Однако, если каждый проект является частью вида основного проекта, Вы постоянно продолжаете работать, это отличается.

2
ответ дан 5 December 2019 в 05:34
поделиться

Традиционно все должно быть разделено на SVN. Это кажется, что Вы используете SVN в качестве средства захватить код из различных областей и сшить их вместе.

Таким образом, Вы используете SVN в качестве инструмента сборки. Лучше:

  • разделите свои плагины
  • не храните сам Wordpress в SVN, если Вы не используете ответвление поставщика
  • когда необходимо захватить определенное приложение с определенными компонентами, работать со сценарием сборки.
0
ответ дан 5 December 2019 в 05:34
поделиться

Возможно, я просто использую Подверсию неправильный путь, но наша структура папок похожа на следующее

Соединительная линия - ядро - обменивающийся сообщениями - супер мощное приложение № 1 - супер мощное приложение № 2 - супер мощное приложение № 3

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

1
ответ дан 5 December 2019 в 05:34
поделиться

Лучший способ сделать это должно вытащить Wordpress в отдельное ответвление Вашего репозитория. Затем представьте файл конфигурации каждому из Ваших веб-сайтов, который хранит путь к Wordpress. Можно добавить это местоположение к php, включают путь. Вот схема:

Svn repo-v
         |-Websites--v
         |           |---One
         |           |---Two
         |-Wordpress-v
                     |---branch one
                     |---branch two

Это имеет несколько преимуществ:

  • Можно экспериментировать с несколькими версиями Wordpress сразу, чтобы сделать тестирование и этажерку. Можно совместно использовать их между всеми веб-сайтами
  • Вы не должны будете волновать, где Wordpress является выездом к. Включая библиотеку в рамках проекта часто грязно, но этот тип установки помогает поместить вещи в некоторое общее местоположение.
  • Вы не должны поддерживать несколько версий библиотеки, обновление намного легче.
1
ответ дан 5 December 2019 в 05:34
поделиться

Каков лучший подход и там какие-либо альтернативные решения?

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

К вашему сведению - перемещенный от SVN приблизительно 2 года назад из-за подобных проблем.

0
ответ дан 5 December 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: