Peut un Git crochet automatiquement ajouter des fichiers à la livraison?

Je voudrais ajouter automatiquement un fichier généré à la même livraison à l'aide d'un pré - ou post-commit hook Git, dépendant sur les fichiers qui ont été modifiés dans ce commit. Comment pourrais-je aller à ce sujet?

J'ai essayé ce qu'un pre-commit hook, mais pas de chance:

#!/bin/sh
files=`git diff --cached --name-status`
re="<files of importance>"
if [[ $files =~ $re ]]
then
  echo "Creating files"
  exec bundle exec create_my_files
  exec git add my_files
  exec git commit --amend -C HEAD
fi

Avec succès, ajoute le dépôt, mais ne pas ajouter à la commettre. J'ai aussi essayé d'utiliser les deux dernières exec lignes dans un post-commit hook avec le pre-commit l'inspection, mais pas bon non plus.

  • Vous devez supprimer les execs à partir de ce code (voir man sh). Il est impossible pour n'importe quel interpréteur de commande à exécuter après une exec, depuis exec clobbers le processus actuel, c'est à dire la coquille qui est utilisé pour interpréter les commandes.
InformationsquelleAutor Ian Terrell | 2010-07-19