Восстановление от коррупции Subversion - PullRequest
5 голосов
/ 14 ноября 2008

Что-то пошло не так в подрывной деятельности, и теперь я сталкиваюсь с

svnadmin: Invalid diff stream: [tgt] insn 0 starts beyond the target view position

если я попытаюсь сделать дамп из репозитория. У нас есть еще один вопрос по этому поводу: Ошибка хранилища Subversion , но решения там не достаточно хороши для меня, потому что повреждение - 85 ревизий назад.

Поскольку коррупция находится в одном не столь важном каталоге (не в trunk / branch / tags), я подумал о двух решениях:

  1. Создать дамп из исправной части и после импорта его в новый репозиторий зафиксировать различия из важных каталогов (потеряв всю историю ревизий)
  2. Создайте дамп из здоровой части и напишите сценарий ruby, который будет проверять каждую ревизию необходимых каталогов в старом хранилище. Это создаст файл diff для ревизии и передаст его в новый репозиторий с именем авторов и оригинальным комментарием.

Есть комментарии? :)

/ JaanusSiim

1 Ответ

2 голосов
/ 15 ноября 2008

Если вам действительно нужен доступ к вашим источникам, я бы порекомендовал отправить письмо на users@subversion.tigris.org с вашей проблемой. Некоторые пользователи читают этот список и имеют опыт восстановления поврежденных репозиториев. (Во многих случаях об этом не сообщалось в списке, поскольку для восстановления исходного кода обычно требуется NDA)

Создание файла дампа всех действительных ревизий, к которым вы можете получить доступ, не повредит и может помочь в восстановлении.

...