79 votes

Sensibilité à la casse dans Git

J'ai rencontré un problème avec git. En gros, j'ai mis à false core.ignorecase parce que je voulais changer la casse des noms de certains dossiers (comme je suis sous OSX avec un système de fichiers insensible à la casse, les changements n'étaient pas affichés autrement). Lorsque j'ai extrait mes données, j'ai remarqué que maintenant chaque dossier renommé apparaît deux fois dans le référentiel, avec l'ancien et le nouveau nom. Je ne sais pas quoi faire pour supprimer les anciens dossiers puisqu'ils n'apparaissent pas localement (j'ai essayé de définir le paramètre core.ignorecase à nouveau vrai mais cela n'aide pas).

120voto

VonC Points 414372

Il peut y avoir une solution de contournement similaire à ce commentaire dans un problème msysgit (pour un autre système d'exploitation insensible à la casse : Windows) pourrait vous aider ?

J'ai rencontré le même problème. J'ai remanié le nom d'un paquet dans Eclipse et le passage à une version précédente a échoué parce que le nom du dossier n'a pas été inversé. J'utilise Windows 7 et Git 1.7.0.2.msysgit.0.

Mon dossier a été renommé dans Windows en " folder "mais a été affiché comme " Folder " dans Git.
J'ai résolu le problème en le renommant en " Folder " dans Windows et ensuite exécuter :

git mv "Folder" "Folder2"
git mv "Folder2" "folder"

Notez que depuis git 2.0.1 (juin 2014), git mv Folder folder devrait juste fonctionner !

Voir " Git : Changement de la capitalisation des noms de fichiers "

17voto

adib Points 2315

Vous pouvez créer une image disque (de préférence une image disque sparsebundle) avec un système de fichiers sensible à la casse et y déposer votre dépôt git.

La capture d'écran de l'Utilitaire de disque ci-dessous montre comment créer une image disque sensible à la casse.

Disk Utility Settings

11voto

Arafangion Points 5650

Par défaut, Mac OS X est "insensible à la casse mais préserve la casse". Il s'agit d'une distinction importante.

Je vous suggère de créer une autre image disque, et de la formater spécifiquement comme "HFS Case Sensitive".

5voto

user2064497 Points 11
git mv "Folder" "Folder2"
git mv "Folder2" "folder"
git commit -a -m "my message"

1voto

Philip Oakley Points 3825

Il existe un fil de discussion récent et assez long sur les problèmes de sensibilité à la casse sur le forum de discussion git@vger.kernel.org, intitulé Bug ? Le checkout de Git échoue avec un message d'erreur erroné qui souligne les problèmes, et les choses à essayer, de la sensibilité à la casse entre les différentes plateformes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X