Здесь я нахожусь в круговой ловушке ... Мы строим на выделенном сервере, поэтому, когда мы выполняем извлечение и сборку, я хочу обновить информацию о версии в проектах, чтобы показать такую версию, чтобы последняя цифра была «ревизией». число при этом текущем притяжении для подрывной деятельности.
Но если сценарий обновляет этот файл, значит, он не актуален. Так что мне нужно повторно зафиксировать этот файл, или объединить его при следующем запросе, или ...? Затем номер версии увеличивается.
Я решил это в программе на C ++, поместив фактические номера ревизий в файл, который НЕ находился под контролем SVN. Теперь сценарий может «обновить svn», записать номер ревизии, изменить локальный файл и выполнить сборку. Однако это создает зависимость от файла, который не находится под контролем SVN.
Кроме того, есть проекты, в которых кажется, что я не могу перенести номер версии в отдельный файл и оставить этот файл вне контроля SVN.
Что мне действительно хотелось бы видеть, так это тег "eyecatcher", который SVN будет обновлять при фиксации svn (или обновлении svn). Что-то вроде: {! SVN_REV} Итак, мой файл сборки C # может выглядеть так:
[assembly: AssemblyFileVersion("1.1.0.{!SVN_REV}")]
Другие системы контроля версий поддерживают такую возможность. Есть ли в Subversion способ сделать это?
Спасибо за любой совет. Скотти