You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Eric Radman a2ef315f84 Add some clarify: BSD-licensed compatibility libraries are only used on MacOS and Linux 7 years ago
missing Removed setproctitle(3) compatibility code to avoid the 3-term BSD license and extra bloat. This functionality simply won't be available on MacOS or Linux. 7 years ago
.hgtags Added tag entr-2.4 for changeset c0009123230b 7 years ago
LICENSE Add some clarify: BSD-licensed compatibility libraries are only used on MacOS and Linux 7 years ago
Makefile.bsd Reintroduce ${DESTDIR} for STAGEDIR installation on FreeBSD and pkgsrc 7 years ago
Makefile.linux Removed setproctitle(3) compatibility code to avoid the 3-term BSD license and extra bloat. This functionality simply won't be available on MacOS or Linux. 7 years ago
Makefile.linux-lbsd Define architecture in Makefile instead of testinf for __linux or __APPLE__. use strlcpy.c from OpenBSD 8 years ago
Makefile.macos Include missing/setproctitle.c from MacOS makefile 7 years ago
README.md Spell LICENSE correctly 7 years ago
configure Include missing/setproctitle.c from MacOS makefile 7 years ago
data.h Rename struct watch_file_t to WatchFile. Coding standards discourage the use of names ending in _t. Mixed case is readable for this type. 8 years ago
entr.1 Man page notes that restart mode will wait for the utility to exit to ensure that global resources such as sockets are released 7 years ago
entr.c Man page notes that restart mode will wait for the utility to exit to ensure that global resources such as sockets are released 7 years ago
entr_spec.c Convert mkfifo_01() from a functional test to a unit test, making the _spec file free of side-effects. We now pass clang's scan-build. 7 years ago
regress.sh Convert mkfifo_01() from a functional test to a unit test, making the _spec file free of side-effects. We now pass clang's scan-build. 7 years ago

README.md

Event Notify Test Runner

A utility for running arbitrary commands when files change. Uses kqueue(2) or inotify(7) to avoid polling. entr responds to file system events by executing command line arguments or by writing to a FIFO.

entr was written to provide to make rapid feedback and automated testing natural and completely ordinary.

Installation - BSD, Mac OS, and Linux

./configure
make test
make install

To see available build options run ./configure -h

Installation - Mac OS/Homebrew

brew install entr

Installation - Ports

Available in OpenBSD ports, FreeBSD ports, and pkgsrc under sysutils/entr.

Examples

Rebuild project when source files change

  $ find src | entr make

Clear the screen and run tests

  $ ls *.py | entr sh -c 'clear; ./test.py'

Launch and auto-reload a node.js server

  $ ls *.js | entr -r node index.js

Convert Markdown files to HTML using a FIFO. Only files that change will be processed.

$ ls *.md | entr +notify &
$ while read F
> do
>   markdown2html $F
> done < notify

Next Release: 2.5

  • Removed compatibility code using the 3-term BSD license

Releases History

2.4 License file describes the copyright for the compatibility libraries 2013­12-18

2.3 Wait for processes to terminate in restart mode 2013-12-16

2.2 Process every delete or rename event to ensure files remain tracked 2013-08-07

2.1 Zero-dependency build on Linux using built-in compatibility layer 2013-07-01

2.0 More portable build; runs on old architectures without C99 support 2013-06-17

1.9 New auto-reload option 2013-04-13

1.8 Loosing a file under watch is always fatal 2012-12-05

1.7 Successfully stat deleted files before running a command 2012-11-20

1.6 Works with NFS mounts on Linux, no need for pthreads on BSD 2012-08-10

1.5 Support interactive applications by opening a TTY 2012-07-29

1.4 New regression tests and better Linux support 2012-05-22

1.3 New FIFO mode and better support of Mac OS 2012-05-17

1.2 Support for Linux via libkqueue 2012-04-26

1.1 Support for Mac OS added. 2012-04-17

1.0 Tested on all the major BSDs 2012-04-12