2015-11-06 6 views
1

J'ai un git repo avec du code source Fortran avec l'extension de fichier .for sur Windows. Ce code est compilé et exécuté par un logiciel tiers qui génère une erreur si l'extension du fichier n'est pas .for. Une fonctionnalité plutôt ennuyante de ce logiciel tiers est que, sur Linux, il nécessite une extension de fichier .f pour les mêmes fichiers de code source fortran. Donc, quand je clone le repo git à un système Linux, je dois changer les fichiers sources Fortran à .f. Comment puis-je configurer git pour le faire automatiquement, donc quand je clone sur linux, tous les fichiers fortran ont une extension de fichier .f et sur Windows les mêmes fichiers sont .for?Git changer automatiquement les extensions de fichiers

Répondre

0

Ce n'est pas vraiment un problème de git, donc l'obstacle que vous avez trouvé est principalement parce que vous voulez utiliser un marteau pour la tâche d'un tournevis.

A votre place, je ferais un des suivants:

  • git peut gérer les liens symboliques sont bien, de sorte que vous pouvez construire un lien symbolique sur le la .for pour tous .f fichiers (par exemple: for x in *.f;do ln -svf ${x%.f}.for $x;done)
  • Vous pouvez configurer des hooks pour les vérifications et valider dans le répertoire .git qui renomme les fichiers avant/après la validation en cas de besoin. Vous pouvez le configurer afin que vous ayez .for sur le dépôt local, mais .f dans la télécommande.

Le premier est beaucoup plus simple, mais pas vraiment beau. La seconde est très belle, mais nécessite un script difficile, et ce serait instable (un petit problème avec les scripts d'accrochage pourrait nuire à votre source). Pour moi, le premier est meilleur.

+0

Les liens symboliques ont fait l'affaire - Merci! – Drew