SVN для продолжающих. Как управлять версиями релизов библиотек

Очень часто есть определенное количество файлов общих для разных проектов. В этом случае разработчики обычно оформляют их как библиотеки. Их удобно использовать с помошью SVN свойства svn::externals. Но тут есть одна тонкость.

Ссылаться на основную ветку разработки trunk не совсем правильно, т.к. в ней могут лежать не рабочие файлы. Значит надо делать релизы в tags.

Но использовать одну папку, например с именем release, в tags не совсем удобно. Т.к. теряется история релизов (сложно будет сказать где релиз 1.0, а где 1.1). Значит надо выкладывать релизы по разным папкам например release_1.0/release_1.1 и т.д.

Но в этом случае при каждом новом релизе общих файлов нужно будет поставить разработчиков, которые используют эти файлы, в известность, что бы они изменили ссылку svn::externals. Это очень не удобно и не прозрачно.

Как вариант более/менее красивого решения предлагается следующий подход. Текущий релиз оформляется в папку tags/last_release, при этом если это папка уже существовала, она предварительно переименовывается в папку release_XXX с соответствующим номером релиза. При этом этот номер легко извлекается с помошью show_log, естественно если разработчик не забыл написать комментарий. В этом случае с помошью простого svn_update разработчики, которые используют общие файлы, могут получить их последнюю рабочую версию.

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

New Year

шоб в новом году все было по новому

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Syntax highlight code surrounded by the {syntaxhighlighter SPEC}...{/syntaxhighlighter} tags, where SPEC is a Syntaxhighlighter options string or "class="OPTIONS" title="the title".
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <p> <span> <s> <strike> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <caption> <tbody> <tr> <td> <em> <b> <u> <i> <strong> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <embed> <object> <param> <strike>
  • Использовать как разделитель страниц.

Подробнее о форматировании