Как узнать версию репозитория 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
Чтобы узнать формат репозитория, выполните следующие действия:
- Запустите консоль VisualSVN Server Manager.
- Щелкните репозиторий правой кнопкой мыши и выберите " Свойства".
- Щелкните вкладку Details.
PowerShell
Выполните следующие действия, чтобы узнать формат репозитория через PowerShell:
- Запустите консоль PowerShell.
- Выполните следующую команду:
Get-SvnRepository MyRepo | Format-List