2009-04-30 1 views
1

Когда я выполнить следующую команду:«svnlook изменилось» кодирование

svnlook changed {path} -r {rev}

где {путь} путь хранилища и {оборотов} номер ревизии, я получаю следующий результат:

U trunk/this/is/a/path/Mon fichier avec un nom accentu,.txt

Вывод должен быть на самом деле:

U trunk/this/is/a/path/Mon fichier avec un nom accentué.txt

«Е» и другие подчеркнутые символы правильно не показаны ...

Есть ли способ для svnlook для вывода символов должным образом?

Я знаю, что я могу использовать «svn log» с параметром «--xml», чтобы получить правильную кодировку, но мне нужно это для предварительного фиксации, и svn.exe может получать информацию только от ревизий, а не сделки.

Благодаря

+0

Я мог бы поклясться, что видел этот вопрос раньше, и ответ был связан с установкой оболочки для отображения закодированных символов, но я не могу ее найти :( – rmeador

ответ

2

Проблема, с которой вы столкнулись, заключается в том, что ваш крюк предварительной фиксации выполняется двоичным кодом Subversion, который по соображениям безопасности передает пустую среду скрипту hook. Среди вещей, которые создает пустая среда, - это удаление каких-либо определенных настроек языкового стандарта, возврат к системному стандарту (обычно «C» или что-то подобное).

Чтобы получить правильный результат от svnlook, вам необходимо восстановить среду, о которой вы заботитесь, прежде чем запускать ее. Если ваш скрипт Баш, возможно, что-то вроде:

#!/bin/bash 

export LANG="en_US.UTF-8" 
export PATH="/bin:/usr/bin" 

# Run svnlook here and get UTF-8 encoded output 

В общем, любой локали с суффиксом».utf-8' должно быть в порядке. Учитывая, что вы выступаете в качестве французского докладчика, языковой стандарт fr_FR.UTF-8 будет разумным.

0

Вы должны попробовать это применение:

export LANG="fr_FR" 

(или любой другой язык вашего разработчика есть) перед использованием svnlook. Вы также можете установить lang по умолчанию в сценариях запуска оболочки, поэтому вам не нужно экспортировать его каждый раз.

 Смежные вопросы

  • Нет связанных вопросов^_^