При использовании пакета или фреймворка существует ли стандартный способ управления версиями? - PullRequest
0 голосов
/ 30 марта 2010

т.е. Вы помещаете весь пакет под VCS или только компоненты, которые вы программируете? Пакеты по своей природе будут обновлены, и этот код необходимо будет добавить в VCS, плюс много статического кода.

В частности, я собираюсь работать над Joomla, добавляя и собирая модули, настраивая модули и внешний вид. Первоначально это будет только я, но по мере развития проекта он расширится до еще двух разработчиков. Моя реакция будет просто на VCS, это означает, что я знаю, что все это есть, и развертывание через CI проще (?).

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

Поскольку нет конкретного ответа на этот вопрос, и я ищу либо опыт, либо совет по передовой практике, я отметил это вики сообщества.

1 Ответ

1 голос
/ 30 марта 2010

Я обычно делаю одно из двух (я использую SVN):

  • Поместите версию выпуска (без метаданных SCM) библиотеки / фреймворка в отдельную папку в моем репозитории SVN. Таким образом, я знаю, что код стабилен, и если что-то перестает работать, это происходит не из-за изменений в фреймворке, а из-за моей собственной ошибки (и я могу легко исправить ее).
  • Используйте svn:externals для автоматического обновления из официального SVN библиотеки / фреймворка. Это менее безопасно, но иногда полезно, особенно если вы являетесь участником библиотеки / фреймворка и можете исправить ошибки, которые могут возникнуть самостоятельно.

Если вы используете SVN и хотите использовать внешние устройства, сделайте следующее:

svn propset svn:externals "foldername http://libdomain.com/svn/trunk" libs

... где libs - это папка вашей библиотеки (для которой будет установлено это свойство SVN), а foldername - это имя подпапки, в которую должна быть помещена эта конкретная библиотека.

...