Встроенный номер версии SVN в экспортированном C-файле - PullRequest
0 голосов
/ 26 января 2012

У меня есть проект C / C ++, построенный на нескольких разных хостах Linux / Unix / AIX, поэтому возможность ссылаться на Build # невероятно полезна. У меня уже есть код для выполнения классического ключевого слова $ Rev $ SVN и его распечатки, когда мне это нужно, однако это число обновляется только тогда, когда я изменяю 1 содержащий его файл (который является одним из самых редко редактируемых файлов). во всем хранилище).

Обычно я 'svn экспортирую' свои репозитории и создаю tarball перед перемещением его на другой хост, поэтому svnversion не будет работать (просто возвращает 'exported', на нескольких машинах, где даже установлен SVN). Мне интересно, есть ли лучший способ получить это число вместо создания сценария 'svn export', который каким-то образом запустит svnversion и вставит его в мой источник.

Я использую CMake для своей системы сборки.

1 Ответ

1 голос
/ 26 января 2012
  1. Получить "этот" номер, где точно ?
  2. Какой "этот" rev-no?Последний коммит в дереве WC, главный пересмотр WC-репо
  3. Какая у вас ОС?

Обычно я "svn export" копирую свои репозитории и создаю tarball перед перемещениемэто на другой хост, так что svnversion

Должен вызываться внутри WC перед экспортом, очевидно,

И если у вас есть код в tarball, возможно, вы хотите иметь ревизию в имени файла, а не в файлах внутри архива, если для информации требуется глобальный идентификатор-идентификатор?

Как пользователь TSVN на базе Windows, я использую SubWCRev в своих скриптах сборки длячтобы получить и сохранить некоторую информацию о репозитории

  • Хук клиента после фиксации выполняет SubWCRev.exe <path> Builder.tpl Builder.bat ... call Builder.bat, где шаблон Builder содержит svn export ... z:\trunk$WCDATE=%Y%m%d$-r$WCREV$, а каждый макрос в шаблоне превращается в реальные данные в файле, обработанном subwcrev.
  • Мой include-шаблон, также имеющий конструкцию WCDATE, также предварительно обработанный с помощью subwcrev

Для Linux порт SubWCRev существует с той же функциональностью: SVNWCRev (не проверено) и приятно SvnRev (который активно развивается вопреки SVNWCRev) с некоторым расширением до SubWCRev | SVNWCRev

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...