Commit Graph

1150 Commits

Author SHA1 Message Date
Félix Saparelli 07bf2523b6 Revert mac to fsevents 2022-03-18 14:08:59 +13:00
Félix Saparelli 572fc53793 cli: v1.18.8 2022-03-16 16:24:19 +13:00
Félix Saparelli bd3d7a8411 Update man 2022-03-16 16:23:57 +13:00
Félix Saparelli 29dcd418ba lib: v2.0.0-pre.12 2022-03-16 16:10:33 +13:00
Félix Saparelli e5731abde0 Use exact version reqs for prereleases
I did not realise that Cargo considers -pre.1 and -pre.2 to be
compatible, so the latest Notify prerelease broke all existing
releases, and whenever I release a new lib it may break all CLI
versions if the API changes.
2022-03-16 16:02:29 +13:00
Félix Saparelli aeb699b658 Show CLI version in debug logs 2022-03-16 00:01:32 +13:00
Félix Saparelli da22d34274 Fix #262: document env var ordering and other specifics 2022-03-15 23:26:37 +13:00
Félix Saparelli 17edfe663b Add library version to debug log 2022-03-15 23:25:54 +13:00
Félix Saparelli 223d29fa4a Update lockfile 2022-03-14 12:58:02 +13:00
Félix Saparelli 465895ddec Upgrade notify 2022-03-14 12:57:49 +13:00
Félix Saparelli 5e6adabf8d Use kqueue on mac 2022-03-14 12:50:46 +13:00
Félix Saparelli a3c03b9fac cli: v1.18.7 2022-03-07 21:41:30 +13:00
Félix Saparelli ce449d85e2 Require test snapshots to change for bin release 2022-03-07 21:39:54 +13:00
Félix Saparelli 9ff5875327 lib: v2.0.0-pre.11 2022-03-07 20:59:47 +13:00
Félix Saparelli 72100217e8 Allow */foo filters to match foo (compat)
This is buggy behaviour that exists in <=1.17, and this patch restores it*

Per gitignore rules, this glob:

    */somefile

Will match:

    foo/somefile
    bar/somefile

But not:

    somefile

However, so far we’ve accepted this. As this is a breaking change, this patch
introduces a hack which lets us accept this behaviour, but clearly marks it as
a compatibility exception. In 2.0, this will be gone.

Fixes #258

* It only restores it on unices, because the behaviour cannot be restored in
  any reasonable manner on Windows. Ah well. It's not for long anyway.
2022-03-07 20:33:29 +13:00
Félix Saparelli 03aef187bd Let --exts and --filter work together
These two options are meant to work together: they are a union of filters
rather than competing. Thus:

    --exts toml,py --filter Gemfile

will match all of:

    foo.toml
    bar.py
    Gemfile

rather than matching no files at all because Gemfile doesn’t have an extension.

Fixes #259
2022-02-22 02:26:46 +13:00
Félix Saparelli 4af6865ef0 Add broken tests for regressions
See #258 and #259
2022-02-12 22:39:40 +13:00
Félix Saparelli 93da1ce780 Carry help through elevated errors properly
This might show the help text twice actually. Let's see...
2022-02-12 20:05:19 +13:00
Félix Saparelli b77da446d8
Split known create errors to get proper help text 2022-02-12 19:49:02 +13:00
Félix Saparelli 3b64a41d80
Split fs watcher errors into their own enum 2022-02-12 19:37:24 +13:00
Félix Saparelli 56380154d3
Clippy 2022-02-11 00:52:35 +13:00
Félix Saparelli 797a7fc708 Setup cargo-release 2022-02-10 01:40:32 +13:00
Félix Saparelli e5bb99a60b
Add shout-outs to friends of watchexec 2022-02-08 14:59:41 +13:00
Félix Saparelli bd7a933906 cli: v1.18.6 2022-02-07 17:34:26 +13:00
Félix Saparelli bdcbe5ca3c lib: v2.0.0-pre.10 2022-02-07 17:18:21 +13:00
Félix Saparelli 55c02567e0 Bump lib version in cli if in pathed mode 2022-02-07 17:18:09 +13:00
Félix Saparelli 96a6a6e9d9 Revert ignoring .git only when Git is discovered
And so on from other VCS. This causes confusion (ref #255) when watching
from outside a git repo, where the VCS type isn’t detected so the .git
folder is included in the watchset. While slightly incorrect, it’s more
expected that these folders be ignored regardless, and there’s always
--no-default-ignore to avoid those ignores if needed.
2022-02-07 17:15:27 +13:00
Félix Saparelli 94b21c2da3 Load global ignores even when there’s no discovered VCS
Fixes #255
2022-02-07 17:15:27 +13:00
Félix Saparelli 965030b47b Add help text to FsWatcherCreate on Linux
See #251
2022-02-07 17:15:27 +13:00
Félix Saparelli e40744f033 Elevate FsWatcherCreate errors to critical
See #251
2022-02-07 17:15:27 +13:00
Félix Saparelli c6f230a168 Pretty-print runtime errors 2022-02-07 17:15:27 +13:00
Félix Saparelli 427e4a0d08 Change on_error to let the handler raise a CriticalError 2022-02-07 17:15:27 +13:00
Félix Saparelli 8ebcf083b8 Start work on 1.18.6 2022-01-31 19:15:30 +13:00
Félix Saparelli a890b0c916 Deduplicate paths in summarise_events_to_env
Fixes #253
2022-01-31 02:14:28 +13:00
Félix Saparelli ba64fb3c38 cli: v1.18.5 2022-01-31 00:49:45 +13:00
Félix Saparelli ada9888fdf Use lib pre.9 2022-01-31 00:45:47 +13:00
Félix Saparelli bc50c198b3 lib: v2.0.0-pre.9 2022-01-31 00:35:27 +13:00
Félix Saparelli d7a305fc4c
Only run one outcome worker at a time 2022-01-31 00:05:43 +13:00
Félix Saparelli 2a9ee4de0b
Add detailed logging to process holder 2022-01-31 00:05:10 +13:00
Félix Saparelli 9a736c5eb9
Use newly &self Supervisor.wait to drop wait loop 2022-01-31 00:04:56 +13:00
Félix Saparelli 995d38078e
Use a tokio::watch in the supervisor to avoid races 2022-01-31 00:00:51 +13:00
Félix Saparelli 3e942c4d19
Double-check the ongoing atomic 2022-01-30 22:29:33 +13:00
Félix Saparelli fdf4dcd13e
Provide opportunities for process holder to be queried concurrently to a wait() 2022-01-29 04:14:51 +13:00
Félix Saparelli 12ef0411f8
Don't log an error from outcome worker on graceful exit 2022-01-29 04:13:28 +13:00
Félix Saparelli 328700dd72
Stop holding supervisor handle 2022-01-29 04:13:08 +13:00
Félix Saparelli c74eab5e91 Split up action in mods 2022-01-29 02:39:06 +13:00
Félix Saparelli cc0c0be45a
Save a pointer by passing around an Arc<[T]> instead of Arc<Vec<T>> 2022-01-29 02:17:23 +13:00
Félix Saparelli 22f081a47b Spawn outcome apply separately from action loop 2022-01-29 02:08:34 +13:00
Félix Saparelli 10b31a0269 Wrap Supervisor in a RwLock 2022-01-29 02:08:34 +13:00
Félix Saparelli a651d149b0 Replace AtomicTakes with HandleLocks in action 2022-01-29 02:08:34 +13:00