Subversion
Sep. 16th, 2006 03:00 pmВоюю с консольным клиентом subversion под Windows. Пытаюсь его заставить понимать и выводить commit log messages по русски. Все эти кроссплатформенные тулсы несут на себе тяжкое наследство юниксового подхода.
Реализация: svn за таблицами преобразования локали лезет по пути, указанному в переменной окружения APR_ICONV_PATH. Переменная, само собой, нифига не установлена, и оно нифига не находит. А вот если ее поставить - происходит не менее смешной эффект. Входное сообщение - в cp866(кодировка досовской командной строки), а вот при выводе уже windows-1251, что на консоли нечитабельно. Какой в этом смысл - непонятно.
Экстенсивный путь решения: "svn log | win2dos", где win2dos - консольный конвертор кодировки, написанный на дельфи за пару минут :)
Нормальный путь решения: поставить в Application Data\Subversion\config
[miscellany]
log-encoding = windows-1251
Или вообще закомментировать эту строку, тогда оно использует локаль по умолчанию. Вообще-то она закомментирована по умолчанию, но я ее раскомментировал в попытках заставить svn понять русские буквы, в то время, как причиной ошибок оказалось отсутствие APR_ICONV_PATH.
Реализация: svn за таблицами преобразования локали лезет по пути, указанному в переменной окружения APR_ICONV_PATH. Переменная, само собой, нифига не установлена, и оно нифига не находит. А вот если ее поставить - происходит не менее смешной эффект. Входное сообщение - в cp866(кодировка досовской командной строки), а вот при выводе уже windows-1251, что на консоли нечитабельно. Какой в этом смысл - непонятно.
Экстенсивный путь решения: "svn log | win2dos", где win2dos - консольный конвертор кодировки, написанный на дельфи за пару минут :)
Нормальный путь решения: поставить в Application Data\Subversion\config
[miscellany]
log-encoding = windows-1251
Или вообще закомментировать эту строку, тогда оно использует локаль по умолчанию. Вообще-то она закомментирована по умолчанию, но я ее раскомментировал в попытках заставить svn понять русские буквы, в то время, как причиной ошибок оказалось отсутствие APR_ICONV_PATH.