Проблема с получением номера ревизии из SVN для спецификации файла - PullRequest
0 голосов
/ 09 марта 2012

Я работаю над файлом спецификации, в котором я хочу использовать номер редакции репозитория SVN как часть номера версии.

Если я использую только:

%(svnversion -c %{sourcedir})

Тогда я получу PackageName-1-209: 299, где 299 - номер редакции.Поэтому я пытаюсь обрезать раздел «1-209», поскольку он постоянно присутствует и не меняется.

Строка, с которой у меня возникают проблемы:Я, кажется, выхожу из этого, но PackageName209: 299.

Любая помощь будет высоко ценится!

1 Ответ

1 голос
/ 10 марта 2012

Возможно, вам следует попробовать другое регулярное выражение:

%(svnversion -cn %{sourcedir} | sed -r 's/.+://')

Однако обратите внимание, что svnversion может также добавить несколько букв в конце (M, если есть локальные модификации, S - если это переключенная рабочая копия).Вам нужно проверить их - решать только вам.

PS

Существует более быстрый способ получить текущую версию (поскольку svnrevision запрашивает svn-сервер для сбора данных), описанную здесь :

grep revision .svn/entries |  awk -F\" '{print $2}'

Однако, это не будет работать для svn, начиная с версии 1.7.

...