SVN-репозиторий продолжает повреждаться - PullRequest
1 голос
/ 15 октября 2019

Я только начал испытывать это неделю назад, и я попробовал несколько вещей, но это продолжается. Она начинается с сообщения об ошибке неудачной фиксации:

Невозможно установить указатель положения в файле '(путь к редакции)': была предпринята попытка переместить указатель файла перед началом файла.

Получив его в первый раз, я обнаружил некоторые ресурсы, указывающие на некоторую коррупцию в последней редакции. Я посмотрел, как удалить ревизию, и следовал этому процессу , чтобы создать новый репозиторий и сбросить в него некоррумпированные ревизии. Это был успешный, но довольно обременительный процесс, который приходится повторять снова и снова.

Во второй раз, когда это произошло, я обнаружил этот ресурс , который объяснял, как удалить поврежденную ревизию непосредственно в репозитории. структуру папок и установите текущую версию обратно на предыдущую. Это сработало и было быстрее, чем вышеупомянутый метод, но я все еще не хочу повторять это.

Тогда это повторилось сегодня.

Каждый из этих случаев я использовал svnadmin verify иполучил это (с разными номерами ревизий каждый раз, очевидно):

svnadmin verify (repo path) * Проверка метаданных в ревизии 0 ... * Ошибка проверки метаданных репозитория. svnadmin: E160058: запись индекса l2p PHYS -1 не соответствует значению индекса p2l LOG r391: i10 для PHYS 1407

Я погуглил эту ошибку, но буквально ничего не существует, никаких результатов для этого кода ошибки или другого мусора в этомзагадочное сообщение.

Пожалуйста, помогите мне разобраться, как этого избежать.

РЕДАКТИРОВАТЬ: После успешной фиксации чего-то вроде еще 8 ревизий, я получил новую ошибку этоговремя:

слишком велик индекс индекса 69 в редакции 398

svnadmin проверять отчеты:

Неожиданный конец файла индекса (путь репо)/ db / revs / 0/396 со смещением 0x43c8.

Вот что это за смещение. Это не похоже ни на что:

enter image description here

Исследования также указывают на коррупцию. Что в мире происходит?

1 Ответ

1 голос
/ 23 октября 2019
  1. Не существует такого понятия, как «хранилище TortoiseSVN». У вас есть хранилище Subversion, и, скорее всего, вы обращаетесь к нему неправильно, вызывая повреждение.
  2. Скорее всего, вы храните хранилище в сетевой папке и обращаетесь к нему по протоколу file: //. Если это ваш случай, прочитайте https://tortoisesvn.net/faq.html#reponoserver.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...