Un certain nombre de fichiers de configuration utilisateur de mon application sont conservés dans un référentiel git pour un partage facile sur plusieurs machines et plates-formes. Parmi ces fichiers de configuration se trouve .gitconfig
qui contient les paramètres suivants pour la gestion des caractères de saut de ligne de retour chariot
[core]
autocrlf = true
safecrlf = false
Ces paramètres sont également appliqués sur une plate-forme GNU/Linux, ce qui provoque des erreurs obscures.
Quelles sont les meilleures pratiques pour gérer ces différences spécifiques aux plates-formes dans les fichiers de configuration?
Je me rends compte que ce problème pourrait être résolu en ayant une branche pour chaque plate-forme et en gardant les trucs communs dans le maître et en fusionnant avec la branche de la plate-forme lorsque le maître avance. Je me demande s'il existe des solutions plus faciles à ce problème?
J'ai passé en revue ce type de paramètre de configuration (crlf
) dans la question:
distribution de la configuration git avec le code.
La conclusion était:
*. Java + crlf *. Txt + crlf ...
git status
, Environnement Shell et svn import
(voir " distribution de la configuration git avec le code " pour les liens et les références).crlf
si vous le pouvez.Maintenant, en ce qui concerne le problème spécifique des paramètres par plate-forme , la branche n'est pas toujours le bon outil, en particulier pour les données non liées au programme (c'est-à-dire ces paramètres ne sont pas liés à ce que vous développez, seulement au VCS stockant l'historique de votre développement)
Comme indiqué dans la question Git: Comment maintenir deux branches d'un projet et fusionner uniquement les données partagées? :
votre vie sera beaucoup plus simple si vous placez le code dépendant du système dans différents répertoires et gérez les dépendances multiplateformes dans le système de construction (Makefiles ou tout ce que vous utilisez).
Dans ce cas, alors que les branches peuvent être utilisées pour du code dépendant du système, je recommanderais un répertoire pour les outils de prise en charge des paramètres dépendants du système, avec un script capable de construire le .gitattributes
fichier pour appliquer le bon paramètre en fonction de la plate-forme de déploiement du référentiel.
N'activez jamais autocrlf
, cela ne provoque que des maux de tête et des douleurs.
Il n'y a aucune excuse pour utiliser \r\n
sur Windows, tous les éditeurs décents (par définition) peuvent gérer \n
.