Qu'est-ce qui peut gâcher le codage des caractères?

Edit: git ne plaisante pas avec l'encodage des caractères. C'est encore ici pour partager des connaissances et d'éviter les autres à faire la même erreur.


Le contexte: Mon entreprise utilise un référentiel svn. Je suis à l'aide de git-svn en tant que client d'interagir avec ce référentiel. Tous les fichiers texte du projet sont (et doivent être) codé avec windows encodage par défaut (cp-....). J'utilise git-extensions, et parfois la ligne de commande pour pilote git.

Ce que j'ai fait: Durant les 3 derniers jours, je travaillais sur une nouvelle fonctionnalité, et j'ai fait un certain nombre de modifications locales. Enfin, j'ai écrasé toutes ces révisions en un seul à l'aide d'un rebase interactif, puis j'ai utilisé git svn dcommit de repousser tout sur le dépôt svn dans un seul commit.

Ce qui s'est passé ensuite: Un collègue m'a dit que tous les accents ont été foiré dans les fichiers que j'ai modifié, et dans les nouveaux fichiers après mon commit. J'avais déjà commis des fichiers texte avec des accents dans le même référentiel avec mon installation de git + svn avant, et c'est la première fois que je fais face à ce problème.

Mon enquête:j'ai fait les choses suivantes à étudier: ouvert les fichiers avec notepad++, et j'ai essayé le plus courant codages (y compris les windows par défaut et UTF-8) pour les afficher: aucun d'eux ne pouvait afficher les accents correctement, et les différents accents sont toujours rendus par la même séquence d'étranges glyphes.

La solution de contournement temporaire:j'ai rapidement créé un revert commit avec git extension et "dcommited".

La question:Mon entreprise dépôt svn est OK, mais maintenant, j'ai deux problèmes à résoudre:

  1. Comprendre ce qui s'est passé avec les caractères avec des accents
  2. Récupérer mon travail depuis le SVN de l'histoire et de s'engager dans une manière appropriée (si possible sans les vérifier manuellement tous les caractères avec accents)

Quelqu'un peut fournir quelques indices (je suis plutôt nouvelle pour git) ?

source d'informationauteur Samuel Rossille