Неправильный заголовок файла дампа при переносе репозитория из Windows в Linux (проблема с кодировкой?)
я перемещаю репозиторий SVN с машины Windows (Windows 7) на машину Linux (Ubuntu 13). Я сбрасываю РЕПО на Windows с svnadmin dump
и скопируйте файлы на компьютер Linux. Теперь я бегу
svnadmin load dest-folder < dumpfile
и терминал отвечает
'vnadmin: E140001: Malformed dumpfile header 'SVN-fs-dump-format-version: 2
Я подозреваю, что есть проблема с моей кодировкой символов (Windows против Unix), основанная на том, что одиночная цитата идет от конца строки, где она должна быть, к началу. Но я пытался преобразование кодировки символов в Notepad++, и я получаю только разные ошибки.
вышеуказанная ошибка появляется, когда я кодирую в UTF-8.
при преобразовании в " UTF-8 без BOM "или"ANSI":
' into a number04: Could not convert ' 2
при преобразовании в " UCS-2 Big Endian "или"UCS-2 Little Endian":
svnadmin: E140001: Malformed dumpfile header '?4?5'
Я ничего не знаю о кодировках символов, поэтому я не знаю, куда обратиться дальше. Или, возможно, это проблема с моим дампом или РЕПО, Но у меня не было никаких проблем с SVN до сих пор.
2 ответов
этот ответ пришел из комментариев пользователя kostix на мой вопрос.
проблема заключалась в том, что я использовал PowerShell для создания файла дампа. Когда я переключился на использование командной строки vanilla в Windows, проблема решена. Как указывалось, PowerShell автоматически выводит файлы UCS-2 через конвейеры или выходные файлы оболочки, и Linux не понравилась эта кодировка символов.
Если вы получаете сообщение об ошибке svnadmin: E140001: Malformed dumpfile header '?\FF?Фес!--1-->
дамп Windows SVN не работает на Linux SVN если вы взяли резервную копию с помощью PowerShell, я бы рекомендовал использовать командную строку vanilla (по умолчанию) в Windows, это будет в 10 раз быстрее, чем PowerShell, а также взять резервную копию дампа.
svnadmin dump и repository_name > backup_svn.свалка