2009-02-27 6 views
11

Existe-t-il un moyen de forcer SVN à ne pas tenir compte de la casse? Nous avons un problème où un utilisateur s'engage à partir d'un environnement Linux avec des fichiers "file.ext" et "File.ext". Fonctionne très bien. Le problème, cependant, est lorsqu'un utilisateur sur un MAC OSX ou Windows tente une mise à jour/vérification. Les deux fichiers sont considérés comme identiques et l'action échoue en erreur.SVN peut-il gérer les problèmes de sensibilité à la casse?

Est-il possible d'avoir SVN empêcher la commission d' « fichier.ext » et « fichier.ext » en premier lieu?

This question est similaire, mais regarde le même problème du côté de Windows, ce qui est pas la question ici.

+0

Il me semble que le fait d'avoir deux fichiers dans le même répertoire différant uniquement au cas par cas est de toute façon source de confusion. Peut-on dire aux utilisateurs de ne pas le faire? –

+0

+1 sur forcer la subversion à ignorer la casse - vous ne devriez pas différencier les fichiers uniquement sur casse de toute façon. –

Répondre

11

Vous pouvez essayer un crochet pre-commit, comme this one (n'a pas essayé moi-même, cependant).

Je suppose que faire en sorte que vos utilisateurs fassent attention à ce que cela a déjà été exclu? Je travaille sur Linux tout le temps, mais je considère généralement que les noms de fichiers ne sont pas sensibles à la casse. e. à moi, ils sont les mêmes, peu importe ce que le système d'exploitation pense.

+0

Ahh, merci. Oui, nous faisons attention, mais toute mesure visant à empêcher cela serait un plus. – ccook

+1

+ 1 pour l'utilisation des hooks de validation – abe

0

Je dirais que vous regardez les choses à l'envers. La meilleure solution consiste à conserver vos fichiers de manière sensible à la casse. Que se passe-t-il si un utilisateur vérifie sous Linux ou Solaris, le projet sera inutilisable.

Aussi, tenez compte des compilateurs de langage qui dépendent de la sensibilité des cas, le compilateur Java se plaindront les noms de fichiers, comme je suis sûr que d'autres langues seront.

Une autre question, est le déploiement, si vous déployez sur un système * NIX. Alors vous avez des ennuis!

+1

Le problème est simplement que deux fichiers différents dans le cas ne fonctionne pas pour les machines macs ou windows. Je pense que vous parlez plus de l'application (F90)? Je suis d'accord que les noms devraient être référencés par cas approprié. – ccook

0

Je pense que le problème technique est vraiment du côté de Windows & Mac, à savoir que leurs systèmes de fichiers ne sont pas sensibles à la casse. Au moins sur mac, vous pouvez reformater le système de fichiers en HFS + avec la sensibilité à la casse activée. Je ne suis pas un utilisateur Windows mais il peut y avoir une option similaire dans le système de fichiers natif de Windows (est-ce toujours NTFS?). Si vous ne contrôlez pas assez les environnements du développeur pour les forcer à formater avec un système de fichiers sensible à la casse, alors je pense que vos seules options sont un crochet de pré-validation qui vérifie la duplication (comparaison insensible à la casse, évidemment) les noms de fichier dans le même répertoire ou pour modifier votre projet afin de ne pas utiliser des fichiers portant le même nom et des cas différents dans le même répertoire.

+0

J'ai posté une réponse à une autre version de cette question que je ne trouve pas actuellement et qui indiquait comment compiler SVN sous Windows afin que les noms soient vraiment sensibles à la casse. Puisque NT4 a passé les tests de conformité POSIX, c'est ici, juste difficile à obtenir. – Joshua

+4

Je ne suis pas sûr que ce soit vraiment un problème technique, je pense que c'est une fonctionnalité (et je suis un utilisateur de Linux). Pour les humains, le même mot en majuscule ou en minuscule a la même signification, et votre système d'exploitation devrait le comprendre. –

Questions connexes