From f15c1d3c536167eec91da5e03f342a7c8892ec92 Mon Sep 17 00:00:00 2001 From: Waleed Khan Date: Sat, 8 Jul 2023 12:23:09 +0300 Subject: [PATCH] docs(fsmonitor): add filesystem monitor/Watchman documentation --- CHANGELOG.md | 3 +++ docs/config.md | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 559f1fa5b..1d04c0330 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -121,6 +121,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * `jj branch list` can now be filtered by revset. +* Initial support for the Watchman filesystem monitor. Set + `core.fsmonitor = "watchman"` in your repo to enable. + ### Fixed bugs * Modify/delete conflicts now include context lines diff --git a/docs/config.md b/docs/config.md index be82db86d..16bb2a061 100644 --- a/docs/config.md +++ b/docs/config.md @@ -448,6 +448,28 @@ branches. Since the local branch isn't created, the remote branch will be deleted if you push the branch with `jj git push --branch` or `jj git push --all`. +## Filesystem monitor + +In large repositories, it may be beneficial to use a "filesystem monitor" to +track changes to the working copy. This allows `jj` to take working copy +snapshots without having to rescan the entire working copy. + +### Watchman + +The [Watchman filesystem monitor](https://facebook.github.io/watchman/) is +currently only enabled if you compile jj with the `watchman` feature, such as +with the following invocation: + +```shell +cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jujutsu --features watchman +``` + +To configure the Watchman filesystem monitor, set +`core.fsmonitor = "watchman"`. Ensure that you have [installed the Watchman +executable on your system](https://facebook.github.io/watchman/docs/install)). + +Debugging commands are available under `jj debug watchman`. + # Alternative ways to specify configuration settings Instead of `~/.jjconfig.toml`, the config settings can be located under