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, ошибка все еще появляется.
Почему появляется ошибка? Благодаря
Ответы
Ответ 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