Як дізнатися версію сховища 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.