На разработку можно смотреть с двух сторон : со стороны конечного изделия и со стороны разработки составляющих программных модулей. Если в первом случае понятие релиз представляет собой прошивку для конечного изделия и тут вопросов обычно не возникает, то во втором случае все сложнее.
Программные модули обычно разрабатываются как небольшие проекты, при этом при разработке появляется некоторое количество файлов, которые для использования модуля как библиотечного не нужны. Действительно зачем разработчику, который использует модуль как есть, видеть в своем проекты файлы сборки модуля для тестирования или файлы/логи которые были для этого тестирования использованы.
Обычно релиз версии программного модуля делается для всего проекта целиком, а не отдельных его файлов. Но в этом случае файлы, которые нужны для использования модуля могут лежать в разных папках проекта и перемежаются с файлами которые не нужны. И разработчику для использования модуля нужно будет в ручную лазить по проекту и с помошью свойства svn::externals собирать модуль. Это не удобно и коряво. Как же быть?
Можно релизить только нужные файлы, но при этом во-первых вы потеряете синхронизацию с окружением этих файлов, а во-вторых при релизе файлов в репозитории на каждое копирование папки/файла будет обновляться номер ревизии репозитория.
Можно в проекте сделать папочку src_release куда ручками скопировать нужные файлы, но в этом случае вы потеряете SVN историю версий этих файлов.
В качестве оптимального решения проблемы предлагается следующее. В trunk проекта заводиться папочка src_release, куда с помошью команды svn_copy копируются файлы, нужные для использования модуля. И затем делается релиз в tags. Как только готов новый релиз, содержимое этой папки прибивается и делается svn_copy новых версий файлов.
Разработчикам, которые используют этот модуль, предоставляется ссылка svn::externals вида project/tags/last_release/src_release
SVN для продолжающих. Как делать релизы библиотек.
Новые записи в блогах
- Полезные ссылки на embedded-тематику
- Генератор спецификации из PCAD BOM ( альфатестирование )
- Jim Williams Linear Technology AN112 "Последние достижения в области измерения напряжения составных батарей"
- AVR NULLPTR
- Миро Самек. Построение простых систем на ARM-контроллерах с использованием инструментов GNU
- eSSL - SSL сертификаты для встраиваемых систем
- SVN для чайников. Часть III.
- Грибы. Хомяк - это не только несколько килограммов питательного мяса...
- AN3927 Freescale USB Mass Storage Device Bootloader Application Note Rev. 0, 11/2009
- Openembedded: Часть 2. Создание и использование SDK для ARM


Комментарии
ни**я не понял, о чем речь.
ни**я не понял, о чем речь. :(
Отправить комментарий