Commit Graph

1035 Commits

Author SHA1 Message Date
Félix Saparelli 0e1a6f2c45 Mark Cargo.lock as binary for merging (#305) 2022-06-11 07:38:31 +00:00
Félix Saparelli 446a8d95a7 Replace event queue with a priority queue (#302)
Solves several issues, generally through delivering signals before filesystem events, preventing situations where an overwhelming amount of events makes it impossible to quit.

Does _not_ solve the problem of a queue full of lower-priority events not accepting an urgent message, but that's a rarer issue that's more complicated to overcome.

Changes the Filterer trait: adds Priority to `check_event()`

Makes some events unfilterable (Urgent priority): SIGINT, SIGTERM, and CTRL_C to the main process. These still need to be handled by `on_action` to do anything, but cannot be stopped before reaching that.
2022-06-11 06:43:11 +00:00
Félix Saparelli 62e79fbf7a Add log feature to tracing (#300) 2022-06-07 12:15:17 +00:00
Félix Saparelli 557efab1c4 Document the format of the globset tuple arguments (#298) 2022-06-07 11:46:07 +00:00
Félix Saparelli e215e2c09f Add folder/file ignore and filter tests to globset (#299) 2022-06-07 11:25:50 +00:00
Félix Saparelli ec26a99b7d Fix watchexec example in docs found in #295 (#297) 2022-06-07 09:19:16 +00:00
Félix Saparelli f3e0f0cbda Update readme badge for bors (#289) 2022-05-30 03:19:42 +00:00
Félix Saparelli 84eb92b82e Separate check on main (#288) 2022-05-30 03:07:21 +00:00
Félix Saparelli 3d19ce04e7 Specify full name for bors builds (#287) 2022-05-30 02:59:14 +00:00
Félix Saparelli d395faeefa Test with MSRV on all platforms (#286) 2022-05-30 02:44:50 +00:00
Félix Saparelli 4be340a4bc Configure bors (#285) 2022-05-30 02:34:22 +00:00
Félix Saparelli edf023c009 cli: v1.19.0 2022-04-15 15:49:58 +12:00
Félix Saparelli c58d66bec5 Link manpage from readme 2022-04-15 15:47:44 +12:00
Félix Saparelli 396424112e Add new options to help 2022-04-15 15:45:17 +12:00
Félix Saparelli 3523925c1e Reorganise manpage options into categories 2022-04-15 15:45:17 +12:00
Félix Saparelli f60a623a44 Add --env and --workdir options 2022-04-15 15:45:17 +12:00
Félix Saparelli 6f3cdac9fd Document --project-origin in man 2022-04-15 15:45:17 +12:00
Félix Saparelli 515d5568b2 Document feature 2022-04-15 15:45:17 +12:00
Félix Saparelli 84aac2243c Add --project-origin override 2022-04-15 15:45:17 +12:00
Félix Saparelli 4a6d4350c5 Always install release tools 2022-04-15 15:45:17 +12:00
Félix Saparelli 00e9b17043 Final change to --debounce default: down to 50ms
Closes #168
2022-04-15 15:45:17 +12:00
Félix Saparelli d4acb9d719 Add notice for change to $SHELL-as-default in 2.0
Ref #210
2022-04-15 15:45:17 +12:00
Félix Saparelli 009ef2356f Deny 2018 idioms 2022-04-13 22:59:43 +12:00
Félix Saparelli b374de6097 cli: v1.18.12 2022-04-13 09:22:53 +12:00
Félix Saparelli 6b0f626441 Document project origin behaviour in man 2022-04-13 09:09:13 +12:00
Félix Saparelli 036d9a27e8 Ignore homedir if discovered as origin unless explicitly requested
Fixes #276
2022-04-12 21:59:05 +12:00
Félix Saparelli 98348be8b5 lib: v2.0.0-pre.14 2022-04-04 11:47:36 +12:00
David Calavera 20597802ad
Remove git2 as a dependency (#267)
This dependency cannot be sent between threads.
Instead use git-config which is a pure rust implementation to read git config files.

Uses the builtin values::Path struct to extract ignore paths.
It takes care of all the corner cases with how git interprets paths.
2022-04-04 11:43:30 +12:00
Félix Saparelli e8d3bb964c cli: v1.18.11 2022-03-28 10:29:14 +13:00
Félix Saparelli 386e01b06f The thing I said should never fail does in fact fail
Fixes #271
2022-03-28 10:14:54 +13:00
Félix Saparelli 57e2ddf9fa cli: v1.18.10 2022-03-27 18:23:06 +13:00
Félix Saparelli d38428f297 Look up project origin on implicit pwd
This may cause some more issues to crop up while waiting for --project-origin,
but it is the more correct behaviour.

Fixes #270
2022-03-27 16:31:58 +13:00
Félix Saparelli 7baf79e929 cli: v1.18.9 2022-03-18 15:18:58 +13:00
Félix Saparelli 3969264e91 lib: v2.0.0-pre.13 2022-03-18 15:00:02 +13:00
Félix Saparelli 71f2e38ecb Use cargo-install gh task 2022-03-18 14:12:23 +13:00
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