Преобразование сообщений фиксации Subversion в Unicode - PullRequest
1 голос
/ 11 апреля 2011

В настоящее время у меня есть локальный репозиторий Subversion с большим количеством сообщений фиксации в кодировке cp1251.

Можно ли как-нибудь преобразовать все сообщения фиксации в кодировку utf-8?

Ответы [ 2 ]

2 голосов
/ 11 апреля 2011

Как говорит Rup-8, Subversion должна преобразовать все сообщения журнала в UTF-8 перед сохранением их в хранилище и обратно в локальную кодировку для отображения. Если ваши сообщения журнала не конвертируются правильно, либо:

  • Убедитесь, что ваш языковой стандарт правильно определяет кодировку, которую вы используете; или
  • Использовать опцию --message-encoding
1 голос
/ 11 апреля 2011

Ваши сообщения о фиксации уже сохранены как UTF-8 :

Subversion внутренне обрабатывает определенные биты данных - например, имена свойств, пути и сообщения журнала - как кодировку UTF-8 в кодировке Unicode. Это не значит, что все ваши взаимодействия с Subversion должны включать UTF-8. Как правило, клиенты Subversion будут изящно и прозрачно обрабатывать преобразования между UTF-8 и системой кодирования, используемой на вашем компьютере, если такое преобразование может быть разумно выполнено (что имеет место для большинства распространенных кодировок, используемых сегодня).

Однако, если вы как-то дважды их закодировали, то при условии, что вы используете репозиторий в стиле FSFS, возможно, самый простой способ - обработать все файлы revprop, которые вы найдете в db/revprops/*/* под вашим репозиторием, и перепишите их с правильной кодировкой, например используя инструмент командной строки iconv из GnuWin32 . (Обратите внимание, что эти файлы должны иметь окончания строки Unix, т.е. LF, а не CRLF).

...