Создание версий номеров с помощью TortoiseSVN - PullRequest
1 голос
/ 17 июля 2009

Несколько дубликатов: https://stackoverflow.com/search?q=svnversion


Я использую TortoiseSVN со службой SVN, работающей как служба на сервере Windows.

Я бы хотел, чтобы номер версии / сборки в проекте обновлялся по мере или после принятия проекта. Так что правильная версия / сборка проекта будет отражена в нескольких местах, таких как файлы журнала, таблицы ресурсов, Справка> О программе и т. Д.

Спасибо ...

Ответы [ 3 ]

1 голос
/ 17 июля 2009

Вы можете использовать тег Revision.

Выберите один файл, который будет содержать некоторую переменную / константу с номером ревизии. Добавьте в этот файл свойство SVN svn: Keywords со значением Revision (в файле указано RMB, TortoiseSVN-> Properties-> New, в качестве имени указано svn: Keywords, а в качестве значения - Revision). Теперь внутри этого файла каждое вхождение тега $ Revision $ будет заменено, например, на $ Revision: 7 $. К сожалению, это будет только версия этого файла, поэтому его нужно «трогать» каждый раз, когда увеличивается число сборок.

Вы можете найти больше ключевых слов, работающих таким образом в SVN Book

0 голосов
/ 17 июля 2009

Интегрируйте что-то в ваш процесс сборки, который записывает текущую версию SVN в исходный файл (например, revision.h, который содержит только «const int revision = xxx;»), который не находится под контролем версии (svn: ignore), и включает это в сборке.

Вот очень простой фрагмент, чтобы понять:

echo "const int revision = `svn info | grep Revision | cut -d":" -f 2`;" > revision.h
0 голосов
/ 17 июля 2009

Вы можете сделать это в скрипте сборки и других местах прямо перед тем, как создавать EXE-файлы, устанавливать файлы и т. Д. -

Чтобы добавить его в информацию о моих ресурсах / версии, я создал файл шаблона для моего rc-файла, использовал подстановку макросов, а затем добавил вызов SubWCRev на этапе предварительной сборки проекта моего EXE-файла.

См. это

SubWCRev - инструмент, который вы можете использовать для этого.

$ WCREV $ - это макрос, который заменяется текущей версией SVN.

Каждый файл шаблона находится в репозитории SVN, но фактические файлы, которые компилируются / интерпретируются, генерируются из них. Поэтому непосредственно перед созданием каждого сгенерированного вывода (exe, установщик, заметки о выпуске и т. Д.) Вы должны запустить инструмент subwcrev и заменить макросы.

...