martinsam
1/29/2013 - 10:35 PM

Git : Check File

Mettez le code suivant du le fichier .git/hooks/post-merge de votre repo en local :

#!/bin/bash
 
# On met ici tous les fichiers (ou pattern de nom) qu'on veut surveiller
# changez les pour les adapter à votre projet
files=('settings.py' 'migrations');
 
# on récupère tous les noms de fichiers modifiés depuis le dernier merge
modified_files=`git diff "HEAD@{1}" --name-only`
 
# on boucle sur chaque nom de fichier surveillé
for watched_file in "${files[@]}"; do
 
    # on liste tous les fichiers modifiés qui correspondent à ce nom de
    # fichier surveillé
    modified_watched_files=(`echo "$modified_files" | grep $watched_file`)
 
    # si le nombre de fichiers correspondant est plus grand que 0
    if [ ${#modified_watched_files[@]} ]; then
 
        # pour chaque fichier qui correspond, on affiche un avertissement
        # en rouge
        for modified_watched_file in "${modified_watched_files[@]}"; do
 
            echo -e "\e[41m "$modified_watched_file" has changed \033[0m"
 
        done
 
 
    fi
 
done