======================== CODE SNIPPETS ======================== TITLE: Install jj on Windows using winget DESCRIPTION: Installs the latest release of jj on Windows using the winget package manager. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_10 LANGUAGE: powershell CODE: ``` winget install jj-vcs.jj ``` ---------------------------------------- TITLE: Install jj on Gentoo Linux DESCRIPTION: Installs jj on Gentoo Linux by enabling the GURU repository and then using Portage to install the dev-vcs/jj package. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_7 LANGUAGE: shell CODE: ``` emerge -av dev-vcs/jj ``` ---------------------------------------- TITLE: Install jj from source (prerelease) DESCRIPTION: Installs the prerelease version of jj from the main branch of its Git repository. Requires Rust version >= 1.85 and the build-essential package. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_1 LANGUAGE: shell CODE: ``` sudo apt-get install build-essential # To install the *prerelease* version from the main branch cargo install --git https://github.com/jj-vcs/jj.git --locked --bin jj jj-cli ``` ---------------------------------------- TITLE: Install jj using NixOS profile (prerelease) DESCRIPTION: Installs the prerelease version of jj from its Git repository flake into the user's Nix profile on NixOS. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_5 LANGUAGE: shell CODE: ``` # Installs the prerelease version from the main branch nix profile install 'github:jj-vcs/jj' ``` ---------------------------------------- TITLE: Install jj using cargo-binstall DESCRIPTION: Installs the latest jj release binary from GitHub using cargo-binstall. This command places the jj binary in the default ~/.cargo/bin directory. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_0 LANGUAGE: shell CODE: ``` cargo binstall --strategies crate-meta-data jj-cli ``` ---------------------------------------- TITLE: Install jj on Windows using scoop DESCRIPTION: Installs the latest release of jj on Windows using the scoop package manager. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_11 LANGUAGE: shell CODE: ``` scoop install main/jj ``` ---------------------------------------- TITLE: Install jj using Homebrew DESCRIPTION: Installs the latest release of jj on macOS and Linux systems that use Homebrew. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_6 LANGUAGE: shell CODE: ``` brew install jj ``` ---------------------------------------- TITLE: Nushell Standard Completions DESCRIPTION: Installs standard command-line completions for jj in Nushell. This involves saving the completion script to a file and then sourcing it within the Nushell environment. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_16 LANGUAGE: nu CODE: ``` jj util completion nushell | save completions-jj.nu use completions-jj.nu * ``` ---------------------------------------- TITLE: Install jj on openSUSE Tumbleweed DESCRIPTION: Installs jj on openSUSE Tumbleweed by using the zypper package manager to install the jujutsu package from the official repositories. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_8 LANGUAGE: shell CODE: ``` zypper install jujutsu ``` ---------------------------------------- TITLE: Install jj from source (latest release) DESCRIPTION: Installs the latest release version of jj from its Git repository. Requires Rust version >= 1.85. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_2 LANGUAGE: shell CODE: ``` # To install the latest release cargo install --locked --bin jj jj-cli ``` ---------------------------------------- TITLE: Run jj using NixOS flake (prerelease) DESCRIPTION: Runs a prerelease version of jj directly from its Git repository flake on NixOS. This allows testing the latest development version without a formal installation. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_4 LANGUAGE: shell CODE: ``` nix run 'github:jj-vcs/jj' ``` ---------------------------------------- TITLE: Xonsh Standard Completions DESCRIPTION: Enables standard command-line completions for jj in Xonsh. It uses a helper command to source the completion script, making jj commands easier to use. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_17 LANGUAGE: shell CODE: ``` source-bash $(jj util completion) ``` ---------------------------------------- TITLE: Install jj on Arch Linux DESCRIPTION: Installs jj on Arch Linux using either the official extra repository via pacman or the AUR repository via an AUR helper like yay. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_3 LANGUAGE: shell CODE: ``` pacman -S jujutsu yay -S jujutsu-git ``` ---------------------------------------- TITLE: Install jj on macOS using MacPorts DESCRIPTION: Installs the latest release of jj on macOS using the MacPorts package manager. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_9 LANGUAGE: shell CODE: ``` sudo port install jujutsu ``` ---------------------------------------- TITLE: Fish Dynamic Completions DESCRIPTION: Configures dynamic command-line completions for jj in Fish shell. For Fish versions 4.0.2 and above, dynamic completions are loaded by default, simplifying the setup process. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_15 LANGUAGE: shell CODE: ``` COMPLETE=fish jj | source ``` ---------------------------------------- TITLE: Zsh Dynamic Completions DESCRIPTION: Sets up dynamic command-line completions for jj in Zsh. It requires loading the completion system and sourcing the dynamic completion script, which offers enhanced and context-aware suggestions. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_14 LANGUAGE: shell CODE: ``` source <(COMPLETE=zsh jj) ``` ---------------------------------------- TITLE: TOML Dotted Style Example DESCRIPTION: Demonstrates the equivalent TOML syntax for dotted style key-value pairs and nested tables, showing how to define template aliases and color configurations. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_0 LANGUAGE: TOML CODE: ``` template-aliases."format_short_id(id)" = "id.shortest(12)" colors."commit_id prefix".bold = true # is equivalent to: [template-aliases] "format_short_id(id)" = "id.shortest(12)" [colors] "commit_id prefix" = { bold = true } ``` ---------------------------------------- TITLE: Jujutsu Help Command Examples DESCRIPTION: Demonstrates how to use the `jj help` command to get information about Jujutsu commands and keywords. This is useful for learning and understanding specific functionalities. SOURCE: https://github.com/jj-vcs/jj/blob/main/README.md#_snippet_0 LANGUAGE: Shell CODE: ``` jj help rebase ``` LANGUAGE: Shell CODE: ``` jj help -k config ``` LANGUAGE: Shell CODE: ``` jj help --help ``` ---------------------------------------- TITLE: User Settings Configuration DESCRIPTION: Provides an example of user-specific configuration settings in TOML format, including name and email. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_1 LANGUAGE: TOML CODE: ``` [user] name = "YOUR NAME" email = "YOUR_EMAIL@example.com" ``` ---------------------------------------- TITLE: Powershell Standard Completions DESCRIPTION: Integrates standard command-line completions for jj into Powershell by adding a line to the user's profile script. This ensures that jj commands are autocompleted within the Powershell session. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_18 LANGUAGE: powershell CODE: ``` Invoke-Expression (& { (jj util completion power-shell | Out-String) }) ``` ---------------------------------------- TITLE: Configure 3-Pane Diff Editor (diffedit3) DESCRIPTION: Enables a 3-pane diff editing experience using diffedit3, which starts a local server accessible via a web browser. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_59 LANGUAGE: TOML CODE: ``` ui.diff-editor = "diffedit3" ``` ---------------------------------------- TITLE: Bash Dynamic Completions DESCRIPTION: Enables dynamic command-line completions for jj in Bash. This method leverages the `COMPLETE` environment variable to provide context-aware suggestions for subcommands, options, bookmarks, aliases, revisions, operations, and files. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_13 LANGUAGE: shell CODE: ``` source <(COMPLETE=bash jj) ``` ---------------------------------------- TITLE: Configure jj user name and email DESCRIPTION: Sets the user's name and email for jj commits. This configuration is stored globally for the user. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/install-and-setup.md#_snippet_12 LANGUAGE: shell CODE: ``` $ jj config set --user user.name "Martin von Zweigbergk" $ jj config set --user user.email "martinvonz@google.com" ``` ---------------------------------------- TITLE: Benchmark Using Tags and Bookmarks DESCRIPTION: Demonstrates how to use Git tags and bookmarks as revsets for benchmarking. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_3 LANGUAGE: shell CODE: ``` tags() bookmarks() ``` ---------------------------------------- TITLE: Configure GUI Editors for jj DESCRIPTION: Provides examples of configuring various GUI editors like VS Code, BBEdit, Sublime Text, TextMate, Notepad++, and IntelliJ as the default editor for jj. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_53 LANGUAGE: toml CODE: ``` [ui] editor = "code -w" # VS Code ``` LANGUAGE: toml CODE: ``` editor = "code.cmd -w" # VS Code on Windows ``` LANGUAGE: toml CODE: ``` editor = "bbedit -w" # BBEdit ``` LANGUAGE: toml CODE: ``` editor = "subl -n -w" # Sublime Text ``` LANGUAGE: toml CODE: ``` editor = "mate -w" # TextMate ``` LANGUAGE: toml CODE: ``` editor = ["C:/Program Files/Notepad++/notepad++.exe", "-multiInst", "-notabbar", "-nosession", "-noPlugin"] # Notepad++ ``` LANGUAGE: toml CODE: ``` editor = "idea --temp-project --wait" #IntelliJ ``` ---------------------------------------- TITLE: Install Development Tools for jj DESCRIPTION: Installs necessary Rust toolchains and development utilities like bacon, cargo-insta, and cargo-nextest for contributing to the jj project. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/contributing.md#_snippet_4 LANGUAGE: Shell CODE: ``` rustup toolchain add nightly rustup toolchain add 1.85 cargo install --locked bacon cargo install --locked cargo-insta cargo install --locked cargo-nextest ``` ---------------------------------------- TITLE: Enable Watchman Filesystem Monitor DESCRIPTION: Configures `jj` to use the Watchman filesystem monitor for tracking working copy changes, potentially improving performance in large repositories. Requires Watchman to be installed. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_102 LANGUAGE: toml CODE: ``` fsmonitor.backend = "watchman" ``` ---------------------------------------- TITLE: Install uv on Windows DESCRIPTION: Installs the 'uv' package manager on Windows using PowerShell, bypassing execution policy restrictions. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/contributing.md#_snippet_13 LANGUAGE: powershell CODE: ``` powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" ``` ---------------------------------------- TITLE: Install uv via Homebrew DESCRIPTION: Installs the 'uv' package manager using the Homebrew package manager. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/contributing.md#_snippet_14 LANGUAGE: shell CODE: ``` brew install uv ``` ---------------------------------------- TITLE: Configure jj short prefixes for revisions DESCRIPTION: Sets 'revsets.short-prefixes' to define shorter prefixes for certain revisions, prioritizing the current bookmark in this example. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_34 LANGUAGE: toml CODE: ``` [revsets] # Prioritize the current bookmark short-prefixes = "(main..@)::" ``` ---------------------------------------- TITLE: Specify Single Tags for Benchmarking DESCRIPTION: Demonstrates how to use single Git tags as revsets to specify versions for benchmarking. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_0 LANGUAGE: shell CODE: ``` v1.0.0 v2.40.0 ``` ---------------------------------------- TITLE: Install uv via Cargo DESCRIPTION: Installs the 'uv' package manager directly from its Git repository using Cargo, the Rust package manager. This method might take a while. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/contributing.md#_snippet_15 LANGUAGE: shell CODE: ``` cargo install --git https://github.com/astral-sh/uv uv ``` ---------------------------------------- TITLE: Benchmark Ancestors and Ranges DESCRIPTION: Provides examples of using revsets to benchmark ancestors and ranges of commits, including those related to tags and authors. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_11 LANGUAGE: shell CODE: ``` ::(v1.0.0..v2.40.0) author(peff).. ``` ---------------------------------------- TITLE: Load Config from File DESCRIPTION: Shows how to load an entire TOML configuration document from a specified file using the --config-file option. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_111 LANGUAGE: shell CODE: ``` jj --config-file=extra-config.toml log ``` ---------------------------------------- TITLE: Create Initial Commits with Content DESCRIPTION: Creates three initial commits with varying content in a file named 'file'. This setup is used to demonstrate moving content changes between commits. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/tutorial.md#_snippet_20 LANGUAGE: shell CODE: ``` $ jj new master -m abc; printf 'a\nb\nc\n' > file Working copy (@) now at: ztqrpvnw f94e49cf (empty) abc Parent commit (@-) : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 from Spaceghost/patch-1 Added 0 files, modified 0 files, removed 1 files $ jj new -m ABC; printf 'A\nB\nc\n' > file Working copy (@) now at: kwtuwqnm 6f30cd1f (empty) ABC Parent commit (@-) : ztqrpvnw 51002261 ab $ jj new -m ABCD; printf 'A\nB\nC\nD\n' > file Working copy (@) now at: mrxqplyk a6749154 (empty) ABCD Parent commit (@-) : kwtuwqnm 30aecc08 ABC $ jj log -r master::@ @ mrxqplyk martinvonz@google.com 2023-02-12 19:38:21 b98c607b │ ABCD ○ kwtuwqnm martinvonz@google.com 2023-02-12 19:38:12 30aecc08 │ ABC ○ ztqrpvnw martinvonz@google.com 2023-02-12 19:38:03 51002261 │ abc ◆ orrkosyo octocat@nowhere.com 2012-03-06 15:06:50 master 7fd1a60b │ (empty) Merge pull request #6 from Spaceghost/patch-1 ~ ``` ---------------------------------------- TITLE: Define jj Alias for Log DESCRIPTION: An example of a jj alias named 'l' that displays commits on the working copy compared to the 'main' bookmark. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_48 LANGUAGE: toml CODE: ``` [aliases] l = ["log", "-r", "(main..@):: | (main..@)-"] ``` ---------------------------------------- TITLE: ANSI 256-Color Configuration DESCRIPTION: Shows how to apply colors from the ANSI 256-color palette to UI elements using the 'ansi-color-N' format. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_5 LANGUAGE: TOML CODE: ``` [colors] commit_id = "ansi-color-81" ``` ---------------------------------------- TITLE: Sparse Pattern Rule Examples DESCRIPTION: Provides examples of how sparse pattern rules are applied and canonicalized. It demonstrates the effect of include and exclude rules, and how different orderings of rules can lead to equivalent canonicalized sets. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/design/sparse-v2.md#_snippet_3 LANGUAGE: txt CODE: ``` # jj sparse set --add foo/bar is equal to jj sparse set --add include:dir:foo/bar # jj sparse set --add exclude:dir:foo/bar adds a new `Dir` type rule with `include = false` # jj sparse set --exclude foo/bar as a possible shorthand for the above # jj sparse list will print the explicit rules include:dir:foo exclude:dir:foo/bar include:dir:foo/bar/baz exclude:dir:foo/bar/baz/qux # Canonicalized include:dir:foo exclude:dir:foo/bar ``` ---------------------------------------- TITLE: Enable Automatic Local Bookmark Creation DESCRIPTION: Enables the automatic creation of local bookmarks that mirror new remote-tracking bookmarks imported from Git. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_92 LANGUAGE: toml CODE: ``` [git] auto-local-bookmark = true ``` ---------------------------------------- TITLE: Benchmark Intersection and Union of Tag Sets DESCRIPTION: Provides examples of using set operations (intersection and union) on revsets derived from tags for benchmarking. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_5 LANGUAGE: shell CODE: ``` tags() & ::v2.40.0 v2.39.0 & ::v2.40.0 author(peff) & committer(gitster) author(peff) | committer(gitster) ``` ---------------------------------------- TITLE: Build and Deploy Documentation with mike DESCRIPTION: This script utilizes 'uv run mike deploy' to build and deploy documentation. It accepts custom arguments and relies on the 'mike' tool. Ensure 'mike' is installed and configured for your project. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/contributing.md#_snippet_21 LANGUAGE: shell CODE: ``` uv run mike deploy ``` ---------------------------------------- TITLE: Useful JJ Revsets for Logging DESCRIPTION: Provides examples of powerful revset queries for logging revisions in Jujutsu. These examples cover logging revisions across local and remote bookmarks, filtering by author, and finding ancestors of the current working copy. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/github.md#_snippet_9 LANGUAGE: shell CODE: ``` $ jj log -r 'bookmarks() & ~(main | remote_bookmarks())' ``` LANGUAGE: shell CODE: ``` $ jj log -r 'mine() & bookmarks() & ~remote_bookmarks()' ``` LANGUAGE: shell CODE: ``` $ jj log -r 'remote_bookmarks() & (mine() | committer(your@email.com))' ``` LANGUAGE: shell CODE: ``` $ jj log -r 'remote_bookmarks()..@' ``` ---------------------------------------- TITLE: jj heads() function examples DESCRIPTION: Shows examples of the `heads()` function in jj-vcs, which returns the heads of a given set of commits. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/revsets.md#_snippet_65 LANGUAGE: jj CODE: ``` heads(E|D) ``` LANGUAGE: jj CODE: ``` heads(E|C) ``` LANGUAGE: jj CODE: ``` heads(E|B) ``` LANGUAGE: jj CODE: ``` heads(E|A) ``` LANGUAGE: jj CODE: ``` heads(A) ``` ---------------------------------------- TITLE: Benchmark Roots and Heads of Tag Sets DESCRIPTION: Illustrates how to find the root and head commits of sets defined by tags using revsets for benchmarking. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_8 LANGUAGE: shell CODE: ``` roots(tags()) heads(tags()) ``` ---------------------------------------- TITLE: Override Default Commit Description DESCRIPTION: Allows overriding the default commit description template, for example, to automatically include issue closing information. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_10 LANGUAGE: toml CODE: ``` [template-aliases] default_commit_description = ''' "Closes #NNNN " ``` ---------------------------------------- TITLE: UI Color Output Setting DESCRIPTION: Shows how to configure the UI to control output colorization, with options for 'always', 'never', 'debug', and 'auto'. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_2 LANGUAGE: TOML CODE: ``` [ui] color = "never" # Turn off color ``` ---------------------------------------- TITLE: Multiple Label Styling DESCRIPTION: Illustrates how to apply styles to multiple labels or combine styles for specific elements, similar to CSS selectors. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_7 LANGUAGE: TOML CODE: ``` [colors] commit_id = "green" "working_copy commit_id" = { underline = true } ``` ---------------------------------------- TITLE: Configure Signing Backend DESCRIPTION: Sets the signing behavior to 'drop' and the backend to 'ssh' using a specific SSH key. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_87 LANGUAGE: toml CODE: ``` [signing] behavior = "drop" backend = "ssh" key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGj+J6N6SO+4P8dOZqfR1oiay2yxhhHnagH52avUqw5h" ``` ---------------------------------------- TITLE: Get JJ VCS User Config Path DESCRIPTION: Retrieves the path to the user-specific JJ VCS configuration directory. This command helps users locate where their global JJ configurations are stored. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_107 LANGUAGE: bash CODE: ``` jj config path --user ``` ---------------------------------------- TITLE: Install and Configure starship-jj (Bash/TOML) DESCRIPTION: Provides instructions to install the `starship-jj` crate using Cargo and configure Starship's `starship.toml` to use it for displaying jj status. It includes the necessary TOML configuration for the custom module. SOURCE: https://github.com/jj-vcs/jj/blob/main/__wiki__/Starship.md#_snippet_4 LANGUAGE: bash CODE: ``` cargo install starship-jj --locked ``` LANGUAGE: toml CODE: ``` # Extend the default format config: https://starship.rs/config/#default-prompt-format format=""" ... ${custom.jj}\ ... """ #... [custom.jj] command = "prompt" format = "$output" ignore_timeout = true shell = ["starship-jj", "--ignore-working-copy", "starship"] use_stdin = false when = true ``` ---------------------------------------- TITLE: Benchmark Filtered History Ranges DESCRIPTION: Shows how to combine history range filtering with author/committer filters for benchmarking. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_7 LANGUAGE: shell CODE: ``` ::v1.0.0 & (author(peff) & committer(gitster)) ::v1.0.0 & (author(peff) | committer(gitster)) ``` ---------------------------------------- TITLE: Install uv on macOS/Linux DESCRIPTION: Installs the 'uv' package manager using a curl script for macOS and Linux systems. It also provides an option to prevent modification of the shell profile. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/contributing.md#_snippet_12 LANGUAGE: shell CODE: ``` curl -LsSf https://astral.sh/uv/install.sh | sh ``` LANGUAGE: shell CODE: ``` curl -LsSf https://astral.sh/uv/install.sh | env INSTALLER_NO_MODIFY_PATH=1 sh ``` ---------------------------------------- TITLE: Configure sequential execution for sorting and truncating numbers DESCRIPTION: This example demonstrates controlling the execution order of multiple tools applied to the same file. '1-sort-numbers-file' sorts the numbers numerically, and '2-truncate-numbers-file' keeps only the first 10 lines, ensuring the correct order for processing. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_73 LANGUAGE: toml CODE: ``` [fix.tools.1-sort-numbers-file] command = ["sort", "-n"] patterns = ["numbers.txt"] [fix.tools.2-truncate-numbers-file] command = ["head", "-n", "10"] patterns = ["numbers.txt"] ``` ---------------------------------------- TITLE: Allow Pushing New Bookmarks DESCRIPTION: Enables pushing newly-created bookmarks by default, avoiding the need to specify the '--allow-new' flag for 'jj git push'. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_96 LANGUAGE: toml CODE: ``` [git] push-new-bookmarks = true ``` ---------------------------------------- TITLE: Benchmark Filters within Small Sets DESCRIPTION: Demonstrates how to apply filters like `files`, `empty`, and `conflicts` within a limited range of commits for benchmarking. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_15 LANGUAGE: shell CODE: ``` files(root:"Makefile") & v1.0.0..v1.2.0 empty() & v1.0.0..v1.2.0 conflicts() & v1.0.0..v1.2.0 ``` ---------------------------------------- TITLE: jj roots() function examples DESCRIPTION: Provides examples for the `roots()` function in jj-vcs, which identifies the root commits in a given set. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/revsets.md#_snippet_66 LANGUAGE: jj CODE: ``` roots(E|D) ``` LANGUAGE: jj CODE: ``` roots(E|C) ``` LANGUAGE: jj CODE: ``` roots(E|B) ``` LANGUAGE: jj CODE: ``` roots(E|A) ``` LANGUAGE: jj CODE: ``` roots(A) ``` ---------------------------------------- TITLE: Specify SSH Keygen Program Path DESCRIPTION: Allows setting a custom path for the ssh-keygen binary used by the SSH signing backend. This is useful if ssh-keygen is installed in a non-standard location. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_83 LANGUAGE: toml CODE: ``` [signing] backends.ssh.program = "/path/to/ssh-keygen" ``` ---------------------------------------- TITLE: Configure jj default log revset DESCRIPTION: Defines the default revision set for 'jj log' when no specific revisions or paths are provided. This example shows commits not in 'main@origin'. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_26 LANGUAGE: toml CODE: ``` [revsets] # Show commits that are not in `main@origin` log = "main@origin.." ``` ---------------------------------------- TITLE: Configure jj log-graph-prioritize revset DESCRIPTION: Prioritizes specific revsets in the 'jj log' graph display to improve readability, especially with large merges. This example prioritizes commits with 'megamerge' in their description, falling back to 'trunk()'. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_27 LANGUAGE: toml CODE: ``` [revsets] log-graph-prioritize = "coalesce(description("megamerge\n"), trunk())" ``` ---------------------------------------- TITLE: Benchmark Roots and Heads of Author Sets DESCRIPTION: Demonstrates how to find the root and head commits of sets filtered by author using revsets for benchmarking. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_9 LANGUAGE: shell CODE: ``` roots(author(peff)) heads(author(peff)) ``` ---------------------------------------- TITLE: jj Rebase Example DESCRIPTION: Demonstrates a sequence of jj rebase operations to illustrate how rebasing and then re-rebasing can return to a previous state, highlighting the importance of lossless rebasing. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/design/copy-tracking.md#_snippet_0 LANGUAGE: console CODE: ``` $ jj log C rename bar->baz | B rename foo->bar | A add foo $ jj rebase -r C -d A $ jj rebase -r C -d B # Takes us back to the state above ``` ---------------------------------------- TITLE: Configure jj default templates for log and evolog DESCRIPTION: Sets the default templates for various jj commands including 'evolog', 'log', 'show', and operation logs/shows. It allows specifying built-in templates for different display formats. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_28 LANGUAGE: toml CODE: ``` [templates] # Use builtin evolog template evolog = "builtin_evolog_compact" # Use builtin log template log = "builtin_log_compact" # Use builtin show template show = "builtin_log_detailed" # Use builtin op log template op_log = "builtin_op_log_compact" # Use builtin op log template op_show = "builtin_op_log_compact" ``` LANGUAGE: toml CODE: ``` [templates] log = "builtin_log_compact_full_description" ``` ---------------------------------------- TITLE: Set Default Editor to Pico DESCRIPTION: Configures the default editor for jj to 'pico'. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_51 LANGUAGE: toml CODE: ``` [ui] editor = "pico" ``` ---------------------------------------- TITLE: Linting and Formatting with JJ run DESCRIPTION: Examples of using the 'jj run' command for linting and formatting tasks. These commands can be applied to specific revisions or the current working copy. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/design/run.md#_snippet_0 LANGUAGE: shell CODE: ``` jj run 'pre-commit run' -r $revset jj run 'cargo clippy' -r $revset jj run 'cargo +nightly fmt' ``` ---------------------------------------- TITLE: Benchmark Author and Committer Filters DESCRIPTION: Demonstrates how to filter commits based on author and committer names using revsets for benchmarking. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_6 LANGUAGE: shell CODE: ``` author(peff) committer(gitster) ``` ---------------------------------------- TITLE: Register Watchman Snapshot Trigger DESCRIPTION: Enables `jj` to use Watchman triggers to automatically create working copy snapshots when filesystem changes are detected. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_103 LANGUAGE: toml CODE: ``` fsmonitor.watchman.register-snapshot-trigger = true ``` ---------------------------------------- TITLE: Custom Hex Color Configuration DESCRIPTION: Demonstrates setting custom colors using 6-digit hexadecimal codes for UI elements. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_4 LANGUAGE: TOML CODE: ``` [colors] change_id = "#ff1525" ``` ---------------------------------------- TITLE: Benchmark Roots and Heads of History Ranges DESCRIPTION: Shows how to find the root and head commits of specific history ranges using revsets for benchmarking. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_10 LANGUAGE: shell CODE: ``` roots(::v2.40.0) heads(::v2.40.0) ``` ---------------------------------------- TITLE: Enable Rustfmt Tool in Repository DESCRIPTION: Shows how to enable a previously disabled tool (rustfmt) for a specific repository using the jj config command. This allows for granular control over tool execution. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_75 LANGUAGE: shell CODE: ``` $ jj config set --repo fix.tools.rustfmt.enabled true ``` ---------------------------------------- TITLE: Enable and Format Cryptographic Signatures DESCRIPTION: Enables the display of cryptographic signatures and customizes their short format. It handles cases where a signature might be absent. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_40 LANGUAGE: toml CODE: ``` [ui] # default is false show-cryptographic-signatures = true [template-aliases] 'format_short_cryptographic_signature(sig)' = ''' if(sig, sig.status(), "(no sig)", ) ''' ``` ---------------------------------------- TITLE: jj alias definition examples DESCRIPTION: Shows how to define aliases in jj-vcs configuration files, including simple symbol mapping and function overloading. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/revsets.md#_snippet_70 LANGUAGE: toml CODE: ``` [revset-aliases] 'HEAD' = '@-' 'user()' = 'user("me@example.org")' 'user(x)' = 'author(x) | committer(x)' ``` ---------------------------------------- TITLE: Custom Color Configuration DESCRIPTION: Illustrates how to set custom colors for UI elements like commit IDs using basic color names. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_3 LANGUAGE: TOML CODE: ``` [colors] commit_id = "green" ``` ---------------------------------------- TITLE: Condition: Command Matching DESCRIPTION: Details the --when.commands condition, which enables configuration based on matching the currently executing command against a list of command prefixes. Matching is done by prefix, and multiple commands can be specified. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_115 LANGUAGE: toml CODE: ``` # --when.commands: List of subcommands to match. # Subcommands are space-separated and matched by prefix. # # ```toml # --when.commands = ["file"] # matches `jj file show`, `jj file list`, etc # --when.commands = ["file show"] # matches `jj file show` but *NOT* `jj file list` # --when.commands = ["file", "log"] # matches `jj file` *OR* `jj log` (or subcommand of either) # ``` ``` ---------------------------------------- TITLE: Benchmark Parents and Ancestors of Commits DESCRIPTION: Demonstrates how to use revsets to select parents and ancestors of specific commits, including older and recent ones, and tag-based sets. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_12 LANGUAGE: shell CODE: ``` v1.0.0- v1.0.0--- ::v1.0.0--- v2.40.0- v2.40.0--- ::v2.40.0--- tags()- tags()--- ::tags()--- ``` ---------------------------------------- TITLE: Jujutsu: Push Change with Auto-Generated Bookmark DESCRIPTION: This example shows how to push a specific change ('mw') in a Jujutsu repository, allowing Jujutsu to automatically create a bookmark for the push. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/github.md#_snippet_4 LANGUAGE: shell CODE: ``` $ jj commit $ jj git push --change mw ``` ---------------------------------------- TITLE: Benchmark Local Changes Relative to Tags/Bookmarks DESCRIPTION: Shows how to benchmark local changes by defining a revset that includes commits not present in tags or remote bookmarks. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_4 LANGUAGE: shell CODE: ``` (tags() | remote_bookmarks()).. ``` ---------------------------------------- TITLE: Track Git Bookmarks DESCRIPTION: Commands to track or untrack specific bookmarks from remote repositories. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_93 LANGUAGE: sh CODE: ``` # import feature1 bookmark and start tracking it jj bookmark track feature1@origin # delete local gh-pages bookmark and stop tracking it jj bookmark delete gh-pages jj bookmark untrack gh-pages@upstream ``` ---------------------------------------- TITLE: Enable Git Signature Verification DESCRIPTION: Enables the display of commit signatures in the UI by setting 'ui.show-cryptographic-signatures' to true. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_88 LANGUAGE: toml CODE: ``` ui.show-cryptographic-signatures = true ``` ---------------------------------------- TITLE: Advanced UI Color Styling DESCRIPTION: Explains how to configure foreground (fg), background (bg), and text styles (bold, italic, underline) for UI elements using TOML tables. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_6 LANGUAGE: TOML CODE: ``` [colors] commit_id = { fg = "green", bg = "#ff1525", bold = true, underline = true } change_id = { reverse = true, italic = true } ``` ---------------------------------------- TITLE: Console Example: Rebasing Unrelated Renames DESCRIPTION: This example shows a rebase operation where a rename in one commit is unrelated to a file created in another. It highlights that changes are not propagated if the files have different origins or salts. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/design/copy-tracking.md#_snippet_9 LANGUAGE: console CODE: ``` N rename foo->bar | | M create foo="M" | | | L delete foo |/ K add foo="K" ``` ---------------------------------------- TITLE: SSH Port Forwarding for diffedit3 DESCRIPTION: Sets up SSH port forwarding to allow diffedit3 to communicate with its local server when accessed over SSH. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_61 LANGUAGE: shell CODE: ``` ssh -L 17376:localhost:17376 \ -L 17377:localhost:17377 \ -L 17378:localhost:17378 \ -L 17379:localhost:17379 \ -L 17380:localhost:17380 \ myhost.example.com ``` ---------------------------------------- TITLE: Configure Pager Ruler Visibility DESCRIPTION: Sets whether the ruler is displayed by default when the jj built-in pager starts. It can be configured to be shown or hidden. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_45 LANGUAGE: toml CODE: ``` [ui.streampager] # Start with the ruler showing show-ruler = true # (default) # Start with the ruler hidden show-ruler = false ``` ---------------------------------------- TITLE: Set Default Editor to NeoVim DESCRIPTION: Configures the default editor for jj to 'nvim'. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_52 LANGUAGE: toml CODE: ``` [ui] editor = "nvim" ``` ---------------------------------------- TITLE: Specify GPG Program Path DESCRIPTION: Allows customization of the GPG program used by the gpg backend. This is useful if 'gpg' is not in the system's PATH or if a different version like 'gpg2' is preferred. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_77 LANGUAGE: toml CODE: ``` [signing] backends.gpg.program = "gpg2" ``` ---------------------------------------- TITLE: Jujutsu: Push with Named Bookmark DESCRIPTION: This example shows how to create a new commit, add a feature, create a named bookmark 'bar', and then push that bookmark to GitHub. It highlights creating the bookmark on the parent of the working-copy commit. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/github.md#_snippet_1 LANGUAGE: shell CODE: ``` $ jj new main $ jj commit -m 'refactor(foo): restructure foo()' $ jj commit -m 'feat(bar): add support for bar' $ jj bookmark create bar -r @- $ jj git push --allow-new ``` ---------------------------------------- TITLE: View Git Command Help in Jujutsu DESCRIPTION: Provides help documentation for the `jj git` family of commands. You can get general help for `jj git` or specific help for commands like `jj git push`. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/git-compatibility.md#_snippet_3 LANGUAGE: bash CODE: ``` jj help git ``` LANGUAGE: bash CODE: ``` jj help git push ``` LANGUAGE: bash CODE: ``` jj git push -h ``` ---------------------------------------- TITLE: Serve jj documentation locally DESCRIPTION: Builds and serves the jj project documentation locally using 'uv' and 'mkdocs'. The documentation can be viewed at http://127.0.0.1:8000 and automatically reloads on changes to .md files. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/contributing.md#_snippet_16 LANGUAGE: shell CODE: ``` uv run mkdocs serve ``` ---------------------------------------- TITLE: Timestamp Range Methods DESCRIPTION: Illustrates the methods available for the TimestampRange type, including retrieving the start and end timestamps and calculating the duration. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/templates.md#_snippet_45 LANGUAGE: any CODE: ``` TimestampRange.start() TimestampRange.end() TimestampRange.duration() ``` ---------------------------------------- TITLE: Condition: Repository Path Matching DESCRIPTION: Explains the --when.repositories condition, which allows configuration to be enabled based on matching the repository path prefix against a list of provided paths. Paths are case-sensitive and '~' expands to the home directory. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_114 LANGUAGE: toml CODE: ``` # --when.repositories: List of paths to match the repository path prefix. # Paths should be absolute. Each path component (directory or file name, drive # letter, etc.) is compared case-sensitively on all platforms. A path starting # with `~` is expanded to the home directory. On Windows, directory separator may # be either `\` or `/`. (Beware that `\` needs escape in double-quoted strings.) # # Use `jj root` to see the workspace root directory. Note that the repository path # is in the main workspace if you're using multiple workspaces with `jj # workspace`. ``` ---------------------------------------- TITLE: Benchmark Non-Commit Object Filters DESCRIPTION: Illustrates how to use revsets to filter based on conditions that do not directly read commit objects, such as merges. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_14 LANGUAGE: shell CODE: ``` merges() ~merges() ``` ---------------------------------------- TITLE: Benchmark Children and Descendants of Commits DESCRIPTION: Shows how to use revsets to select children and descendants of specific commits, including older and recent ones, and tag-based sets. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_13 LANGUAGE: shell CODE: ``` v1.0.0+ v1.0.0+++ v1.0.0+++:: v2.40.0+ v2.40.0+++ v2.40.0+++:: tags()+ tags()+++ tags()+++:: ``` ---------------------------------------- TITLE: Benchmark Using Tag History Ranges DESCRIPTION: Shows how to define ranges of commit history using tags for benchmarking purposes. This includes direct ranges and ranges relative to tags. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_1 LANGUAGE: shell CODE: ``` ::v1.0.0 ..v1.0.0 ::v2.40.0 ..v2.40.0 v2.39.0..v2.40.0 ::v2.40.0 ~ ::v2.39.0 v2.39.0::v2.40.0 ``` ---------------------------------------- TITLE: jj reachable() function examples DESCRIPTION: Demonstrates the usage of the `reachable()` function in jj-vcs, showing the set of reachable commits from a given commit. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/revsets.md#_snippet_63 LANGUAGE: jj CODE: ``` reachable(E, A..) ``` LANGUAGE: jj CODE: ``` reachable(D, A..) ``` LANGUAGE: jj CODE: ``` reachable(C, A..) ``` LANGUAGE: jj CODE: ``` reachable(B, A..) ``` LANGUAGE: jj CODE: ``` reachable(A, A..) ``` ---------------------------------------- TITLE: Run Development Commands for jj DESCRIPTION: Executes common development workflows for jj, including linting, formatting, and running tests, utilizing tools like bacon and nextest. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/contributing.md#_snippet_5 LANGUAGE: Shell CODE: ``` bacon clippy-all cargo +nightly fmt cargo nextest run --workspace cargo insta test --workspace --test-runner nextest ``` ---------------------------------------- TITLE: Format Time Range Absolute DESCRIPTION: Sets the template alias for `format_time_range` to display an absolute time range, combining start and end times. This overrides the default relative timestamp behavior. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_37 LANGUAGE: toml CODE: ``` [template-aliases] 'format_time_range(time_range)' = 'time_range.start() ++ " - " ++ time_range.end()' ``` ---------------------------------------- TITLE: Profile JJ with Samply DESCRIPTION: Samply is a sampling profiler that can be used to analyze the performance of jj. Install samply via cargo and then run it with the 'record' command followed by the jj command you want to profile. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/contributing.md#_snippet_24 LANGUAGE: shell CODE: ``` cargo install samply samply record jj diff ``` ---------------------------------------- TITLE: Build jj documentation for offline distribution DESCRIPTION: Builds the jj project documentation for offline distribution using 'uv', 'mkdocs', and an environment variable to enable offline mode. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/contributing.md#_snippet_17 LANGUAGE: shell CODE: ``` MKDOCS_OFFLINE=true uv run mkdocs build ``` ---------------------------------------- TITLE: Configure Pager with diff-so-fancy DESCRIPTION: This TOML configuration sets up a pager to process output using 'diff-so-fancy' before displaying it in 'less'. It requires a subshell to execute the formatter. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_46 LANGUAGE: toml CODE: ``` [ui] pager = ["sh", "-c", "diff-so-fancy | less -RFX"] ``` ---------------------------------------- TITLE: Configure Custom Diff Editor with Arguments DESCRIPTION: Configures jj to use a custom binary for diff editing, specifying its path and command-line arguments, including placeholders for left and right directory paths. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_56 LANGUAGE: TOML CODE: ``` diff-editor = ["/path/to/binary", "--be-helpful", "$left", "$right"] ``` ---------------------------------------- TITLE: Specify Config via Command Line DESCRIPTION: Demonstrates how to set configuration options directly on the command line using the --config flag. This method overrides settings from config files or environment variables. The configuration values are expected in TOML format. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_110 LANGUAGE: shell CODE: ``` jj --config ui.color=always --config ui.diff-editor=meld split ``` LANGUAGE: shell CODE: ``` jj log --config \ 'template-aliases."format_timestamp(timestamp)"="""timestamp.format("%Y-%m-%d %H:%M %:::z")""""' ``` ---------------------------------------- TITLE: Example usage of jj-nu-log DESCRIPTION: Demonstrates how to use the `jj-nu-log` function with a specific revset and columns, including updating the author timestamp to a datetime object. SOURCE: https://github.com/jj-vcs/jj/blob/main/__wiki__/Nushell.md#_snippet_2 LANGUAGE: nushell CODE: ``` jj-nu-log -r something change_id description "author.email()" "author.timestamp()" | update author_timestamp {into datetime} ``` ---------------------------------------- TITLE: Specify GPGsm Program Path DESCRIPTION: Enables the specification of the GPGsm program path for the gpgsm backend. This provides flexibility in choosing the GPGsm executable, especially if it's not found in the default system PATH. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_80 LANGUAGE: toml CODE: ``` [signing] backends.gpgsm.program = "gpgsm" ``` ---------------------------------------- TITLE: Configure Automatic Commit Trailers DESCRIPTION: Defines a template for automatically adding trailers to commit descriptions. Trailers are deduplicated based on the entire line or can be managed using 'trailers.contains_key()'. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_13 LANGUAGE: toml CODE: ``` [templates] commit_trailers = ''' format_signed_off_by_trailer(self) ++ if(!trailers.contains_key("Change-Id"), format_gerrit_change_id_trailer(self))''' ``` ---------------------------------------- TITLE: Configure Meld Merge Tool DESCRIPTION: This TOML snippet defines configuration for the 'meld' merge tool, likely used for diff editing within jj. SOURCE: https://github.com/jj-vcs/jj/blob/main/docs/config.md#_snippet_54 LANGUAGE: toml CODE: ``` [merge-tools.meld] ``` ---------------------------------------- TITLE: Benchmark Recent History Using Tags DESCRIPTION: Illustrates how to benchmark recent commit history relative to a specific tag, including commits after a tag and commits between two tags. SOURCE: https://github.com/jj-vcs/jj/blob/main/cli/testing/bench-revsets-git.txt#_snippet_2 LANGUAGE: shell CODE: ``` v2.40.0-.. ~(::v2.40.0) ```