From 9e80d0c51de9e61d4bf25c130ad2f22a61f1db1b Mon Sep 17 00:00:00 2001 From: Martin von Zweigbergk Date: Wed, 16 Oct 2024 12:56:52 -0700 Subject: [PATCH] docs: update `immutable_heads()` examples to use `builtin_immutable_heads()` Users should generally use `builtin_immutable_heads()` when they override `immutable_heads()`, so this patch updates the existing example to use that. I also added another example showing how to make an additional remote-tracking bookmark immutable. --- docs/config.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/config.md b/docs/config.md index e4fa406613..ebf24f771a 100644 --- a/docs/config.md +++ b/docs/config.md @@ -266,13 +266,20 @@ diff-invocation-mode = "file-by-file" You can configure the set of immutable commits via `revset-aliases."immutable_heads()"`. The default set of immutable heads is +`builtin_immutable_heads()`, which in turn is defined as `present(trunk()) | tags() | untracked_remote_bookmarks()`. For example, to -prevent rewriting commits on `main@origin` and commits authored by other users: +also consider the `maint@origin` bookmark immutable: ```toml -# The `main.. &` bit is an optimization to scan for non-`mine()` commits only -# among commits that are not in `main`. -revset-aliases."immutable_heads()" = "main@origin | (main@origin.. & ~mine())" +revset-aliases."immutable_heads()" = "builtin_immutable_heads() | maint@origin" +``` + +To prevent rewriting commits authored by other users: + +```toml +# The `trunk().. &` bit is an optimization to scan for non-`mine()` commits +# only among commits that are not in `trunk()`. +revset-aliases."immutable_heads()" = "builtin_immutable_heads() | (trunk().. & ~mine())" ``` Ancestors of the configured set are also immutable. The root commit is always