4520 shaares
3 résultats
taggé
watcher
Pour toi @Philou ! Ce peut être intéressant de surveiller certains fichiers sensibles de nos répos (je pense via notre GitBot) afin de détecter des commits dessus.
Le script à mettre dans .git/hooks/post-merge
#!/usr/bin/env 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
Cela se fait en deux temps :
- Installer l'outil
entr
(sudo apt install entr). - Utiliser le oneliner suivant
while sleep 1 ; do find . -name '*.py' | entr -d MY_COMMAND WITH PARAMS ; done
Un exemple simple de File System Watcher en Kotlin.