Как использовать ключевое слово глобального номера ревизии с TortoiseSVN?

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

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

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

4 ответа

Решение

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

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

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

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

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

Мои 2 цента:

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

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

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

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

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

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

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

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

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

С уважением

Другие вопросы по тегам