Question

Lorsque j'exécute la commande suivante:

svnlook a changé {chemin} -r {rev}

où {chemin} est le chemin du référentiel et {rev} est le numéro de révision, j'obtiens le résultat suivant:

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

Le résultat devrait en réalité être:

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

Le " é " et les autres caractères accentués ne sont pas affichés correctement ...

Existe-t-il un moyen pour svnlook de générer correctement les caractères?

Je sais que je peux utiliser " svn log " avec le " - xml " possibilité d’obtenir le bon encodage, mais j’ai besoin de cela pour un hook pré-commit, et svn.exe ne peut obtenir que des informations de révisions, pas de transactions.

Merci

Était-ce utile?

La solution

Le problème que vous avez ici est que votre hook de pré-validation est exécuté par le binaire Subversion, qui, pour des raisons de sécurité, transmet un environnement vide au script de hook. Un environnement vide consiste notamment à supprimer les paramètres régionaux spécifiques et à rétablir les paramètres par défaut du système (généralement 'C' ou quelque chose de similaire).

Pour obtenir le résultat correct de svnlook , vous devez restaurer l'environnement qui vous importe avant de l'exécuter. Si votre script est bash, peut-être quelque chose comme:

#!/bin/bash

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

# Run svnlook here and get UTF-8 encoded output

En général, les paramètres régionaux avec le suffixe «.UTF-8» devraient convenir. Étant donné que vous semblez parler français, les paramètres régionaux «fr_FR.UTF-8» constitueraient un paramètre raisonnable.

Autres conseils

Vous devriez essayer d'invoquer ceci:

export LANG="fr_FR"

(ou quelle que soit la langue de votre développeur) avant d'utiliser svnlook. Vous pouvez également définir une langue par défaut dans vos scripts de démarrage du shell afin de ne pas l'exporter à chaque fois.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top