Ошибка СВН:Ожидаемый формат файловой системы между «1» и «3»;нашел формат '4'

StackOverflow https://stackoverflow.com/questions/838392

  •  22-07-2019
  •  | 
  •  

Вопрос

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

Я вошел СВН --версия и svnserve --версия на моем компьютере, чтобы узнать номера версий, версия клиента и сервера одна и та же, версия 1.5.6.Я предполагаю, что ошибка возникает из-за разных версий сервера и клиента.

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

Почему появляется ошибка?Спасибо

Это было полезно?

Решение

Какой инструмент 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

Другие советы

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

Проблема в основном заключается в файле 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

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

* старый репозиторий был создан, щелкнув правой кнопкой мыши папку и выбрав «Создать репозиторий здесь»

Я установил (установил 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. папка -пакеты. После перезагрузки и повторной синхронизации я снова заработал.

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

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

http: //subversion.tigris. орг / файлы / документы / 15/32856 / СВН-1.3.2-setup.exe

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

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

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

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

Кажется, это сработало.

Ну, я тоже столкнулся с той же проблемой. просто откройте свою удаленную папку SVN, которую вы сделали. в вашей папке DB у вас есть формат файла. просто заменить нет. с 1. если это не работает, попробуйте 2 и 3.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top