Subject: CVS commit: pkgsrc/sysutils/watchman
From: Filip Hajny
Date: 2016-11-01 15:54:02
Message id:

Log Message:
Update sysutils/watchman to 4.7.0.

Watchman 4.7.0 (2016-09-10)
- Reduced memory usage by 40%
- Queries can now run with a shared lock.
- Added new glob generator as a walking strategy for queries.
- Added "case_sensitive": true option to queries to force matches to happen
  in a case sensitive manner, even if the watched root is on a case
  insensitive filesystem.
- Fixed a race condition during subscription initiation that could emit
  incorrect clock values.
- Fixed spurious over-notification for parent directories of changed files
  on Mac.
- Fixed some reliability issues on Windows

Watchman 4.6.0 (2016-07-09)
- Improved I/O scheduling when processing recursive deletes and deep
  directory rename operations.
- Improved performance of the ignore_dirs configuration option on macOS and
  Windows systems.
- Added an optional recrawl recovery strategy for macOS that will attempt to
  resync from the fseventsd journal rather than performing a full filesystem
- Fixed accidental exponential time complexity issue with recursive deletes
  and deep directory rename operations on case-insensitive filesystems (such
 as macOS).
- Added support for allowing non-owner access to a Watchman instance.
- Added support for inetd-style socket activation of the watchman service.
- Added the symlink_target field to the stored metadata for files.
- Fixed an issue where watchman may not reap child processes spawned by
- Fixed an issue where watchman may block forever during shutdown if there
  are other connected clients.
- Added hint_num_dirs configuration option.

Watchman 4.5.0 (2016-02-18)
- Fixed an inotify race condition for non-atomic directory replacements that
  was introduced in Watchman 4.4.

Watchman 4.4.0 (2016-02-02)
- Added state-enter and state-leave commands can allow subscribers to more
  intelligently settle/coalesce events around hg update or builds.
- Fixed an issue where subscriptions could double-notify for the same
- Fixed an issue where subscriptions that never match any files add
  O(all-observed-files) CPU cost to every subscription dispatch

Watchman 4.3.0 (2015-12-14)
- Improved handling of case insensitive renames; halved the memory usage and
  doubled crawl speed on OS X.

Watchman 4.2.0 (2015-12-08)
- Increased strictness of checks for symlinks; rather than just checking
  whether the leaf of a directory tree is a symlink, we now check each
  component down from the root of the watch.
- Increased priority of the watchman process on OS X.

Watchman 4.1.0 (2015-10-20)
- Fixed an issue where symlink size was always reported as 0 on OS X using
  the new bulkstat functionality

Watchman 4.0.0 (2015-10-19)
- Fixed an issue where a directory that was replaced by a symlink would
  cause a symlink traversal instead of correctly updating the type of the
  node and marking the children removed.
- Fixed a debugging log line that was emitted at the wrong log level on
  every directory traversal.

Watchman 3.9.0 (2015-10-12)
- Fixed an issue where dir renames on OS X could cause us to lose track of
  the files inside the renamed dir
- Fixed an issue where dir deletes and replacements on Linux could cause us
  to lose track of the files inside the replaced dir (similar to the OS X
  issue above in manifestation, but a different root cause).
- Improved (re)crawl speed for dirs with more than a couple of entries on
  average (improvement can be up to 5x for dirs with up to 64 entries on
- Improved (re)crawl speed on OS X 10.10 and later by using getattrlistbulk.
- Add optional sync_timeout to the clock command
- Avoid accidentally passing descriptors other than the stdio streams when
  we spawn the watchman service.
- Fixed a race condition where we could start two sets of watcher threads
  for the same dir if two clients issue a watch or watch-project at the same
- Added a helpful error for a tmux + launchd issue on OS X

Watchman 3.8.0 (2015-09-14)
- Improved latency of processing kernel notifications.
- Improved idle behavior.
- Improved inotify move tracking.
- Hardened statedir and permissions.
- Fixed a possible deadlock in the idle watch reaper
- Fixed an issue where the watchman -p log-level debug could drop log
  notifications in the CLI
- Disabled the IO-throttling-during-crawl that we added in 3.7. It proved to
  be more harmful than beneficial.
- -j CLI option now accepts either JSON or BSER encoded command on stdin
- Added capabilities to the server, and added the capabilityCheck method to
  the python and node clients.

Watchman 3.7.0 (2015-08-05)
- Fixed bug where query match on foo*.java with wholename scope would
  incorrectly match foo/bar/
- Added src/**/*.java recursive glob pattern support to query match.
- Added options dictionary to query's match operator.
- Added includedotfiles option to query match to include files whose names
  start with ..
- Added noescape option to query match to make \ match literal \.
- We'll now automatically age out and stop watches.
- watch-project will now try harder to re-use an existing watch and avoid
  creating an overlapping watch.
- Reduce I/O priority during crawling on systems that support this
- Fixed issue with the long long data type in the python BSER module

Watchman 3.5.0 (2015-06-29)
- Fix the version number reported by watchman.

Watchman 3.4.0 (2015-06-29)
- trigger now supports an optional relative_root argument.

Watchman 3.3.0 (2015-06-22)
- query and subscribe now support an optional relative_root argument.