1

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

svnadmin: E200002: в сериализированном хэше отсутствует терминатор

1 ответ1

1

Это означает, что один из файлов репозитория поврежден!

Это могут быть файлы ревизий в db/revs или файл revprop в db/revprops.

A serialized hash is a series of K/V pairs followed by END:

Взгляните на это решение (скрипт Python):

  • Запускает 'svnadmin verify -r' и проверяет 'сериализованный хэш, отсутствующий терминатор'.
  • Если сообщается об ошибке, сценарий считывает свойства ревизии ревизии непосредственно перед ней (т.е. revno-1) и добавляет одну минуту к метке времени этой ревизии.Сообщение журнала изменено сообщением «восстановлено от повреждения».
  • Теперь исходный поврежденный файл свойств редакции копируется в резервную копию, а исправленное свойство редакции записывается на его место.
  • Процесс повторяется до тех пор, пока не будет получена «действительная редакция». На этом этапе это останавливается.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .