Включить номер сборки и SVN URL в релиз - PullRequest
3 голосов
/ 28 февраля 2011

Мы строим наш проект с использованием муравья.Я хочу включить текстовый файл, содержащий текущую версию SVN, в упакованный выпуск.Моя текущая идея - сделать svn info и передать его вывод в файл, который затем включается в выпуск.

Вы делали это раньше?Есть ли стандартный способ сделать это?

Ответы [ 3 ]

1 голос
/ 28 февраля 2011

Если на машине установлено TortoiseSVN , вы можете использовать команду SubWCRev .
SubWCRev может заменить части данного файла текущей версией SVN.

В моем проекте у меня есть файл шаблона (обратите внимание на строку $WCREV$) и bat-файл , который создает новый файл с заполненной ревизией.

1 голос
/ 28 февраля 2011

Существует инструмент, который называется

 svnversion

, который специально предназначен для этой цели.svnversion является частью клиента командной строки.Вопрос в том, какую систему сборки вы используете?

0 голосов
/ 28 февраля 2011

Я делаю это с помощью скрипта, который использует скрипт awk для генерации файла с именем _vni, который может быть включен. Сгенерированный файл явно не контролируется в SVN

Дорель

#!/bin/ksh
svn update
svn status
svn info | awk -f make-vers.awk

сделать-vers.awk

Это создает файл с форматированием HTML и использует цвет фона из массива cols для быстрой дифференциации выпусков. Если вы просто хотите, чтобы текстовый файл удалил весь HTML-ганк.

BEGIN{
cols[ci++] = "#3300FF";
cols[ci++] = "#B300FF";
}
/^Revision\:/{rev = $2}
/^Last Changed Author\:/{auth=$4}
/^Last Changed Date\:/{date=$4}


END{
    date = strftime("%d-%b-%Y")

    col = cols[rev%ci]
    vs = "<div id='vni'>\n";
    vs = vs "<p style='background-color: "col"'>BuildInfo: [PRODUCTNAME] V2.0 Product   ion: Release "
    vs = vs (rev)
    vs = vs " - " date
    vs = vs " ("auth") "
    vs = vs "</p>\n</div>"

    OF="vni"
    print vs >OF;
}
...