{"push_id":888461839,"size":3,"distinct_size":3,"ref":"refs/heads/fix_path_for_removed_and_renamed_fs_events","head":"5e5468437adb99ceee16bcb4864d5a7b74cda165","before":"05acda54705e61762fb5bc1288527e85257f224f","commits":[{"sha":"76731fa6ee99c3005e789b666cfd194aad46e8a1","author":{"email":"33d98769ec4fe1613f517b6038fc1fd5190fdfa2@ronomon.com","name":"Joran Dirk Greef"},"message":"win: fix path for removed and renamed fs events\n\nPrevious behavior on Windows was to set the path to NULL for removed\nand renamed fs events. This was because the path provided by\nReadDirectoryChangesW might (in rare cases) be an 8.3 short name which\ncould then no longer be converted to a long name after the path had\nbeen removed or renamed. This meant that the user had to detect which\npath was actually deleted or renamed and required the user to rescan\nthe entire watched subtree, taking several seconds or more for large\nsubtrees.\n\nHowever, ReadDirectoryChangesW is publicly documented to emit 8.3\nshort names if the original handle for the changed path was opened\nusing an 8.3 short name, and libuv may already emit 8.3 short names for\nother events if the path cannot be explicitly resolved to a long name.\n\nThis commit fixes the path for removed and renamed fs events, and does\nnot set the path to NULL, even if the path might be an 8.3 short name.\nThis makes it possible for the user to do a partial scan of the\nsubtree, restricting the scan to paths which match the long form or 8.3\nshort name (even if some of these are false positive matches). This\nmeans that deletes and renames can now be detected accurately on\nWindows within a few milliseconds.\n\nFixes: https://github.com/libuv/libuv/issues/634\nRefs: https://github.com/libuv/libuv/pull/199","distinct":true,"url":"https://api.github.com/repos/jorangreef/libuv/commits/76731fa6ee99c3005e789b666cfd194aad46e8a1"},{"sha":"896a64f4adfc6d46159fd4f6b0a61ccbcd409cc8","author":{"email":"33d98769ec4fe1613f517b6038fc1fd5190fdfa2@ronomon.com","name":"Joran Dirk Greef"},"message":"Merge branch 'fix_path_for_removed_and_renamed_fs_events' of https://github.com/jorangreef/libuv into fix_path_for_removed_and_renamed_fs_events","distinct":true,"url":"https://api.github.com/repos/jorangreef/libuv/commits/896a64f4adfc6d46159fd4f6b0a61ccbcd409cc8"},{"sha":"5e5468437adb99ceee16bcb4864d5a7b74cda165","author":{"email":"33d98769ec4fe1613f517b6038fc1fd5190fdfa2@ronomon.com","name":"Joran Dirk Greef"},"message":"test: Remove fs events NULL path checks","distinct":true,"url":"https://api.github.com/repos/jorangreef/libuv/commits/5e5468437adb99ceee16bcb4864d5a7b74cda165"}]}