Subversion не может прочитать длину строки в файле - PullRequest
7 голосов
/ 14 января 2011

Когда я фиксирую, у меня не было ошибки. Теперь я попытался проверить, и я получил эту ошибку

Невозможно прочитать строку длины в файле 'c: \ svn \ db \ revs \ 0 \ 14'

Я пробовал старую версию, она тоже не работает. Значит ли это, что я потерял все в подрывной деятельности?

Ответы [ 5 ]

2 голосов
/ 14 января 2011

Вы можете запустить

svnadmin verify /var/svn/repo

, чтобы проверить ваш репозиторий.

В случае, если вы используете Беркли БД (вы не должны),

svnadmin recover /var/svn/repo

может помочь.

1 голос
/ 15 октября 2011

У меня была такая же проблема, и вот простое исправление, которое я нашел без администрирования репозитория SVN.

  1. ошибка была вызвана конкретным файлом, который я должен был зафиксировать.Я зафиксировал все остальные измененные файлы. Ok
  2. Я скопировал локальный файл на рабочий стол в качестве резервной копии.
  3. SVN-> Удалить файл
  4. .Успешно
  5. добавил файл с рабочего стола в локальную папку
  6. svn -> add, svn-> commit

Исправлена ​​проблема.Я думаю, что таким образом вы потеряете предыдущие версии файла из репозитория, но для меня это не было проблемой.

Надеюсь, эта информация поможет вам.

1 голос
/ 14 января 2011

Кажется, это ошибка SVN или сбой H / W. Я бы начал искать резервную копию. Если у вас его нет - вы можете зафиксировать свою локальную рабочую копию в новом хранилище.

1 голос
/ 14 января 2011

Похоже, что база данных Беркли повреждена, вы должны использовать FSFS backend в следующий раз. Пока смотрите Восстановление Беркли БД .

0 голосов
/ 26 октября 2012

Похоже, БД была повреждена для одной из ваших ревизий.

Итак, сначала вы можете обновить предыдущую ревизию и изменить последнюю ревизию в дБ:

svn update -r99
vi /var/svn/site/db/current
[change number to "99"]

Чем вы должныузнайте, какой каталог сломан, и замените его в хранилище.[поврежден] - имя вашего поврежденного каталога.

cd /var/www/site/
svn delete --keep-local [corrupted]
svn ci [corrupted] -m "Remove corrupted directory from repository"
rm -rf `find /[corrupted] -name .svn`
svn add [corrupted]
svn ci [corrupted] -m "Add fixed directory"
...