Mise à jour automatique et transparente de fichiers source

Fointard d0363cc7db Initial commit 1 year ago
outils d0363cc7db Initial commit 1 year ago
.gitattributes d0363cc7db Initial commit 1 year ago
README.md d0363cc7db Initial commit 1 year ago
file.c d0363cc7db Initial commit 1 year ago
file.h d0363cc7db Initial commit 1 year ago
version d0363cc7db Initial commit 1 year ago

README.md

Mode d'emploi

  • Cloner le dépot
  • Modifier file.c et/ou file.h (sans toucher aux cartouches d'en-tête)
  • Exécuter git diff → le cartouche apparaît vierge
  • Exécuter le script de config : python outils/configuration_initiale.py
  • Exécuter git diff → le cartouche apparaître maintenant rempli
  • Faire un commit → git show montre bien le cartouche mis à jour (dépot)
  • Exécuter cat file.c file.h → le cartouche apparait vierge (copie locale)
  • À chaque nouveau commit, le cartouche est mis à jour dans le dépot mais reste toujours vide dans la copie locale

Fonctionnement

  • Le script python exécute git config --local include.path ../outils/filtres/.gitconfig pour inclure le .gitconfig embarqué à la configuration de l'utilisateur
  • Ce .gitconfig embarqué déclare le filtre Cartouche associé au script gerer_cartouche lui aussi embarqué
  • Ce script python effectue des substitutions à base de regexs à chaque checkin/checkout des fichiers concernés
  • Le fichier .gitattributes détermine les fichiers concernés par le filtre Cartouche (tous les fichiers .c et .h)