Commit Graph

148 Commits

Author SHA1 Message Date
Matt Green 09448cd91e Fix reap() hanging when child processes are still running 2016-12-20 13:21:24 -05:00
Matt Green 171132a722 rustfmt & clippy fixes 2016-12-20 12:20:21 -05:00
Matt Green b2c809c87a SIGCHLD handling 2016-12-20 11:44:18 -05:00
Matt Green a925cb356a Fix sending SIGKILL by default when restarting processes 2016-12-19 15:36:59 -05:00
Matt Green 9c65e816da Add -k option to send SIGKILL instead of SIGTERM; closes #31 2016-12-19 11:37:20 -05:00
Matt Green 787c31040c Remask received signal after re-raising it 2016-12-15 09:41:10 -05:00
Matt Green 154c23a5a4 Propagate SIGTSTP/SIGCONT to children 2016-12-14 20:19:58 -05:00
Matt Green 54baf4e384 Add process::spawn function 2016-11-23 12:59:56 -05:00
Matt Green f768721ca3 Remove --watch option, always watch cwd 2016-11-17 08:45:55 -05:00
Matt Green 0e9dafffc8 Unix: pipe read/write handles EINTR 2016-11-16 20:18:46 -05:00
Matt Green 12557d11bf Fix setpgid() racing killpg()/waitpid() in tests 2016-11-16 08:55:15 -05:00
Matt Green e4557e462b Wait for child process, not any child process in group 2016-11-15 22:43:51 -05:00
Matt Green 5b2858e6d6 Die quietly if exec() fails 2016-11-15 17:04:15 -05:00
Matt Green 3bf3086a29 Replace before_exec with fork/exec, removing Rust nightly requirement 2016-11-15 16:55:29 -05:00
Matt Green bdce629782 Drop size optimizations that require nightly builds 2016-11-13 18:34:23 -05:00
Matt Green 0ef334e2a1 Size optimizations 2016-11-10 19:43:13 -05:00
Matt Green 68960fec9a Style fixes 2016-11-09 17:48:38 -05:00
Matt Green 48b0def80d Fix warnings in tests 2016-11-09 17:37:35 -05:00
Matt Green 2d2a8cb079 rustfmt 2016-11-09 17:25:52 -05:00
Matt Green 707fa2e952 Windows compilation fixes 2016-11-09 17:20:13 -05:00
Matt Green 6523f6edf5 Cleanup, initial Windows implementation of interrupt handler 2016-11-09 17:00:24 -05:00
Matt Green cf0a98b7a5 Remove use of select! 2016-11-09 09:44:00 -05:00
Matt Green 0d85d8275a Fix gitignore searching not terminating in some cases; closes #25 2016-11-08 17:52:29 -05:00
David Raifaizen dfe9dcc338 Refactoring get_longest_common_path to be simpler and more efficient 2016-11-05 08:42:45 -04:00
Matt Green a2e66f179c Upgrade to notify 3; closes #22 2016-11-03 17:20:43 -04:00
Matt Green 06bcef5853 Use globset in NotificationFilter; closes #24 2016-11-03 17:04:39 -04:00
Matt Green 8f916c495f Apply clippy suggested fixes 2016-10-30 12:37:34 -04:00
Matt Green 69eedd4cc5 rustfmt fixes 2016-10-30 12:28:54 -04:00
Matt Green d859b4b70e Drop threadpool dep (was spawning threads over and over) 2016-10-30 12:28:11 -04:00
Matt Green 2d7715f8d7 Merge pull request #20 from craftytrickster/common-prefix
Creating method to update the watch_exec variable with the greatest c…
2016-10-30 10:06:40 -04:00
David Raifaizen 8713140a4e Creating method to update the watch_exec variable with the greatest common path found among the changed filepaths 2016-10-29 14:39:48 -04:00
Matt Green 85f0a4aaaf Make --run-initially default, add --postpone flag to disable 2016-10-29 10:43:45 -04:00
Matt Green 82713fc906 Fix watching multiple dirs with differing roots 2016-10-29 10:24:31 -04:00
Matt Green 9652aeb837 Fix dotted dir default filter to only fire on dirs 2016-10-29 10:21:04 -04:00
Matt Green a182fda43f Add NotificationFilter tests 2016-10-29 09:37:50 -04:00
Matt Green ed865d9039 Linux: fix logspam from inotify's notification volume 2016-10-28 08:58:15 -04:00
Matt Green 672fd469a9 Reorder new() 2016-10-28 08:46:35 -04:00
Matt Green 4370d41e71 Make NotificationFilter immutable 2016-10-27 08:27:16 -04:00
Matt Green fdc31d4b02 Fix test 2016-10-26 16:29:34 -04:00
Matt Green e26eff226c Process module improvements, use later nix 2016-10-26 16:20:44 -04:00
Matt Green d14ccaaa1a Fix Windows warnings 2016-10-26 11:52:00 -04:00
Matt Green f04083a21d Use Process & ProcessReaper to handle async process waiting 2016-10-26 11:02:04 -04:00
Matt Green 1cc4d92345 PollWatcher sometimes reports directories with new/deleted files 2016-10-26 11:02:04 -04:00
Matt Green da46e3ffb5 Fix unused import warnings 2016-10-25 07:27:07 -04:00
Matt Green f7771a4480 Mark process tests as Unix-only for now 2016-10-25 07:19:41 -04:00
Matt Green 50e583ca8c Some tests for the Runner module 2016-10-25 07:05:53 -04:00
Matt Green 3d3915844a Improve runner API 2016-10-25 05:47:53 -04:00
Matt Green 918fd668a5 Polishing up process group handling and handling of unresponsive child processes 2016-10-24 21:49:12 -04:00
Matt Green d01da72e0b Forgot a #[cfg(unix)] marker on install() 2016-10-24 09:55:00 -04:00
Matt Green 0e0d14b475 Wait for FS activity to stop before proceeding; use interrupt handling 2016-10-24 09:53:06 -04:00
Matt Green d10b790c35 Use rustfmt to fix outstanding style issues 2016-10-23 20:12:48 -04:00
Matt Green 6a812d31b4 Extract CLI arg handling to args module 2016-10-23 20:07:48 -04:00
Matt Green 7b766b1f98 Drop signal crate in favor of nix 2016-10-23 15:15:28 -04:00
Matt Green f0d4a14e41 Fix Windows bugs relating to mutability 2016-10-22 17:05:43 -04:00
Matt Green 83b91e51d0 Refactor Runner a bit; add Drop impl for eventual use 2016-10-22 16:54:16 -04:00
Matt Green e67751bb56 Fix build errors on Windows 2016-10-22 15:51:17 -04:00
Matt Green 865b0b7d90 WIP: Add interrupt_handler module 2016-10-22 15:37:03 -04:00
Matt Green 1582240dbc Fix silly error 2016-10-20 14:30:05 -04:00
Matt Green 7d8f909220 Add watcher module, back to requiring nightly builds 2016-10-20 14:27:11 -04:00
Matt Green 03775b61ce No need to use before_exec() to call setpgid() 2016-10-20 12:09:51 -04:00
Matt Green b16cbec3ee Fix compile error on Windows 2016-10-20 11:50:25 -04:00
Matt Green f3c6df8845 Launch child processes in new process group 2016-10-20 11:38:51 -04:00
Matt Green 0a08d3f8ef Fix polling always being used 2016-10-20 10:07:55 -04:00
Matt Green 90d6659141 Add --force-poll option; closes #7 2016-10-19 20:19:01 -04:00
Matt Green a75dd49114 Set $WATCHEXEC_UPDATED_PATH to first changed path in child process;
closes #11
2016-10-19 19:40:50 -04:00
Matt Green 249e5a84e4 Search for .gitignore files in parent dirs; closes #10 2016-10-19 18:54:20 -04:00
Matt Green f1597cc1a6 Merge pull request #13 from palfrey/12-run-initially
Option to run command initially, before first file change
2016-10-18 18:05:14 -04:00
Tom Parker 7eabee9f40 Initial command run is outside the loop! 2016-10-18 22:36:12 +01:00
Tom Parker 6887552aab Option to run command initially, before first file change (fixes #12) 2016-10-18 22:11:05 +01:00
Atmajeet Kaur f7c628c7e1 some clippy-suggested improvements 2016-10-18 15:39:40 +02:00
Garrett Squire 59724589ea use cfg attributes instead of macro for OS specific functionality 2016-10-17 10:35:15 -07:00
Matt Green 94311c25bb Ignore .DS_Store files by default 2016-10-13 20:23:38 -04:00
Matt Green 536613852f Enhance debug output; rename option back to debug 2016-10-13 20:21:29 -04:00
Matt Green 392aea8ca3 Use crate_version! macro 2016-10-13 19:57:21 -04:00
Matt Green b6831c4d30 Cleanups/more logging 2016-10-13 19:47:04 -04:00
Matt Green 8923bc1e1c Use log & env_logger crates 2016-10-13 17:59:46 -04:00
Matt Green 20fe9169b4 Add --no-vcs-ignore flag 2016-10-12 09:43:22 -04:00
Matt Green d7a62ed30a Canonicalize cwd; fixes gitignore patterns not matching on Windows 2016-10-12 09:22:45 -04:00
Matt Green 9836882e71 Refine gitignore module 2016-10-12 09:06:01 -04:00
Matt Green f20d02a7f8 Support for gitignore files 2016-10-11 22:43:53 -04:00
Matt Green db677c77ec Extract command invocation to runner module 2016-10-09 14:07:23 -04:00
Matt Green c990c9c4d4 Canonicalize watched paths 2016-09-27 09:43:28 -04:00
Matt Green 00bb3eed17 Platform-agnostic dotted dir ignore 2016-09-24 14:06:51 -04:00
Matt Green 406e137cef Add -r option to restart commands on subsequent events; closes #4 2016-09-24 13:52:54 -04:00
Matt Green 6072b353b9 Remove unnecessary clone 2016-09-23 14:04:19 -06:00
Matt Green b08880d4e4 Return unit from add_* fns 2016-09-23 14:00:26 -06:00
Matt Green 0892da59e2 Rename Filter to NotificationFilter 2016-09-23 13:52:50 -06:00
Matt Green 0747d643c1 Improved nomenclature 2016-09-23 13:49:55 -06:00
Matt Green bb28637990 Rename -d to -v; support watching multiple paths via --watch option 2016-09-23 13:38:26 -06:00
Matt Green d087092f64 Infer path, add -e option to monitor files based on file extensions 2016-09-23 11:59:57 -06:00
Matt Green 9927e1018e Fix ignoring of dotted dirs 2016-09-23 09:59:54 -06:00
Matt Green 553687b315 Add filter/ignore options 2016-09-21 15:02:20 -06:00
Matt Green e01c45d6f5 Rename to watchexec 2016-09-18 16:42:11 -04:00
Matt Green 5b97663990 Hacky .gitignore handling 2016-09-14 16:50:14 -04:00
Matt Green fdc6564bb1 Ignore paths starting with a dot 2016-09-14 16:11:35 -04:00
Matt Green 08d21a6dad Simple screen clear & debounce 2016-09-14 15:43:58 -04:00
Matt Green 37f0b062a5 Use notify 2.6.3 2016-09-14 14:19:05 -04:00
Matt Green 5cf5ce73ca Initial commit 2016-09-14 09:30:59 -04:00