Commit graph

351 commits

Author SHA1 Message Date
Félix Saparelli
783da395bb Fix lib readme 2022-01-18 22:38:45 +13:00
Félix Saparelli
8748c062c4 Update deps 2022-01-18 22:21:21 +13:00
Félix Saparelli
044a8244f9
Almost forgot windows... 2022-01-16 20:17:32 +13:00
Félix Saparelli
8bd48c6290
Don't fail if we can't canonicalize an event path
e.g. for deletes
2022-01-16 20:06:44 +13:00
Félix Saparelli
4737937350
Remove generic tagged io error enum variant 2022-01-16 20:01:14 +13:00
Félix Saparelli
e2f27a1b01
Add context to last runtime io error
and remove generic runtime io error enum variant
2022-01-16 20:00:07 +13:00
Félix Saparelli
2ea62aec6a
Add context to last critical io error
and remove generic critical io error enum variant
2022-01-16 19:55:57 +13:00
Félix Saparelli
bc0fe6be70
Add context to io errors 2022-01-16 19:46:52 +13:00
Félix Saparelli
4085fc522c
Add SpecificIoError trait support for tagged error 2022-01-16 19:16:07 +13:00
Félix Saparelli
44a44a50d1
Move TaggedFiltererError into main error mod 2022-01-16 19:14:31 +13:00
Félix Saparelli
b29b3bf1e0
Add helper trait to add context to io errors 2022-01-16 19:09:50 +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
10b71847da
Add support for Pijul and Subversion 2022-01-16 16:13:05 +13:00
Félix Saparelli
3d32f2d24b
Hook up new globset signature 2022-01-16 16:09:53 +13:00
Félix Saparelli
561a34d90e
Drop globset::list_from_ignore_file 2022-01-16 15:21:10 +13:00
Félix Saparelli
817f4c2caf
Drop ignorefile tests from globset and tagged now that they're done via common IgnoreFilterer 2022-01-16 15:20:14 +13:00
Félix Saparelli
b8d9ad728e
Integrate IgnoreFilterer into GlobsetFilterer 2022-01-16 15:18:15 +13:00
Félix Saparelli
d6dfb87063
Integrate IgnoreFilterer into TaggedFilterer 2022-01-16 14:51:35 +13:00
Félix Saparelli
8219e577d0
Reduce swaplock hold for tagged compile globs 2022-01-16 14:51:11 +13:00
Félix Saparelli
f073eeb344
Add ::empty() and Clone to IgnoreFilterer 2022-01-16 14:49:14 +13:00
Félix Saparelli
0618eb45fc
Hold swaplock for less in change() 2022-01-16 14:48:29 +13:00
Félix Saparelli
ed6df57aa0
Ignore .git, .hg, etc while looking for ignore files 2022-01-16 02:36:22 +13:00
Félix Saparelli
1c388d6b2d
Logic inversione 2022-01-16 02:03:02 +13:00
Félix Saparelli
0c2b4848be
Be more efficient, and more importantly, correct, when ignoring ignores 2022-01-16 01:44:53 +13:00
Félix Saparelli
63f9eedfec Clippy 2022-01-16 00:58:30 +13:00
Félix Saparelli
e9bc4fcf1b
Add ignore support to ignore finder 2022-01-16 00:57:29 +13:00
Félix Saparelli
5bdc1b491f
Add tests for ignore filterer 2022-01-15 23:46:41 +13:00
Félix Saparelli
58d47f78e1
Add more filtering logging and spans 2022-01-15 23:46:06 +13:00
Félix Saparelli
1ce238949e
Reduce verbosity of tracing span output 2022-01-15 16:40:01 +13:00
Félix Saparelli
431ef710ee
Expose paths::PATH_SEPARATOR 2022-01-15 15:58:11 +13:00
Félix Saparelli
5e285074bd
Add ignore test helper 2022-01-15 15:15:40 +13:00
Félix Saparelli
2c840f4a2d
Reorganise the ignore mod for brevity 2022-01-15 15:12:32 +13:00
Félix Saparelli
0936a68355
Split ignore mod further 2022-01-12 00:59:39 +13:00
Félix Saparelli
ca4d4900a9
Add filterer and parser for ignore files 2022-01-12 00:54:21 +13:00
Félix Saparelli
31cbe69051
Configure miette docsurl globally per error type 2022-01-12 00:53:41 +13:00
Félix Saparelli
9527202c51
Add RuntimeError::Set of related errors 2022-01-12 00:52:39 +13:00
Félix Saparelli
6a541e5f27
Move ignore_files one level deeper
in preparation for new ignore functionality
2022-01-10 20:47:06 +13:00
Félix Saparelli
1c99546071
Add lots of logging to ignore file discovery 2022-01-01 01:42:39 +13:00
Félix Saparelli
7fa80f8715 lib: v2.0.0-pre.3 2021-12-29 21:49:07 +13:00
Félix Saparelli
d0bb14f39c
Maintain the naming of the env vars 2021-12-29 21:36:42 +13:00
Félix Saparelli
d39ffed51e lib: v2.0.0-pre.2 2021-12-29 21:29:30 +13:00
Félix Saparelli
185676cc1e
Fix doctests 2021-12-29 21:21:07 +13:00
Félix Saparelli
53d9a65e5f
Change env summarise to return &str as keys for ease of use 2021-12-29 20:52:17 +13:00
Félix Saparelli
ed72c4998e
Add access to events for {Pre,Post}Spawn
Also make access to events read-only (via Arc) for Action
2021-12-29 20:40:12 +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
0f51a6e794
Test filter files 2021-12-24 02:21:45 +13:00
Félix Saparelli
26254f7022
Add support for "tagged filter files" 2021-12-24 02:20:56 +13:00
Félix Saparelli
8f9492a7bc
Fix filtering when there's both a Glob and a NotGlob match 2021-12-24 02:19:58 +13:00
Félix Saparelli
f19dbf945d
Express process end exceptions as hex in filters 2021-12-23 00:32:56 +13:00
Félix Saparelli
9d04143202 lib: v2.0.0-pre.1 2021-12-21 18:19:16 +13:00
Félix Saparelli
d14e7ff41b
Implement process completion signal matching 2021-12-21 18:05:52 +13:00
Félix Saparelli
8a7699cf2f
Add process completion signal tests 2021-12-21 18:01:51 +13:00
Félix Saparelli
e4d669e230
Implement most of process completion matching
(except ExitSignal)
2021-12-21 17:56:14 +13:00
Félix Saparelli
e7de00edfe
Change process completion auto op to glob 2021-12-21 17:49:24 +13:00
Félix Saparelli
5856f976db
Add tests for process completion 2021-12-21 17:49:02 +13:00
Félix Saparelli
4323a28852
Implement signal matching 2021-12-21 16:38:57 +13:00
Félix Saparelli
ff8b019245
Add tests for signal matchers 2021-12-21 16:29:36 +13:00
Félix Saparelli
8a25ea95af
Add sig alias for signal parsed tag 2021-12-21 16:19:35 +13:00
Félix Saparelli
962c7cd6d6
Test pids 2021-12-21 16:14:58 +13:00
Félix Saparelli
02534defd6
Test feks 2021-12-18 12:53:33 +13:00
Félix Saparelli
946c52b513
Document op and matcher mappings 2021-12-18 12:44:59 +13:00
Félix Saparelli
159a8a4b2e
Change auto op for FEKs to glob 2021-12-18 12:44:40 +13:00
Félix Saparelli
ba9d9939d9
Add more aliases for matcher 2021-12-18 12:44:18 +13:00
Félix Saparelli
5ebceddc3e
Start testing nonpaths 2021-12-17 23:29:02 +13:00
Félix Saparelli
d38a78631f
Test negation in tagged parser 2021-12-17 23:19:36 +13:00
Félix Saparelli
debded9c0e
Add stability note to tagged filterer 2021-12-17 23:19:16 +13:00
Félix Saparelli
d6b5dd5ae0
Test parser 2021-12-17 03:57:25 +13:00
Félix Saparelli
b59acaa9cf
Start testing parser and nonpaths 2021-12-15 07:24:13 +13:00
Félix Saparelli
e4cd1d7379
Test ignorefiles on globset, bugs and all 2021-12-15 06:39:54 +13:00
Félix Saparelli
1af3a1c849
Extract common test helpers 2021-12-15 06:33:55 +13:00
Félix Saparelli
23925db51e
Test scopes 2021-12-15 06:01:40 +13:00
Félix Saparelli
015447e433
Fix whitelisting in pathed globs 2021-12-15 04:57:17 +13:00
Félix Saparelli
a4c863baf8
Test ignore files with folders and globs 2021-12-14 01:47:34 +13:00
Félix Saparelli
f8250f47de
Suppress supervisor.handle warning 2021-12-10 00:53:18 +13:00
Félix Saparelli
289f76ae6c
Test outcome resolving 2021-12-08 22:07:58 +13:00
Félix Saparelli
f229456f88
Specify and test sorting behaviour 2021-12-08 21:43:10 +13:00
Félix Saparelli
89fd99a683
Add multipaths tests 2021-12-08 21:25:03 +13:00
Félix Saparelli
e9275702d1
Fix common_path stemming and start testing summarise_events_to_env 2021-12-07 01:14:19 +13:00
Félix Saparelli
a3751519e8
Re-export notify event types 2021-12-07 00:50:33 +13:00
Félix Saparelli
41869af688
Simplify summarise_events_to_env signature (and usage) 2021-12-07 00:49:14 +13:00
Félix Saparelli
0826d531af
Test scoped path glob filtering 2021-12-02 21:33:48 +13:00
Félix Saparelli
ce3f2a3cbd
Fix tests/document remaining differences from globset 2021-12-01 01:45:19 +13:00
Félix Saparelli
2d633d9177
Use proper ignore API so path globs match correctly
This notably fixes the v1 "confusing" behaviour when matching folders,
where the expectation is for any of:

folder
folder/
/folder

to match the folder and all paths below it, but v1 would only do this
when *both* of these were added:

**/folder
**/folder/**

Which is very verbose and has caught literally everyone who's ever tried
to do this kinda thing.

The old behaviour is preserved in the globset filterer, for
compatibility, as there are other small behavioural changes that this
affects, even though the new behaviour in the tagged filterer is
arguably the most correct and the old is a bug.
2021-12-01 01:41:07 +13:00
Félix Saparelli
1ff3cbf455
Add lots more logging to add_filter path 2021-11-30 02:11:50 +13:00
Félix Saparelli
f3bc5fa6d3
Test globset properly
All paths are canonicalised at entrance, so testing should reflect that
2021-11-30 01:42:00 +13:00
Félix Saparelli
4367380a7c
Ignore failing tests 2021-11-28 02:28:14 +13:00
Félix Saparelli
269894e1b0
Add tests for tagged (paths only)
- v1 buggy tests don't pass
2021-11-28 02:22:07 +13:00
Félix Saparelli
0efdf8ea16
Pull globset tests from v1 2021-11-22 22:22:39 +13:00
Félix Saparelli
a12a83cea2
Fix mistaken assumption in ProcessEnd::from(unix) 2021-10-28 01:03:54 +13:00
Félix Saparelli
745e3baa71
Span tracing in globset filterer check 2021-10-28 01:03:24 +13:00
Félix Saparelli
631b492064
Span tracing in tagged filterer check 2021-10-28 01:01:35 +13:00
Félix Saparelli
b13c23c576 Use latest stable toolchain in audit 2021-10-26 21:13:57 +13:00
Félix Saparelli
6d23339dea
Yes but why rely on bits 2021-10-22 06:04:11 +13:00
Félix Saparelli
5c012c5b0c
Fix nonzeros not being bit-opable (windows) 2021-10-22 05:55:28 +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
6671863f2f
Replace std FileType with our own (serde-able) enum 2021-10-20 01:18:43 +13:00
Félix Saparelli
401437784d
Opt in to 2021 ed 2021-10-20 01:00:21 +13:00
Félix Saparelli
be37349b90
Bump msrv to 1.56.0 (2021 ed) 2021-10-20 00:48:47 +13:00