версия сервера SVN - PullRequest
5 голосов
/ 22 мая 2009

Можно ли как-нибудь определить, из какой локальной копии проекта SVN (что-то в .svn) какая версия сервера SVN работает?

Спасибо, Barry

Ответы [ 6 ]

5 голосов
/ 22 мая 2009

Просто используйте веб-браузер и позвоните по URL-адресу хранилища Subversion. Внизу появившейся страницы отображается номер версии.

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

Невозможно определить версию Subversion, в которой запущен конкретный репозиторий без доступа к этому репозиторию, по двум причинам:

  1. Прежде всего, рабочая копия практически не зависит от возможностей хранилища. Он полностью контролируется локальным клиентом Subversion и имеет высокую совместимость между версиями.
  2. Кроме того, как вы узнаете, был ли сервер обновлен с момента проверки?

Если доступ к вашему хранилищу осуществляется через file://, вы используете ту же версию Subversion, что и клиент, и сервер. Это просто - svnadmin --version - но я полагаю, что это не так, иначе вы бы не спрашивали здесь. : -)

Чтобы найти версию репозитория, доступную через http:// или https://, подойдет любой из методов, представленных в других ответах здесь. Я неравнодушен к методу «просто зайти в браузер», если вам не нужно проверять программно.

Чтобы найти версию репозитория ssh+svn://, вставьте SSH в это поле как обычно и запустите svnadmin --version.

Мне неизвестен способ определения версии репозитория, доступной только через svn://.

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

Здесь размещен скрипт Python здесь , который делает именно то, что вы хотите.

Также, проверьте этот вопрос .

Я всегда нахожу , этот также является полезным SVN-ресурсом.

1 голос
/ 30 апреля 2010

Версия сервера Subversion доступна в заголовке HTTP RESPONSE, возвращаемом сервером. Вы можете получить его с помощью этой команды оболочки:

wget -S --spider 'http://svn.server.net/svn/repository' 2>&1 | \ 
grep 'SVN' | sed 's/.*\(SVN[0-9\/\.]*\).*/\1/';
0 голосов
/ 22 мая 2009
svn --version
0 голосов
/ 22 мая 2009

Если есть способ, я не могу его найти. Если вы обращаетесь к серверу по HTTP [S], вы, вероятно, можете получить версию из вывода команды HEAD:

telnet server 80
HEAD / HTTP/1.0 (Press RETURN twice)

Для HTTPS:

openssl s_client -connect server:https
HEAD / HTTP/1.0 (Press RETURN twice)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...