Mac OS X и Mercurial - PullRequest
       29

Mac OS X и Mercurial

0 голосов
/ 17 сентября 2010

Я недавно приобрел MacBook. Я скомпилировал Mercurial 1.6.3 и установил все это с помощью NetBeans.

Дело в том, что всякий раз, когда я пытаюсь зафиксировать, и так как я пишу ревизионное сообщение и мое имя с акцентированными символами (на испанском языке), я получаю сообщение об ошибке:

transaction abort!
rollback completed
abort: decoding near 'Naim? Batuta ': 'utf8' codec can't decode byte 0x8e in position 4: unexpected code byte!

Я использовал локаль на консоли, и я получил это:

LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

Я попытался установить LC_CTYPE = "C.UTF-8", и теперь LC_CTYPE также стал = "C", но Mercurial продолжает показывать мне одно и то же сообщение.

Сначала я подумал, что NetBeans переключает кодировки символов, но затем я попробовал простой hg commit, и он вернул ту же ошибку.

Я читал везде, и хотя в таких статьях упоминаются кодировки символов Mercurial, Mac OS X и Python, некоторые исправления для его исправления (некоторое время назад, так что они должны быть уже в Mercurial), я не нашел реальное решение.

Это случилось с вами раньше? Как ты это решил? Пожалуйста, помогите мне. Он отлично работает на моем настольном компьютере (Windows), но иногда мне нужно вносить изменения, пока меня нет, и это сводит меня с ума.

Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 17 сентября 2010

Когда я запускаю команду locale на моем Mac OSX, я получаю следующее

LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

Для вас это должно быть

LANG=es_ES.UTF-8
LC_ALL=es_ES.UTF-8

Вы экспортируете их?Потому что ваш язык должен был показать другое значение после экспорта.

export LC_ALL=es_ES.UTF-8
export LANG=es_ES.UTF-8
0 голосов
/ 19 ноября 2010

Понятия не имею, что на самом деле произошло. Я удалил из компиляции любой файл Mercurial и просто использовал пакет Installation .

Да, теперь он творит чудеса. Спасибо всем!

0 голосов
/ 17 сентября 2010

Ваш испанский язык должен быть es_ES.UTF-8 (если ваш терминал использует UTF-8) или es_ES (который будет использовать кодировку ISO-8859-1).Язык "C" ничего не знает о символах испанского акцента.

В любом случае, если правильная настройка языка в вашем терминале не помогает, тогда вы можете попробовать установить

[ui]
fallbackencoding=ISO-8859-1

в конфигурации .hgrcфайл.

...