Исправление проблем с данными SVN UTF-8 в hgsubversion pull - PullRequest
1 голос
/ 19 мая 2011

Я столкнулся с ошибкой при извлечении изменений SVN в мой ртутный репозиторий:

abort: ('Valid UTF-8 data\n(hex: 75 6c 6c 20 74 61 73 6b 20 6c 69 73 74 20 74 68 65 20 63 6c 69 65 6e 74)\nfollowed by invalid UTF-8 sequence\n(hex: 92 73 20 4e)', 22)

Я узнал , как обнаружить его для SVN (с исправлением имен файлов, но не содержимого); как применить это обнаружение к hgsubversion, чтобы я мог продолжать тянуть ??

1 Ответ

0 голосов
/ 19 мая 2011

Следующее не работает - см. Шаг 4 (upvote, если это полезно для экономии вашего времени :)). Надеюсь, реальный ответ - это вариация ...

  1. Посмотрите журнал svn для проверки и посмотрите, какие файлы затронуты (надеюсь, небольшое количество)
  2. для каждого файла используйте isutf8 .hg/store/data/trunk/{svn path} (из пакета moreutils) (где ветви [my] также появляются в стволе из-за разветвления hg, которого я не понимаю ...). Если все идет «правильно неправильно», то смещение, на которое жалуется isutf8, должно быть очень близко к сообщению invalid UTF-8 sequence. В моем случае isutf8 жаловался на позицию 24, где моя ошибка была на 22 (я считаю, что это просто сообщение о начале или конце декодирования в Unicode ...)
  3. Сделайте что-нибудь в духе

    iconv -f iso-8859-1 -t utf8 {file name} > {temp file}
    mv {file name} ~ # For backup purposes
    mv {temp file} {file name}
    
  4. Наблюдайте, как hg pull снова терпит неудачу после окончательной регистрации svn и начала извлечения после Я написал мой оптимистичный ответ.

...