Commit e5cfa394 authored by Chris Bainbridge's avatar Chris Bainbridge Committed by Tim Graham
Browse files

Refs #23882 -- Added detection for moved files when using inotify polling

Commit 15f82c70 ("used pyinotify as change detection system when
available") introduced a regression where editing a file in vim with
default settings (writebackup=auto) no longer causes the dev server
to be restarted. On a write, vim moves the monitored file to a backup
path and then creates a new file in the original. The new file is not
monitored as it has a different inode. Fixed this by also watching for
inotify events IN_DELETE_SELF and IN_MOVE_SELF.
parent 13dca01a
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -175,7 +175,9 @@ def inotify_code_changed():
            pyinotify.IN_ATTRIB |
            pyinotify.IN_MOVED_FROM |
            pyinotify.IN_MOVED_TO |
            pyinotify.IN_CREATE
            pyinotify.IN_CREATE |
            pyinotify.IN_DELETE_SELF |
            pyinotify.IN_MOVE_SELF
        )
        for path in gen_filenames(only_new=True):
            wm.add_watch(path, mask)
+2 −0
Original line number Diff line number Diff line
@@ -95,3 +95,5 @@ Bugfixes

* Fixed a regression in ``URLValidator`` that invalidated Punycode TLDs
  (:ticket:`25059`).

* Improved `pyinotify` ``runserver`` polling (:ticket:`23882`).