Как использовать ключевое слово глобального номера ревизии с TortoiseSVN? - PullRequest
5 голосов
/ 07 мая 2009

В CVS вы можете использовать ключевые слова в вашем коде, которые раскрываются при проверке файлов. Я хотел бы отобразить глобальную ревизию как CVS с ключевым словом $GlobalRev$.

Subversion имеет команду $Rev$, но она показывает только последнюю версию, в которой был изменен файл. Я знаю, что есть команда svnversion, которая на данный момент не имеет документации, которая когда-либо существовала в 1.5 и 1.6 ночью .

Мне интересно узнать, как это сделать с помощью TortoiseSVN.

Ответы [ 4 ]

3 голосов
/ 07 мая 2009

svnversion по-прежнему доступен, и задокументировано в 1.5

svnversion это программа для Подводя итоги пересмотра смеси рабочая копия. Результирующая ревизия номер или диапазон редакции записывается на стандартный вывод.

Используйте это, чтобы получить ревизию вашей рабочей копии после того, как вы ее проверили, документация для KeywordExpansion описывает, как она предназначена для использования.

3 голосов
/ 07 мая 2009

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

Вместо этого я использую TortoiseSVN SubWCRev.exe, чтобы превратить файл шаблона, содержащий строку $WCREV$, в файл с текущим номером редакции.

2 голосов
/ 10 июня 2009

Мои 2 цента:

В настоящее время я работаю над веб-приложением Java. У нас есть сервер сборки ( Hudson ), который не имеет доступ к исполняемому файлу subversion командной строки; вместо этого он поставляется с библиотекой Subversion для чистой Java, чтобы иметь возможность получить доступ к репо перед извлечением источников для создания приложения.

Теперь нам нужно, чтобы процесс сборки включал глобальный номер редакции на домашней странице приложения (почти так же, как это делает StackOverflow, если вы посмотрите в правый нижний угол экрана).

К сожалению, между Subversion и Ant нет хороших интеграций. Лучший из них, SVNAnt , больше ориентирован на использование командной строки svn.exe и дал нам немало проблем с запуском.

В итоге мне потребовалось два часа, чтобы использовать SVNKit , который представляет собой чисто Java-библиотеку для доступа к Subversion, чтобы настроить наш скрипт сборки для просмотра номера ревизии и вставить его в наши файлы .

Лично я не вижу, что такого сложного в создании переменной, скажем, $GlobalRev$, которую вы вставляете в каждый файл, так же, как вы делаете с $Id$ или $Rev$

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

Я понимаю вышеупомянутое замечание. но кажется, что globalrev может быть полезен в одном случае ...

когда вы хотите, чтобы во всех запущенных исполняемых файлах была версия последней сборки.

для примера: если вы поместите в файл versionning.ppriety один файл с названием приложения, вы можете добавить номер версии.

поэтому, когда тестер или пользователь замечают проблемы, они могут сравнить число с выпуском, чтобы не видеть, есть ли функциональность. эта переменная $ GlobalRev $ будет использоваться в небольшом контексте, но может быть полезной.

Привет

...