Commit graph

242 commits

Author SHA1 Message Date
github-actions[bot]
c46187f92d
release: project-origins v1.1.1 (#408)
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Félix Saparelli <felix@passcod.name>
2022-09-07 03:29:23 +00:00
Félix Saparelli
24a3a3c2f2
Deps: update miette and git-config (#406) 2022-09-07 02:52:53 +00:00
Félix Saparelli
6c40113e9e
Run cargo update (#392) 2022-09-07 13:15:38 +12:00
github-actions[bot]
79bcf6838d
release: watchexec v2.0.1 (#390)
Co-authored-by: github-actions <github-actions@github.com>
2022-09-07 00:57:50 +00:00
Félix Saparelli
f684db57ee
Update Notify to stable (#384) 2022-09-02 09:12:47 +00:00
github-actions[bot]
ce68338381 release: project-origins v1.1.0 (#385)
This is a release PR for **project-origins** to version **1.1.0**.

Upon merging, you will still need to manually publish the cargo crate.

```
$ cd crates/project-origins
$ cargo publish
```

To merge this release, review the changes then say:

| bors r+ p=10 |
|:-:|
2022-08-24 09:23:52 +00:00
github-actions[bot]
f866e6f498 release: cli v1.20.5 (#374)
This is a release PR for **cli** to version **1.20.5**.

Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.

```
$ cd crates/cli
$ cargo publish
```

To merge this release, review the changes then say:

| bors r+ p=10 |
|:-:|

---

_Edit release notes into the section below:_

<!-- do not change or remove this heading -->
### Release notes

- Fix: mimalloc was set as the global allocator in the watchexec library, instead of leaving it to downstreams. (#369)
- Releng: s390x and ppc64le targets were added to be prebuilt. (#373)
2022-08-03 23:10:41 +00:00
github-actions[bot]
bb9021eec7 release: cli v1.20.4 (#366)
This is a release PR for **cli** to version **1.20.4**.

Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.

```
$ cd crates/cli
$ cargo publish
```

To merge this release, review the changes then say:

| bors r+ p=10 |
|:-:|

---

_Edit release notes into the section below:_

<!-- do not change or remove this heading -->
### Release notes

- Remove CLI help tests. They'll be replaced with brand new integration testing that's not obnoxious. (#362, #363, #365)
- Fix the install filenames for first-party RPM packagings, and possibly for DEBs as well. (#292, #364)
2022-07-01 14:13:39 +00:00
Félix Saparelli
f0d64f07df Remove CLI help tests (#363)
Fixes #362

I've been working to remake the tests better / actually valuable but this is a quick "fix" for that issue... in any case help tests would have been gone anyway.
2022-07-01 13:39:43 +00:00
github-actions[bot]
f9ec29a60b release: cli v1.20.3 (#359)
This is a release PR for **cli** to version **1.20.3**.

Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.

```
$ cd crates/cli
$ cargo publish
```

To merge this release, review the changes then say:

| bors r+ p=10 |
|:-:|

---

_Edit release notes into the section below:_

<!-- do not change or remove this heading -->
### Release notes

- Dependencies are set manually for first-party deb and rpm packages, so they should install without error. A note that these are provided on a best-effort basis and not tested; when available you should prefer your distribution's packaging. (#292, #358)

Co-authored-by: Félix Saparelli <felix@passcod.name>
2022-06-29 03:48:50 +00:00
github-actions[bot]
64895132aa release: cli v1.20.2 (#357)
This is a release PR for **cli** to version **1.20.2**.

Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.

```
$ cd crates/cli
$ cargo publish
```

To merge this release, review the changes then say:

| bors r+ p=10 |
|:-:|
2022-06-28 14:15:48 +00:00
github-actions[bot]
50e2f0acbf release: cli v1.20.1 (#352)
This is a release PR for **cli** to version **1.20.1**.

Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.

```
$ cd crates/cli
$ cargo publish
```

To merge this release, review the changes then say:

| bors r+ p=10 |
|:-:|
2022-06-28 12:43:58 +00:00
Félix Saparelli
4970646f1a Fix logging initialisation (#348)
- Fixes #345 (first crash, related to `RUST_LOG` being set)
- Adds multiple warnings when non-standard logging or build options are set
- Fixes the (internal) crate name of the cli so that the log target `watchexec_cli` works
- Fixes the verbosity config to target the actual crate names (snake vs kebab case)
- Fixes a usage error related to tracing's `log` compatibility
2022-06-28 12:21:19 +00:00
github-actions[bot]
77d4b03398 release: cli v1.20.0 (#337)
This is a release PR for **cli** to version **1.20.0**.

Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.

```
$ cd crates/cli
$ cargo publish
```

To merge this release, review the changes then say:

| bors r+ p=10 |
|:-:|
2022-06-23 09:57:55 +00:00
github-actions[bot]
d71412cd12 release: filterer-tagged v0.1.0 (#336)
This is a release PR for **filterer-tagged** to version **0.1.0**.

Upon merging, you will still need to manually publish the cargo crate.

```
$ cd crates/filterer/tagged
$ cargo publish
```

To merge this release, review the changes then say:

| bors r+ p=10 |
|:-:|
2022-06-23 09:24:07 +00:00
github-actions[bot]
9c343a6eb2 release: filterer-globset v1.0.0 (#335)
This is a release PR for **filterer-globset** to version **1.0.0**.

Upon merging, you will still need to manually publish the cargo crate.

```
$ cd crates/filterer/globset
$ cargo publish
```

To merge this release, review the changes then say:

| bors r+ p=10 |
|:-:|
2022-06-23 03:33:20 +00:00
github-actions[bot]
5cf89eb7b4 release: filterer-ignore v1.0.0 (#333)
This is a release PR for **filterer-ignore** to version **1.0.0**.

Upon merging, you will still need to manually publish the cargo crate.

```
$ cd crates/filterer/ignore
$ cargo publish
```

To merge this release, review the changes then say:
| bors r+ p=10 |
|:-:|
2022-06-23 00:40:59 +00:00
github-actions[bot]
c3df998895 release: lib v2.0.0 (#329)
This is a release PR for **lib** to version **2.0.0**.

Upon merging, you will still need to manually publish the cargo crate.

```
$ cd crates/crates/lib
$ cargo publish
```

To merge this release, review the changes then say:

`bors r+ p=10`

Co-authored-by: Félix Saparelli <felix@passcod.name>
2022-06-17 00:29:33 +00:00
Félix Saparelli
adc4a0a576 Add --log-file so logs are easier to collect (#321) 2022-06-16 15:56:59 +00:00
Félix Saparelli
4562c0f2f9 release: ignore-files v1.0.0 (#318)
Co-authored-by: github-actions <github-actions@github.com>
2022-06-16 11:09:16 +00:00
github-actions[bot]
b133486c66 release: project-origins v1.0.0 (#314)
This is a release PR for **project-origins** to version **1.0.0**.

  Upon merging, you will still need to manually publish the cargo crate.

```
$ cd crates/project-origins
$ cargo publish
```

To merge this release, review the changes then say:

```
bors r+
```
2022-06-16 09:01:22 +00:00
Félix Saparelli
e98989f099
Almost there 2022-06-16 20:28:07 +12:00
Félix Saparelli
35cf63bc85 Split into more crates (#307) 2022-06-15 03:25:05 +00:00
Félix Saparelli
70aa48c59d Upgrade to clap 3 (#304)
This is just the upgrade, including the new option categories. Move to the derive API or more advanced features is left for later.
2022-06-11 08:05:11 +00:00
Félix Saparelli
ae2718ec4d Upgrade to miette 4 (#303) 2022-06-11 07:55:43 +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
edf023c009 cli: v1.19.0 2022-04-15 15:49:58 +12:00
Félix Saparelli
b374de6097 cli: v1.18.12 2022-04-13 09:22:53 +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
57e2ddf9fa cli: v1.18.10 2022-03-27 18:23:06 +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
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
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
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
9ff5875327 lib: v2.0.0-pre.11 2022-03-07 20:59:47 +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
8ebcf083b8 Start work on 1.18.6 2022-01-31 19:15:30 +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
7ccd3c92e0 cli: v1.18.4 2022-01-26 10:04:09 +13:00
Félix Saparelli
e6d80558f8 Use lib pre.8 2022-01-26 10:03:53 +13:00
Félix Saparelli
fc40336db7 lib: v2.0.0-pre.8 2022-01-26 10:01:15 +13:00
Félix Saparelli
77ee59a9e3 cli: v1.18.3 2022-01-26 02:36:27 +13:00
Félix Saparelli
d067b5a5de Use lib pre.7 2022-01-26 02:36:01 +13:00
Félix Saparelli
f6a3b76d92 lib: v2.0.0-pre.7 2022-01-26 02:33:28 +13:00
Félix Saparelli
a51979b54e cli: v1.18.2 2022-01-24 20:53:20 +13:00
Félix Saparelli
b5c16f291e cli: v1.18.1 2022-01-23 21:53:29 +13:00
Félix Saparelli
7effd1a61e cli: v1.18.0 2022-01-19 00:05:03 +13:00
Félix Saparelli
7d60b1689e Use lib pre.6 2022-01-19 00:04:41 +13:00
Félix Saparelli
a3fd743786 lib: v2.0.0-pre.6 2022-01-19 00:00:46 +13:00
Félix Saparelli
631c328a55 Use version for lib dependency 2022-01-18 23:56:10 +13:00
Félix Saparelli
c91ab99ac3 lib: v2.0.0-pre.5 2022-01-18 23:27:30 +13:00
Félix Saparelli
8748c062c4 Update deps 2022-01-18 22:21:21 +13:00
Félix Saparelli
c821faf383
Split error mod and split generic/specific io errors 2022-01-16 18:57:40 +13:00
Félix Saparelli
26e0b60b7b lib: v2.0.0-pre.4 2022-01-16 16:55:55 +13:00
Félix Saparelli
7fa80f8715 lib: v2.0.0-pre.3 2021-12-29 21:49:07 +13:00
Félix Saparelli
d39ffed51e lib: v2.0.0-pre.2 2021-12-29 21:29:30 +13:00
Félix Saparelli
c45840b657
Load global and -F filter files 2021-12-29 18:39:31 +13:00
Félix Saparelli
d64135c2c0
Upgrade tracing-subscriber to 0.3 2021-12-24 02:35:26 +13:00
Félix Saparelli
c3094eaff8
Upgrade to tokio-console 0.1 2021-12-24 02:28:21 +13:00
Félix Saparelli
9d04143202 lib: v2.0.0-pre.1 2021-12-21 18:19:16 +13:00
Félix Saparelli
470cdd698b
Replace ExitStatus with our own type in Event 2021-10-22 05:38:48 +13:00
Félix Saparelli
0b60f5edb5 lib: v2.0.0-pre.0 2021-10-17 03:41:13 +13:00
Félix Saparelli
e62f313533
Eliminate eyre from doctests too 2021-10-16 19:08:35 +13:00
Félix Saparelli
2225b6d097
Reduce deps featureset 2021-10-16 17:27:21 +13:00
Félix Saparelli
948388b019 Reduce featureset of dependencies (tokio,git2) 2021-10-15 14:27:17 +13:00
Félix Saparelli
ae6af17aea
Find and load all ignores for watchexec cli 2021-10-14 00:38:56 +13:00
Félix Saparelli
fd2edbf11c
Compile gitignore patterns 2021-10-13 01:49:38 +13:00
Félix Saparelli
1dff1f5644
Find project origins more efficiently 2021-10-10 23:35:11 +13:00
Félix Saparelli
59fe74656a
Stop using eyre even in examples 2021-10-10 21:04:40 +13:00
Félix Saparelli
65b042ec8f
Discover ignore files for path and for user/env 2021-10-10 16:03:05 +13:00
Félix Saparelli
a1fce1b06e
Replace eyre with miette
and upgrade it to 3.2.0
2021-10-09 18:43:51 +13:00
Félix Saparelli
288ce9d2f4
== and != perform case-insensitive comparisons 2021-09-30 02:34:27 +13:00
Félix Saparelli
f93ba29982 Update deps 2021-09-29 23:38:02 +13:00
Félix Saparelli
dfb5525c7e Add tokio-console 2021-09-29 01:47:18 +13:00
Félix Saparelli
84dc77f787 Add parser for filters 2021-09-14 20:11:29 +12:00
Félix Saparelli
6a55f5cc6d
Start on filter types 2021-09-13 19:51:07 +12:00
Félix Saparelli
e939f97c90
Move config creation out of arg parsing, and start on using libv2 2021-08-24 20:23:37 +12:00
Félix Saparelli
b2effda341
Update to miette 1.0 beta 2021-08-23 02:37:13 +12:00
Félix Saparelli
3066ee5913
Implement most of process handling 2021-08-23 00:28:20 +12:00
Félix Saparelli
350b85e0c7
Allow an outcome to be determined by the action handler without &mut! 2021-08-22 18:56:57 +12:00
Félix Saparelli
9f34492c79
Upgrade to notify pre.12 2021-08-20 02:59:39 +12:00
Félix Saparelli
6a46c2bff3
Refactor watchexec to only have &self methods and default to wrap it in Arc 2021-08-20 02:55:34 +12:00
Félix Saparelli
249c581dc9
Make channel buffers configurable 2021-08-19 21:28:56 +12:00
Félix Saparelli
0bb38f40a5
Start off on main interface 2021-08-19 01:12:50 +12:00
Félix Saparelli
cae00070fb
Remove chrono dep 2021-08-18 18:54:05 +12:00
Félix Saparelli
f5e19a6e5f
Adapt Shell command builder 2021-08-17 03:09:22 +12:00
Félix Saparelli
7053360187
Clarify fs worker usage 2021-08-17 01:37:01 +12:00