Получить номер ревизии удаленного хранилища - PullRequest
9 голосов
/ 08 марта 2009

На локальном компьютере нет проблем получить номер ревизии хранилища Subversion с svnversion. Теперь я хочу получить номер редакции из своего онлайн-хранилища (WebDAV с Apache2).

Я пробовал это:

svnversion http://nick:password@www.myhost.de/svn/test`

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

Как я могу получить номер ревизии?

Ответы [ 5 ]

20 голосов
/ 08 марта 2009

svnversion только для рабочих копий, но один из способов запроса вашего хранилища - использовать svn info следующим образом:

svn info http://nick:password@www.myhost.de/svn | grep Revision
9 голосов
/ 18 апреля 2009

В Linux, если вы хотите просто номер ревизии:

svn info http://nick:password@www.myhost.de/svn/test | grep '^ Редакция:' | awk '{print $ 2}'

6 голосов
/ 08 марта 2009
svn info http://nick:password@www.myhost.de/svn/test

должен возвращать информацию об удаленном хранилище, включая Revision

5 голосов
/ 15 апреля 2016

В новой версии SVN (1.9) вы можете сделать:

svn info --show-item revision svn://...
18436 

Это должно вернуть только номер редакции.

Вся версия grep сломается, если ваша локаль не английская.

Для предыдущей версии вы можете попробовать

svn info --xml | grep '<entry' -3 | awk -F '=' '/revision="/ { print $2 }' | grep -o '[0-9]\+'

Если у вас есть пакет xml2, лучший способ сделать это:

svn info --xml | xml2 | grep /info/entry/@revision | grep -o '[0-9]\+' 
5 голосов
/ 06 сентября 2011

Удобный однострочник AWK для получения только части номера:

svn info http://nick:password@www.myhost.de/svn | awk '/Revision:/ { print $2 }'
...