J'essaie d'écrire un utilitaire pour migrer le code de notre contrôle de source personnalisé vers git.
Les messages "commit" de l'ancien système étaient ajoutés de manière incrémentale à un fichier texte dans le chemin du projet, j'utilise donc git pour différencier ces fichiers d'une version à l'autre, puis j'utilise ce différentiel comme message "commit".
Sans surprise, j'ai des difficultés avec les accents.
La chaîne de test est la suivante : éèàçüûöôëê
- Le fichier texte source est (d'après le Bloc-notes) en "ANSI".
- Si je fais un diff dans msysgit, je vois ceci
<E9><E8><E0><E7><FC><FB><F6><F4><EB><EA>
- Lorsque je lance un appel de processus à git avec la même commande diff (voir este question), j'obtiens :
ÚÞÓþ³¹÷¶ÙÛ
����������
conStandardOutputEncoding = Encoding.UTF8
, par este question.éèàçüûöôëê
conStandardOutputEncoding = Encoding.Default
Jusqu'à présent, tout va bien, mais si j'envoie éèàçüûöôëê
en tant que message de livraison, git me dit Warning: commit message does not conform to UTF-8.
Des indications sur la manière de faire fonctionner ce système ? Cette question parle aussi de définir l'encodage sur StandardInput, mais mon message de validation est dans les arguments, il ne fait pas partie de l'entrée.
(Git dit aussi que je peux définir la variable de configuration i18n.commitencoding
mais je préfère respecter le format git si je le peux)