Як дізнатися версію сховища Subversion?


76

Як я можу визначити поточну версію мого сховища, щоб побачити, чи потрібно його оновлювати (оновлення svnadmin)?

Насправді я приймаю SVN у сторонніх розробників, і я хочу з'ясувати, чи потрібно просити їх оновити мої репозиторії чи ні.

Я запитую, оскільки сервер 1.5 збереже версію репо на рівні 1.4, якщо я щось не пропустив?

Відповіді:


46

Погляньте <REPO>/db/format. Після оновлення до формату 1.5 мій formatфайл показує:

3
layout sharded 1000

Раніше це було:

2

11
Для Subversion 1.6 це «4». Це / мабуть / найкращий спосіб визначити версію сховища.
— Джеймс Скемп,

2
де ця інформація? Я на вікнах і використовую черепаху.
— Кугель

12
-1. Допитувач заявив, що репо є на сторонній хост SVN. Вони не дають вам доступу до фізичного сховища. Допитувач не може безпосередньо отримати доступ до цього файлу. До речі, без аргументів, це найкращий спосіб визначити версію, якщо у вас є доступ до неї.
— Ken Gentle

Я маю свою репо-адресу, і бачу гілки, теги, папку вантажівки, але не бачу жодної папки db або форматування? Де я можу знайти цю папку Db або db / format? У мене немає доступу до вищих рівнів структури каталогів репо?
— наднова

2
@supernova, вам потрібно перейти до файлової системи, де svn зберігає всі свої файли. Не переглядати вміст svn через клієнт svn.
— JackDev

27

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

Працює на версії Subversion 1.4.5 (r25188).

Можна припустити, що 1.4сервер не буде працювати проти 1.5сховища.

Детальніше див. У примітках до випуску Subversion 1.5

Дякую @Omus за виправлення.


5
Я думав, що це версія програмного забезпечення SVN, а не версія сховища?
— Сумрак

1
але це могло би йти навпаки, ні?
— Сумрак

Ось тут і з’являється слово "можна було б припустити" - можливо, але сенсу немає, правда?
— Кен Джентль,

11
"Сервер Subversion 1.5 працює із сховищами 1.4 та старішими, і він не буде оновлювати такі сховища до 1.5, якщо це не буде спеціально запропоновано через команду оновлення svnadmin." - subversion.tigris.org/svn_1.5_releasenotes.html#repos-upgrades Тож не слід припускати :)
— Джеймс Скемп,

Це не працює для сервера VisualSVN - здається, він не надає номер версії.
— Richard Beier

6

Ви можете перевірити вміст файлу "формат" у каталозі "db". Якщо він показує 3, то його було оновлено до 1,5 (це версія оновленої файлової системи). Якщо це 2, то це 1,4 або старше.


5

Існує різниця між версією / схемою сховища 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
Format 8, understood by Subversion 1.10+

Також, починаючи з Subversion 1.9, тепер ви можете використовувати команду svnadmin info для отримання як версії / схеми сховища Subversion, так і версії FSFS сховища Subversion (Див.: Примітки до випуску Subversion 1.9 - Удосконалення FSFS , а також примітки до випуску Subversion 1.9 - Зміни та вдосконалення svnadmin )


4

Для сервера VisualSVN, навіть використовуючи власні сторінки, ви все одно можете переглянути джерело сторінки :)


Я зміг визначити версію сховища, яку мені потрібно використовувати з цією відповіддю. Добре подумали!
— Бруно Фінгер,

1

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

Ви можете використовувати Fiddler2 для підробки запиту / відповіді на сервер. Якщо ви використовуєте з'єднання HTTPS, обов'язково встановіть прапорець "Розшифрувати трафік HTTPS" у: Інструменти-> Параметри скрипта-> HTTPS


0

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

Менеджер серверів VisualSVN

Виконайте наступні кроки, щоб дізнатися формат сховища:

  1. Запустіть консоль VisualSVN Server Manager .
  2. Клацніть сховище правою кнопкою миші та натисніть Властивості .
  3. Перейдіть на вкладку Подробиці .

PowerShell

Виконайте наступні кроки, щоб дізнатися формат сховища через PowerShell:

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


-2

Я думаю, що ти хочеш, це "svnlook young"


він також шукає файл "формат", якого немає в моєму репо.
— Steve K

3
svnlook young показує лише останній номер редакції в репо. Не версія бази даних репо.
— 8DH,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.