watcher VS watchman

Compare watcher vs watchman and see what are their differences.

watcher

watcher is a Go package for watching for files or directory changes without using filesystem events. (by radovskyb)

watchman

Watches files and records, or triggers actions, when they change. (by facebook)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
watcher watchman
3 31
1,437 12,208
- 0.9%
0.0 9.0
6 months ago 6 days ago
Go C++
BSD 3-clause "New" or "Revised" License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

watcher

Posts with mentions or reviews of watcher. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-27.

watchman

Posts with mentions or reviews of watchman. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-22.
  • Dev Container for React Native with Expo
    5 projects | dev.to | 22 Sep 2023
    postCreateCommand This section permit to execute a command after the build of the container. I've used this command to execute a script to install Expo and other dependencies like watchman
  • Show HN: I built a tool to get instant test results (
    5 projects | news.ycombinator.com | 16 Nov 2022
  • Watchman: Execute a command when something changes
    13 projects | news.ycombinator.com | 5 Oct 2022
    Not to be confused with Facebook’s file watch daemon, which does the same sort of thing but is more complicated. There’s a bunch of tools that integrate Facebook’s watchman for more efficient change tracking.

    https://facebook.github.io/watchman/

  • what's up with inotifywait & this odd 'aborting' behavior?
    2 projects | /r/linuxquestions | 4 Aug 2022
    I've wondered if I should use a different tool like https://github.com/eradman/entr or https://github.com/facebook/watchman (and node.js scripts watch filesystem all the time)... but I'd much prefer to stick with inotify if possible and appropriate.
  • I wrote a compilation of CLI tools I've been using for 2+ years. One of my first blog posts!
    6 projects | /r/commandline | 18 Jul 2022
    entr - I have a script for simple single-file cases and I use watchman for more complex ones. I may reevaluate those tools and try this some day, as it seems easier.
  • What Comes After Git
    13 projects | news.ycombinator.com | 4 Jul 2022
    How about `git status`?

    The first SSD I bought back in 2008 was to put a large git repo on it; it helped. With much larger repos, like those I had to work with at Facebook, even an NVMe drive becomes a bit uncomfortable, and one has to use something like Watchman [1] to track changes without a rather noticeable delay.

    [1]: https://github.com/facebook/watchman

  • Using Django + Vue in Docker for development
    3 projects | /r/django | 23 May 2022
    RUN cd /tmp \ && apt-get install --no-install-recommends -y \ ca-certificates \ curl \ unzip \ && curl -L https://github.com/facebook/watchman/releases/download/v2022.05.09.00/watchman-v2022.05.09.00-linux.zip > watchman-v2022.05.09.00-linux.zip \ && unzip watchman-v2022.05.09.00-linux.zip \ && chmod ugo+x -R watchman-v2022.05.09.00-linux/bin \ && mv watchman-v2022.05.09.00-linux/bin/ /usr/bin/ \ && rm -rf watchman-v2022.05.09.00-linux
  • I can't install tlp to limit my battery charge
    2 projects | /r/linuxquestions | 13 May 2022
    terminal message: borislav@borislav-PC:~$ sudo add-apt-repository ppa:linrunner/tlp sudo apt install tlp tlp-rdw Repository: 'deb https://ppa.launchpadcontent.net/linrunner/tlp/ubuntu/ jammy main' Description: TLP is a power management tool for Linux. It brings you the benefits of advanced power management without the need to understand every technical detail. Project homepage: http://linrunner.de/tlp Note: starting with Ubuntu Wily TLP is provided via the official Ubuntu repos. Only newer versions will be published here. More info: https://launchpad.net/\~linrunner/+archive/ubuntu/tlp Adding repository. Press [ENTER] to continue or Ctrl-c to cancel. Found existing deb entry in /etc/apt/sources.list.d/linrunner-ubuntu-tlp-jammy.list Adding deb entry to /etc/apt/sources.list.d/linrunner-ubuntu-tlp-jammy.list Found existing deb-src entry in /etc/apt/sources.list.d/linrunner-ubuntu-tlp-jammy.list Adding disabled deb-src entry to /etc/apt/sources.list.d/linrunner-ubuntu-tlp-jammy.list Adding key to /etc/apt/trusted.gpg.d/linrunner-ubuntu-tlp.gpg with fingerprint 2042F03C5FABD0BA2CED40412B3F92F902D65EFF Hit:1 http://bg.archive.ubuntu.com/ubuntu jammy InRelease Hit:2 http://bg.archive.ubuntu.com/ubuntu jammy-updates InRelease Hit:3 http://bg.archive.ubuntu.com/ubuntu jammy-backports InRelease Hit:4 http://packages.microsoft.com/repos/code stable InRelease Hit:5 https://brave-browser-apt-release.s3.brave.com stable InRelease Hit:6 https://ppa.launchpadcontent.net/linrunner/tlp/ubuntu jammy InRelease Hit:7 http://security.ubuntu.com/ubuntu jammy-security InRelease Hit:8 https://ppa.launchpadcontent.net/linuxgndu/sqlitebrowser/ubuntu jammy InRelease Ign:9 https://ppa.launchpadcontent.net/linuxuprising/apps/ubuntu jammy InRelease Err:10 https://ppa.launchpadcontent.net/linuxuprising/apps/ubuntu jammy Release 404 Not Found [IP: 91.189.95.85 443] Reading package lists... Done E: The repository 'https://ppa.launchpadcontent.net/linuxuprising/apps/ubuntu jammy Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. Reading package lists... Done Building dependency tree... Done Reading state information... Done tlp is already the newest version (1.5.0-1ubuntu3). tlp-rdw is already the newest version (1.5.0-1ubuntu3). The following packages were automatically installed and are no longer required: chromium-codecs-ffmpeg-extra gstreamer1.0-vaapi libatomic1:i386 libbsd0:i386 libdrm-amdgpu1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libedit2:i386 libelf1:i386 libexpat1:i386 libffi8:i386 libglapi-mesa:i386 libglvnd0:i386 libgstreamer-plugins-bad1.0-0 libicu70:i386 libllvm13:i386 libmd0:i386 libnvidia-cfg1-510 libnvidia-common-510 libnvidia-compute-510:i386 libnvidia-decode-510 libnvidia-decode-510:i386 libnvidia-egl-wayland1 libnvidia-encode-510 libnvidia-encode-510:i386 libnvidia-extra-510 libnvidia-fbc1-510 libnvidia-gl-510 libnvidia-gl-510:i386 libsensors5:i386 libstdc++6:i386 libva-wayland2 libvulkan1:i386 libwayland-client0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 libxcb-randr0:i386 libxcb-shm0:i386 libxcb-sync1:i386 libxcb-xfixes0:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxml2:i386 libxnvctrl0 libxshmfence1:i386 libxxf86vm1:i386 mesa-vulkan-drivers:i386 nvidia-compute-utils-510 nvidia-settings nvidia-utils-510 pkg-config screen-resolution-extra xserver-xorg-video-nvidia-510 Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. borislav@borislav-PC:~$ sudo add-apt-repository ppa:linuxuprising/apps sudo apt install tlpui Repository: 'deb https://ppa.launchpadcontent.net/linuxuprising/apps/ubuntu/ jammy main' Description: PPA for applications not available in the official Ubuntu repositories (applications that were later added to the official repositories may have newer versions here). Packages in this PPA: - birdtray: https://www.linuxuprising.com/2018/10/birdtray-thunderbird-tray-icon-with-new.html - glava: https://www.linuxuprising.com/2018/11/embed-audio-visualizer-on-your-linux.html - pdfarranger: https://www.linuxuprising.com/2018/12/pdfarranger-merge-split-rotate-crop-or.html - tlpui: https://www.linuxuprising.com/2018/11/install-tlpui-in-ubuntu-or-linux-mint.html - vlc-plugin-bittorrent: https://www.linuxuprising.com/2018/10/vlc-bittorrent-plugin-streams-video.html - watchman: https://facebook.github.io/watchman/ More info: https://launchpad.net/\~linuxuprising/+archive/ubuntu/apps Adding repository. Press [ENTER] to continue or Ctrl-c to cancel. Found existing deb entry in /etc/apt/sources.list.d/linuxuprising-ubuntu-apps-jammy.list Adding deb entry to /etc/apt/sources.list.d/linuxuprising-ubuntu-apps-jammy.list Found existing deb-src entry in /etc/apt/sources.list.d/linuxuprising-ubuntu-apps-jammy.list Adding disabled deb-src entry to /etc/apt/sources.list.d/linuxuprising-ubuntu-apps-jammy.list Adding key to /etc/apt/trusted.gpg.d/linuxuprising-ubuntu-apps.gpg with fingerprint 1CC3D16E460A94EE17FE581CEA8CACC073C3DB2A Hit:1 http://bg.archive.ubuntu.com/ubuntu jammy InRelease Hit:2 http://bg.archive.ubuntu.com/ubuntu jammy-updates InRelease Hit:3 http://bg.archive.ubuntu.com/ubuntu jammy-backports InRelease Hit:4 http://packages.microsoft.com/repos/code stable InRelease Hit:5 https://ppa.launchpadcontent.net/linrunner/tlp/ubuntu jammy InRelease Hit:6 https://brave-browser-apt-release.s3.brave.com stable InRelease Hit:7 http://security.ubuntu.com/ubuntu jammy-security InRelease Hit:8 https://ppa.launchpadcontent.net/linuxgndu/sqlitebrowser/ubuntu jammy InRelease Ign:9 https://ppa.launchpadcontent.net/linuxuprising/apps/ubuntu jammy InRelease Err:10 https://ppa.launchpadcontent.net/linuxuprising/apps/ubuntu jammy Release 404 Not Found [IP: 91.189.95.85 443] Reading package lists... Done E: The repository 'https://ppa.launchpadcontent.net/linuxuprising/apps/ubuntu jammy Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package tlpui borislav@borislav-PC:~$
  • Sync files all ways across several specific folders
    3 projects | /r/AutoHotkey | 9 Jan 2022
  • React Native Setup on macOS!
    2 projects | dev.to | 16 Sep 2021
    Watchman is a tool by Facebook for watching for changes to files in your project. This allows for recompiling, rebundling, and reloading every time you save changes to your source files. While React Native can work without Watchman, it's highly recommended to install it for performance and productivity reasons.

What are some alternatives?

When comparing watcher and watchman you can also consider the following projects:

wireguard-ui - Wireguard web interface

nvim-lsp-ts-utils - Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.

watchexec - Executes commands in response to file modifications

lush.nvim - Create Neovim themes with real-time feedback, export anywhere.

Lsyncd - Lsyncd (Live Syncing Daemon) synchronizes local directories with remote targets

go-git - A highly extensible Git implementation in pure Go.

Watch - Watches for changes in a directory tree and reruns a command in an acme win or just on the terminal.

toggleterm.nvim - A neovim lua plugin to help easily manage multiple terminal windows

docker-socket-proxy - Proxy over your Docker socket to restrict which requests it accepts

fwatch.nvim - fwatch.nvim lets you watch files or directories for changes and then run vim commands or lua functions.

git - GitGitGadget's Git fork. Open Pull Requests here to submit them to the Git mailing list

EdenSCM - A Scalable, User-Friendly Source Control System. [Moved to: https://github.com/facebook/sapling]