Gitwatch: Tous les événements pertinents ne sont pas détectés

Créé le 6 déc. 2012  ·  9Commentaires  ·  Source: gitwatch/gitwatch

Demander inotifywait sans événement create ne détecte pas la création de répertoire et aucun des fichiers créés à l'intérieur (du moins sur mon système (qui utilise inotify-tools-3.13).

De plus, vous pouvez ajouter l'événement move_self (ou juste move pour accéder à/depuis) ​​pour détecter les fichiers déplacés hors du répertoire surveillé. Par exemple, le répertoire surveillé est /foo/ et vous déplacez le fichier /foo/bar dans /tmp/ .

help wanted

Commentaire le plus utile

Je n'ai pas enquêté à fond, mais les événements utilisés causent également des problèmes sous Windows avec inotify-win. Les événements inotify-win sont : créer, modifier, supprimer, déplacer. La suppression de la liste d'événements du script résout le problème.

Avec la liste d'événements spécifiée, rien ne se passe jusqu'à ce que vous fassiez quelque chose comme git status. Ensuite, il semble voir les changements et s'exécute.

Peut-être que cela pourrait être un argument facultatif?

A part ça, ça marche bien sous Windows.

Tous les 9 commentaires

Oui, les événements que j'ai dans le script que j'ai ajoutés parce que ce sont ceux que j'ai vus se produire dans la situation pour laquelle j'ai écrit le script pour la première fois. Je vais essayer d'enquêter un peu plus sur les événements nécessaires/utiles (comme ceux que vous avez suggérés, peut-être d'autres). Certains d'entre eux peuvent également être activés avec des commutateurs de ligne de commande. Une autre chose à vérifier est si l'un des types d'événements a été récemment ajouté (afin de ne pas introduire d'incompatibilité avec une version légèrement plus ancienne d'inotfytools).

Tout autre événement pertinent devrait être discuté dans ce numéro, le laissant ainsi ouvert pour le moment.

Je n'ai pas enquêté à fond, mais les événements utilisés causent également des problèmes sous Windows avec inotify-win. Les événements inotify-win sont : créer, modifier, supprimer, déplacer. La suppression de la liste d'événements du script résout le problème.

Avec la liste d'événements spécifiée, rien ne se passe jusqu'à ce que vous fassiez quelque chose comme git status. Ensuite, il semble voir les changements et s'exécute.

Peut-être que cela pourrait être un argument facultatif?

A part ça, ça marche bien sous Windows.

J'ai ajouté une pull request pour la suggestion d'argument facultative : https://github.com/nevik/gitwatch/pull/17

mfw quelqu'un poste sur ce projet

C'est une belle prise ! Je ne savais pas que inotify-tools avait été porté sur Windows.

Passer les événements intéressants via un argument est certainement utile.

Malheureusement, l'option d'exclusion a besoin d'un chemin Windows et lors de l'exécution à partir de mingw bash ${TARGETDIR} donne évidemment un chemin Unix. J'ai donc besoin d'une autre solution de contournement.

Hm, cela pourrait être une limitation de MinGW et peut-être difficile à contourner. Je n'ai aucune expérience avec ce genre de chose en particulier, mais si vous avez des choses à tester, faites le moi savoir (si vous commencez à travailler dessus, n'hésitez pas à ouvrir un PR pour suivre les changements).

Comme 429c4af5bf28d015dd3aab8964291ae4c4ec9be6 ajoute un commutateur de ligne de commande pour permettre à l'utilisateur de spécifier les événements à surveiller, ce problème est en attente de fermeture une fois que la validation est fusionnée dans le maître. (Quelqu'un me rappelle si j'oublie après la fusion.)

Ce serait formidable si quelqu'un pouvait se porter volontaire pour tester ce correctif.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

hongkongkiwi picture hongkongkiwi  ·  3Commentaires

Alwaysin picture Alwaysin  ·  8Commentaires

miguelarauj1o picture miguelarauj1o  ·  7Commentaires

lehnerpat picture lehnerpat  ·  7Commentaires

thienedits picture thienedits  ·  3Commentaires