Как я могу получить обновленный $ Revision $ в моем коде - PullRequest
2 голосов
/ 07 марта 2009

У меня есть проект, в который я хотел бы автоматически вставить номер ревизии.

В данном случае это многофайловый Perl-скрипт. В основном файле у меня есть строка, которая выглядит так:

my $ revision = '$ Revision: 24 $';

Когда я делаю релиз, я извлекаю проект в мой каталог релизов.

Номер ревизии меняется каждый раз, когда я регистрирую изменение на ЭТО ФАЙЛ. Атрибут $ Revision $ обновляется при регистрации, но не при регистрации.

Дело в том, что основной файл меняется не так часто, поэтому, несмотря на то, что остальные файлы в проекте теперь имеют значение 27, у основного по-прежнему 24.

Есть ли способ, которым я могу получить основной файл, чтобы отразить последнее число оборотов? Тот, который svn распечатывает в конце оформления заказа, то есть «Проверено редакцией 27».

Ответы [ 2 ]

2 голосов
/ 07 марта 2009

Это похоже на CVS, вы можете использовать $ Revision $, вам просто нужно установить ключевое слово для этого файла, чтобы SVN знал, что он должен заменить ключевое слово.

Из руководства:

"Если для этого файла не установлено свойство svn: Keywords, Subversion не будет делать ничего особенного. Теперь давайте включим подстановку ключевого слова LastChangedDate. $ svn propset svn: ключевые слова "Date Author" weather.txt свойство 'svn: ключевые слова' установлено на 'weather.txt' $ «

http://svnbook.red -bean.com / ен / 1.5 / СВН-book.pdf

1 голос
/ 07 марта 2009
if (! -e '.version')
{
    open VERSION, '>.version';
    print VERSION `svnversion -n | cut -f1 -d:`;
    close VERSION;
}

my $revision = '$Revision: ' . `cat .version` . ' $';

( Примечание: щенок умрет, если использовать этот код как есть)

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