Type object
File match **/.jj/repo/config.toml **/jj/config.toml
Schema URL https://catalog.lintel.tools/schemas/schemastore/jujutsu-jj-vcs-config/latest.json
Source https://jj-vcs.github.io/jj/latest/config-schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

User configuration for Jujutsu VCS. See https://docs.jj-vcs.dev/latest/config/ for details

Properties

user object

Settings about the user

2 nested properties
name string

Full name of the user, used in commits

email string

User's email address, used in commits

format=email
operation object

Metadata to be attached to jj operations (shown in jj op log)

2 nested properties
hostname string
format=hostname
username string
ui object

UI settings

19 nested properties
default-command string | string[]

Default command to run when no explicit command is given

Default: "log"
color enum

Whether to colorize command output

Default: "auto"
Values: "always" "never" "debug" "auto"
paginate string

Whether or not to use a pager

Default: "auto"
Values: "never" "auto"
pager command | command-env

Pager to use for displaying command output

Default: "less -FRX"
streampager object

':builtin' (streampager-based) pager configuration

3 nested properties
interface enum

Whether to quit automatically, whether to clear screen on startup/exit

Default: "quit-if-one-page"
Values: "quit-if-one-page" "full-screen-clear-output" "quit-quickly-or-clear-output"
wrapping enum

Whether to wrap long lines

Default: "anywhere"
Values: "anywhere" "word" "none"
show-ruler boolean

Whether the ruler should start visible

Default: true
diff-instructions boolean

Whether to generate the JJ-INSTRUCTIONS file as part of editing a diff

Default: true
graph object

Options for rendering revision graphs from jj log etc

1 nested properties
style enum

Style of connectors/markings used to render the graph. See https://docs.jj-vcs.dev/latest/config/#graph-style

Default: "curved"
Values: "curved" "square" "ascii" "ascii-large"
log-word-wrap boolean

Whether to wrap log template output

Default: false
log-synthetic-elided-nodes boolean

Whether to render elided parts of the graph as synthetic nodes.

Default: true
editor command | command-env

Editor to use for commands that involve editing text

diff-editor command | command-env

Editor tool to use for editing diffs

Default: ":builtin"
diff-formatter command | command-env

Tool for displaying or generating diffs

Default: ":color-words"
merge-editor command | command-env

Tool to use for resolving three-way merges. Behavior for a given tool name can be configured in merge-tools.TOOL tables

Default: ":builtin"
conflict-marker-style string

Conflict marker style to use when materializing conflicts in the working copy

Default: "diff"
Values: "diff" "diff-experimental" "snapshot" "git"
revsets-use-glob-by-default boolean

Whether to use glob string patterns in revsets by default

Default: true
show-cryptographic-signatures boolean

Whether the built-in templates should show cryptographic signature information

Default: false
movement object
1 nested properties
edit boolean

Whether the next and prev commands should behave as if the --edit flag was passed

Default: false
bookmark-list-sort-keys string[]

Specifies the sort keys for the bookmarks list. See the jj bookmark list --help for the --sort option

tag-list-sort-keys string[]

Specifies the sort keys for the tags list. See the jj tag list --help for the --sort option

fsmonitor object

External filesystem monitor settings, useful for large repos

2 nested properties
backend string

Whether to use an external filesystem monitor, useful for large repos

Default: "none"
Values: "none" "watchman"
watchman object
1 nested properties
register-snapshot-trigger boolean

Whether to use triggers to monitor for changes in the background.

Default: false
colors Record<string, colors | object>

Mapping from jj formatter labels to colors

diff object

Builtin diff formats settings

2 nested properties
color-words object

Options for color-words diffs

3 nested properties
conflict string

How conflicts are processed and displayed

Default: "materialize"
Values: "materialize" "pair"
max-inline-alternation integer

Maximum number of removed/added word alternation to inline

Default: 3
context integer

Number of lines of context to show

Default: 3
git object

Options for git diffs

1 nested properties
context integer

Number of lines of context to show

Default: 3
fileset-aliases Record<string, string>

Custom symbols/function aliases that can be used in fileset expressions

git object

Settings for git behavior (when using git backend)

9 nested properties
abandon-unreachable-commits boolean

Whether jj should abandon commits that became unreachable in Git.

Default: true
fetch string | string[]

The remote(s) from which commits are fetched

Default: "origin"
private-commits string

Revset of commits to refuse to push to remotes

Default: "none()"
push string

The remote to which commits are pushed

Default: "origin"
sign-on-push boolean

Whether jj should sign commits before pushing

Default: false
track-default-bookmark-on-clone boolean

Whether jj git clone creates a local bookmark tracking the default remote bookmark

Default: true
write-change-id-header boolean

Whether the change id should be stored in the Git commit object

Default: true
executable-path string

Path to the git executable

Default: "git"
colocate boolean

Whether to colocate the working copy with the git repository

Default: true
remotes Record<string, object>

Settings related to specific remotes

gerrit object

Settings for interacting with Gerrit

3 nested properties
default-remote string

The Gerrit remote to interact with

default-remote-branch string

The default branch to propose changes for

review-url string

Generate Link trailers with this URL instead of Change-Id trailers in jj gerrit upload

merge object

Merge settings

2 nested properties
hunk-level string

Granularity of hunks when merging files

Default: "line"
Values: "line" "word"
same-change string

Whether to resolve conflict that makes the same change at all sides

Default: "accept"
Values: "keep" "accept"
merge-tools Record<string, object>

Tables of custom options to pass to the given merge tool (selected in ui.merge-editor)

revsets Record<string, string>

Revset expressions used by various commands

9 nested properties
arrange string

Default set of revisions to open in the TUI when no explicit revset is given for jj arrange

Default: "reachable(@, mutable())"
fix string

Default set of revisions to fix when no explicit revset is given for jj fix

Default: "reachable(@, mutable())"
log string

Default set of revisions to show when no explicit revset is given for jj log and similar commands

Default: "present(@) | ancestors(immutable_heads().., 2) | trunk()"
short-prefixes string

Revisions to give shorter change and commit IDs to

Default: "<revsets.log>"
simplify-parents string

Default set of revisions to simplify when no explicit revset is given for jj simplify-parents

Default: "reachable(@, mutable())"
sign string

Default set of revisions to sign when no explicit revset is given for jj sign

Default: "reachable(@, mutable())"
log-graph-prioritize string

Set of revisions to prioritize when rendering the graph for jj log

Default: "present(@)"
bookmark-advance-to string

Default revision to advance bookmarks to when no explicit revision is given to jj advance --to

Default: "@"
bookmark-advance-from string

Default set of revisions to advance bookmarks from for jj advance (has access to to, the advance destination)

Default: "heads(::to & bookmarks())"
revset-aliases Record<string, string>

Custom symbols/function aliases that can used in revset expressions

1 nested properties
immutable_heads() string

Revisions to consider immutable. Ancestors of these are also considered immutable. The root commit is always considered immutable.

Default: "trunk() | tags() | untracked_remote_bookmarks()"
template-aliases Record<string, string>

Custom symbols/function aliases that can used in templates

aliases Record<string, string[]>

Custom subcommand aliases to be supported by the jj command

snapshot object

Parameters governing automatic capture of files into the working copy commit

3 nested properties
auto-track string

Fileset pattern describing what new files to automatically track on snapshotting. By default all new files are tracked.

Default: "all()"
auto-update-stale boolean

Whether to automatically update the working copy if it is stale. See https://docs.jj-vcs.dev/latest/working-copy/#stale-working-copy

Default: false
max-new-file-size integer | string

New files with a size in bytes above this threshold are not snapshotted, unless the threshold is 0

Default: "1MiB"
experimental-advance-branches object

Settings controlling the 'advance-branches' feature which moves bookmarks forward when new commits are created.

2 nested properties
enabled-branches string[]

Patterns used to identify bookmarks which may be advanced.

disabled-branches string[]

Patterns used to identify bookmarks which are not advanced. Takes precedence over 'enabled-branches'.

signing object

Settings for verifying and creating cryptographic commit signatures

4 nested properties
backend string

The backend to use for signing commits. The string none disables signing.

Default: "none"
Values: "gpg" "gpgsm" "none" "ssh"
key string

The key the configured signing backend will use to to sign commits. Overridden by jj sign parameter or by the global --sign-with option

behavior string

Which commits to sign by default. Values: drop (never sign), keep (preserve existing signatures), own (sign own commits), force (sign all commits)

Values: "drop" "keep" "own" "force"
backends object

Tables of options to pass to specific signing backends

3 nested properties
gpg object
2 nested properties
program string

Path to the gpg program to be called

Default: "gpg"
allow-expired-keys boolean

Whether to consider signatures generated with an expired key as valid

Default: false
gpgsm object
2 nested properties
program string

Path to the gpgsm program to be called

Default: "gpgsm"
allow-expired-keys boolean

Whether to consider signatures generated with an expired key as valid

Default: false
ssh object
3 nested properties
program string

Path to the ssh-keygen program to be called

Default: "ssh-keygen"
allowed-signers string

Path to an allowed signers file used for signature verification

revocation-list string

Path to a revocation list file used for revoking public keys

fix object

Settings for jj fix

1 nested properties
tools Record<string, object>

Settings for tools run by jj fix

split object

Settings for jj split

1 nested properties
legacy-bookmark-behavior boolean

If true, bookmarks will move to the second commit instead of the first.

Default: true
hints Record<string, boolean>

Various hints in jj's UI that can be disabled

templates Record<string, string>

Definitions for the templates that various jj commands use

19 nested properties
arrange string

`jj arrange``'s template for commits in the main view

bookmark_list string

jj bookmark list's output

commit_summary string

The short commit summary used by many commands

commit_trailers string

Trailers that will be appended to a commit's description

file_annotate string

jj file annotate's output

config_list string

jj config list's output

draft_commit_description string

The draft commit description opened in an editor

evolog string

jj evolog's output

file_list string

jj file list's output

file_show string

jj file show's output

git_push_bookmark string

Bookmark name to be assigned when pushing a change to Git remote

log string

jj log's output

op_log string

jj op log's output

op_show string

jj op show's output

op_summary string

The operation summary used by many commands

show string

jj show's output

revert_description string

The description of commits reverted by jj revert

tag_list string

jj tag list's output

workspace_list string

jj workspace list's output

working-copy object

Working copy settings

2 nested properties
eol-conversion string

Configuring auto-converting CRLF line endings into LF when you add a file to the backend, and vice versa when it checks out code onto your filesystem.

Default: "none"
Values: "input" "input-output" "none"
exec-bit-change string

Whether to respect changes to executable bits on Unix. This is unused on Windows.

Default: "auto"
Values: "respect" "ignore" "auto"
--when object

Conditions restriction the application of the configuration

6 nested properties
repositories string[]

List of paths to match the repository path prefix

hostnames string[]

List of hostnames to match the hostname

workspaces string[]

List of paths to match the workspace path prefix

commands string[]

List of subcommands to match

platforms string[]

List of platforms to match

environments string[]

List of environment conditions, any of which must match (NAME=VALUE) or be present (NAME).

--scope []

Scoped tables for conditional configuration