Подтвердить что ты не робот

SVN Ошибка: ожидаемый формат fs между '1' и '3'; найденный формат "4"

Вот что я сделал, я установил svnserve как сервис, и я начал его с помощью команды net start svn service. Я набрал svn ls svn://localhost, чтобы протестировать службу, но она вернула ошибку, как указано в заголовке этого сообщения.

Я ввел svn -version и svnserve -version на свой компьютер, чтобы узнать номера версий, а клиент и версия сервера - то же самое, версия 1.5 +0,6. Я предполагаю, что ошибка возникает из-за разных версий сервера и клиента.

Когда я запускаю сервер, используя команду svnserve --daemon --root в cmd, ошибка все еще появляется.

Почему появляется ошибка? Благодаря

4b9b3361

Ответ 1

Какой инструмент Subverson вы использовали для создания репозитория? TortoiseSVN? Ваш TortoiseSVN может быть новее, версия 1.6.x, затем ваш клиент командной строки 1.5 и svnserve, поэтому svnserve 1.5.x не может обслуживать репозиторий 1.6.x.

В моем репозитории fsfs, созданном с помощью svnadmin 1.6.1, файл db/format содержит

$ cat repos/db/format 
4
layout sharded 1000

Ответ 2

У меня такая же проблема, но я решил ее с помощью другого подхода

В основном проблема заключается в файле db/format, где он ожидает, что лучший способ проверить "2" - это сделать файл

$ vi db/format 

Если вы получите это

4
layout sharded 1000

Затем вы должны изменить их, чтобы сказать

2

Лучше также проверить текущий файл

$ vi db/current

Это вы получите только это (например, 0 означает номер версии 0)

0

Затем вы должны изменить их, чтобы просто сказать (например, 0 означает, что номер версии добавляет "nx", а также "2" )

0 nx 2

Наконец, проверьте также, если структура вашего каталога для revs и revprops опечатана или выглядит примерно так.

db/revs/0/0

измените его на структуру без папок

db/revs/0

Примечание: файл ревизии (например, 0) находится только внутри каталога revs, не должно быть больше другой папки

То же самое происходит с revprops изменение

db/revprops/0/0

к

db/revprops/0

Ответ 3

Я удаляю свой старый репозиторий и создаю новый с помощью командной строки → svnadmin create C:\SvnRepository

* старый репозиторий был создан щелчком правой кнопки мыши по папке и нажмите "Создать репозиторий здесь"

Ответ 4

Я установил (установка Collabnet) SVN 1.5.5, и он отлично работал с TortoiseSVN 1.6.1. После обновления SVN до 1.6.2 я получаю ту же ошибку (ожидаемый формат fs между "1 и 3, найденный формат" 4), когда я пытаюсь получить к нему доступ через Trac. Это подкрепляет доверие к ответу Блэра. Я дам вам знать, как я снова запустил его.

Обновление: ответ Блэра тоже работал у меня: в сообщении говорится, что старая версия SVN пытается получить доступ к репозиторию, поэтому найдите его и удалите. Специфика для меня заключалась в том, что ошибка произошла только при использовании Trac, поэтому я снова установил Trac в Windows (http://trac.edgewall.org/wiki/TracOnWindows) с помощью последний установщик, который я смог найти (svn-python-1.6.1.win32-py2.5.exe), и удалил старые яйца из папки сайта Python. После перезагрузки и повторной синхронизации я снова и снова запускался.

Ответ 5

В последней версии Zend Studio (8.x) есть инструмент SVN, который дает ту же ошибку в поиске формата 4, но ожидает формат 1-3. Я создал свой репозиторий с помощью CollabNet SVN (около года назад) и не смог открыть репозиторий из Zend Studio.

Я думаю, что лучшее решение (по крайней мере, для моего случая, когда я хочу работать с Zend Studio и не бороться с ним) - это воссоздать ваш репозиторий со старой версией SVN. URL-адрес SVN 1.3 для Windows:

http://subversion.tigris.org/files/documents/15/32856/svn-1.3.2-setup.exe

После установки убедитесь, что вы выполняете файлы svnadmin.exe и svn.exe в недавно установленном каталоге версии 1.3, если вы уже установили CollabNet SVN (у которого есть каталог установки по умолчанию c:/csvn).

Ответ 6

Убедитесь, что вы используете правильный svnadmin. Например, если вы установили VisualSVN, вам нужно будет использовать svnadmin, находящийся в папке bin каталога установки. Я установил версию командной строки SVN... и когда я использовал эту версию инструмента svnadmin, я получил ту же ошибку.

Ответ 7

Спасибо, Джо. У меня были оба сервера CollabNet SVN и VisualSVN, и я получал ошибки, пока не убедился, что использую версию svnadmin, которая поставляется с VisualSVN (которую я использовал для создания репозиториев).

Ответ 8

Я смог исправить это, обновив Subversion на сервере. Я также сделал настройку в файле db. Затем я переместил все резервное копирование на сервер в качестве перезаписи. Я на самом деле (на окнах) делал проверку локально, затем файлы, которые были сгенерированы при создании этого репо, я редактировал db, а затем хватал все файлы и выталкивал их на SVN на сервере.

Это похоже на трюк.

Ответ 9

Я тоже столкнулся с той же проблемой. просто откройте свою удаленную папку svn, которую вы создали. в вашей папке db у вас есть файл формата. просто замените no. с 1. если он не работает, попробуйте 2 и 3.

Ответ 10

Если вы используете сервер VisualSVN, убедитесь, что ваша команда выглядит так, как показано ниже

Пример команды: C:\Program Files\VisualSVN Server\bin > svnadmin dump c:\repo > c:\backup\svnbacku p.dump