Как узнать версию репозитория Subversion?

Как определить текущую версию своего репозитория, чтобы узнать, нужно ли мне обновить ее (обновление svnadmin)?

На самом деле я размещаю SVN с третьей стороной, и я хочу узнать, нужно ли мне просить их обновить мои репозитории или нет.

Я спрашиваю, так как 1.5 сервер будет держать версию репо на 1.4, если я что-то упустил?

7 ответов

Посмотри на <REPO>/db/format, После обновления до формата 1.5 мой format файл показывает:

3
layout sharded 1000

До этого было:

2

Возьмите http или же https ссылка на ваш репозиторий и вырезать и вставить его в браузер. Версия серверахранилища Subversion отображается в нижнем колонтитуле по умолчанию.

Работает на Subversion версии 1.4.5 (r25188).

Можно предположить, что 1.4 сервер не будет работать против 1.5 репозиторий.

Подробности см. В примечаниях к выпуску Subversion 1.5.

Спасибо @Omus за исправление.

Вы можете проверить содержимое файла "format" в каталоге "db". Если он показывает 3, то он был обновлен до 1.5 (это версия обновленной файловой системы). Если это 2, то это 1,4 или старше.

Существует разница между версией / схемой репозитория Subversion (1) и версией FSFS репозитория Subversion (2).

FSFS, в отличие от Berkeley DB, или FSX для разработки, является внутренним методом хранения данных. FSFS является "версионной реализацией файловой системы, которая напрямую использует файловую систему собственной операционной системы".

(1): Версия / схема хранилища Subversion находится в файле [REPO]/ формата. Текущие версии из документа Subversion repos_upgrade_HOWTO:

SUBVERSION VERSION NUMBER           SCHEMA VERSION
-------------------------           --------------
Up to and including 0.27            1
0.28 - 0.33.1                       2
0.34 - 1.3                          3
(no released version used this)     4
1.4 -                               5

(2): Формат FSFS репозитория, однако, находится в файле [REPO]/db/format. Текущие версии находятся в документе структуры FSFS libsvn_fs_fs, в разделе Форматы файловой системы. В настоящее время они являются:

Format 1, understood by Subversion 1.1+
Format 2, understood by Subversion 1.4+
Format 3, understood by Subversion 1.5+
Format 4, understood by Subversion 1.6+
Format 5, understood by Subversion 1.7-dev, never released
Format 6, understood by Subversion 1.8
Format 7, understood by Subversion 1.9

Кроме того, начиная с Subversion 1.9, теперь вы можете использовать команду svnadmin info для получения версии и схемы Subversion Repository Repository FSFS (см. Примечания к выпуску Subversion 1.9 - Улучшения FSFS, а также Примечания к выпуску Subversion 1.9 - svnadmin Изменения и улучшения)

Для сервера VisualSVN, даже если он использует пользовательские страницы, вы все равно можете просматривать исходный код страницы:)

Я также предложил бы подделывать заголовки ответов, потому что некоторые установки сервера (на ум приходит VisualSVN Server) используют пользовательские страницы, которые, к сожалению, не показывают версию сервера Subversion.

Вы можете использовать Fiddler2, чтобы подделать запрос / ответ на сервер. Если вы используете HTTPS-соединение, обязательно отметьте опцию "Расшифровать HTTPS-трафик" в: Инструменты-> Параметры Fiddler->HTTPS.

Если вы используете VisualSVN Server, вы можете узнать формат репозитория через консоль VisualSVN Server Manager или через PowerShell. Прочтите статью KB135: Общие сведения о типах и форматах репозитория Subversion для получения дополнительной информации.

VisualSVN Server Manager

Чтобы узнать формат репозитория, выполните следующие действия:

  1. Запустите консоль VisualSVN Server Manager.
  2. Щелкните репозиторий правой кнопкой мыши и выберите " Свойства".
  3. Щелкните вкладку Details.

PowerShell

Выполните следующие действия, чтобы узнать формат репозитория через PowerShell:

  1. Запустите консоль PowerShell.
  2. Выполните следующую команду:Get-SvnRepository MyRepo | Format-List

Я думаю, что вы хотите, это "svnlook младший"

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