"Svnlook alterada" codificação

votos
1

Quando eu execute o seguinte comando:

svnlook changed {path} -r {rev}

onde {path} é o caminho do repositório e {rev} é o número de revisão, eu recebo o seguinte resultado:

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

A saída deve realmente ser:

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

O E e outros caracteres acentuados não são exibidos corretamente ...

Existe alguma maneira para svnlook para caracteres de saída corretamente?

Eu sei que eu posso usar log svn com a opção --xml para obter a codificação adequada, mas eu preciso disso para um gancho pre-commit, e svn.exe só pode obter informações de revisões, não transações.

obrigado

Publicado 30/04/2009 em 21:24
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

O problema que temos aqui é que o gancho pre-commit é executado pelo binário do Subversion, que por razões de segurança passa um ambiente vazio para o script de gancho. Entre as coisas um ambiente vazio faz é remover quaisquer configurações locais específicos, revertendo-lo para o sistema padrão (geralmente 'C' ou algo similar).

Para obter o resultado correto svnlook, você precisa restaurar o ambiente você se preocupa antes de executá-lo. Se o seu script é bash, talvez algo como:

#!/bin/bash

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

# Run svnlook here and get UTF-8 encoded output

Em geral, qualquer local com o sufixo' .UTF-8' deve ser fino. Dado que você parece ser um orador francês, localidade do 'fr_FR.UTF-8' seria um ajuste razoável.

Respondeu 30/04/2009 em 22:34
fonte usuário

votos
0

Você deve tentar invocar esta:

export LANG="fr_FR"

(Língua ou qualquer que seja do seu desenvolvedor é) antes de usar svnlook. Você também pode definir um lang padrão no seu shell scripts de início, de modo que você não tem que exportá-lo o tempo todo.

Respondeu 30/04/2009 em 21:38
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more