Gitwatch: Nicht alle relevanten Ereignisse werden erkannt

Erstellt am 6. Dez. 2012  ·  9Kommentare  ·  Quelle: gitwatch/gitwatch

Das Abfragen von inotifywait ohne Ereignis create erkennt keine Verzeichniserstellung und keine der darin erstellten Dateien (zumindest auf meinem System (das inotify-tools-3.13) verwendet.

Sie können auch das Ereignis move_self (oder nur move um zu/von zu gelangen) hinzufügen, um Dateien zu erkennen, die aus dem überwachten Verzeichnis verschoben wurden. ZB ist das überwachte Verzeichnis /foo/ und Sie verschieben die Datei /foo/bar in /tmp/ .

help wanted

Hilfreichster Kommentar

Ich habe es nicht vollständig untersucht, aber die verwendeten Ereignisse verursachen auch Probleme unter Windows mit inotify-win. inotify-win-Ereignisse sind: erstellen, ändern, löschen, verschieben. Das Entfernen der Ereignisliste aus dem Skript behebt das Problem.

Wenn die Ereignisliste angegeben ist, passiert nichts, bis Sie etwas wie git status tun. Dann scheint es die Änderungen und Läufe zu sehen.

Vielleicht könnte es ein optionales Argument sein?

Ansonsten funktioniert es unter Windows gut.

Alle 9 Kommentare

Ja, die Ereignisse, die ich im Skript hinzugefügt habe, sind die Ereignisse, die ich in der Situation gesehen habe, für die ich das Skript zum ersten Mal geschrieben habe. Ich werde versuchen, ein bisschen genauer zu untersuchen, welche Ereignisse notwendig/nützlich sind (wie die von Ihnen vorgeschlagenen, vielleicht andere). Einige von ihnen können auch mit Befehlszeilenschaltern aktiviert werden. Eine andere Sache, die Sie sich ansehen sollten, ist, ob einer der Ereignistypen kürzlich hinzugefügt wurde (um keine Inkompatibilität mit einer etwas älteren Version von inotfytools zu verursachen).

Alle weiteren relevanten Ereignisse sollten in dieser Ausgabe besprochen werden, so dass sie vorerst offen bleibt.

Ich habe es nicht vollständig untersucht, aber die verwendeten Ereignisse verursachen auch Probleme unter Windows mit inotify-win. inotify-win-Ereignisse sind: erstellen, ändern, löschen, verschieben. Das Entfernen der Ereignisliste aus dem Skript behebt das Problem.

Wenn die Ereignisliste angegeben ist, passiert nichts, bis Sie etwas wie git status tun. Dann scheint es die Änderungen und Läufe zu sehen.

Vielleicht könnte es ein optionales Argument sein?

Ansonsten funktioniert es unter Windows gut.

Ich habe eine Pull-Anfrage für den optionalen Arg-Vorschlag hinzugefügt: https://github.com/nevik/gitwatch/pull/17

mfw jemand postet zu diesem Projekt

Das ist ein schöner Fang! Mir war nicht bekannt, dass inotify-tools auf Windows portiert wurden.

Es ist sicherlich sinnvoll, die interessanten Ereignisse über ein Argument zu übergeben.

Leider benötigt die Excludes-Option einen Windows-Pfad und beim Ausführen von mingw bash gibt ${TARGETDIR} offensichtlich einen Unix-Pfad an. Also brauche ich einen anderen Workaround.

Hm, das könnte jedoch eine Einschränkung von MinGW sein und möglicherweise schwer zu umgehen. Ich habe keine spezielle Erfahrung mit solchen Dingen, aber wenn Sie Dinge zu testen haben, lassen Sie es mich wissen (wenn Sie anfangen, daran zu arbeiten, können Sie gerne eine PR öffnen, um die Änderungen zu verfolgen).

Da 429c4af5bf28d015dd3aab8964291ae4c4ec9be6 einen Befehlszeilenschalter hinzufügt, damit der Benutzer angeben kann, welche Ereignisse überwacht werden sollen, muss dieses Problem geschlossen werden, sobald dieser Commit mit dem Master zusammengeführt wird. (Jemand erinnert mich daran, wenn ich es nach dem Zusammenführen vergesse.)

Es wäre toll, wenn sich jemand freiwillig melden könnte, um diesen Fix zu testen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

lehnerpat picture lehnerpat  ·  7Kommentare

miguelarauj1o picture miguelarauj1o  ·  7Kommentare

Alwaysin picture Alwaysin  ·  8Kommentare

hongkongkiwi picture hongkongkiwi  ·  3Kommentare

BRFNGRNBWS picture BRFNGRNBWS  ·  3Kommentare