[[command]]
name = "jj"
description = "Git-compatible version control system with an opinionated, simpler model — automatic working-copy commits, first-class conflicts, and operation log for undo. Read-only operations (log, diff, show, status, file show, bookmark list, config list) inspect repo state. Write operations (new, commit, describe, rebase, squash, split, abandon, restore) modify the local change graph but never contact the network. git fetch downloads from remotes; git push uploads — both are network operations. The CLI is evolving rapidly with releases roughly every 1-2 weeks (still pre-1.0); new subcommands and flag changes are frequent and require ongoing review."
url = "https://jj-vcs.github.io/jj/latest/cli-reference/"
bare_flags = ["--help", "--version", "-h"]
[command.wrapper]
standalone = ["--debug", "--ignore-immutable", "--ignore-working-copy", "--no-pager", "--quiet", "--verbose"]
valued = ["--at-op", "--at-operation", "--color", "--repository", "-R"]

[[command.sub]]
name = "abandon"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "absorb"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "backout"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "cat"
tolerate_unknown_short = true
tolerate_unknown_long = true
bare = false

[[command.sub]]
name = "commit"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "describe"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "diff"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "duplicate"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "edit"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "fix"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "help"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "log"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "new"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "parallelize"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "rebase"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "resolve"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "restore"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "root"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "show"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "simplify-parents"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "split"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "squash"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "st"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "status"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "undo"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "unsquash"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "version"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "bookmark"
nested_bare = true
[[command.sub.sub]]
name = "create"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "delete"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "forget"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "list"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "move"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "rename"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "set"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "track"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "untrack"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "config"
nested_bare = true
[[command.sub.sub]]
name = "get"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "list"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "file"
nested_bare = true
[[command.sub.sub]]
name = "list"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "show"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "git"
nested_bare = true
[[command.sub.sub]]
name = "fetch"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "import"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "init"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "remote"
nested_bare = true
[[command.sub.sub.sub]]
name = "list"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "op"
nested_bare = true
[[command.sub.sub]]
name = "log"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "tag"
nested_bare = true
[[command.sub.sub]]
name = "list"
tolerate_unknown_short = true
tolerate_unknown_long = true

[[command.sub]]
name = "workspace"
nested_bare = true
[[command.sub.sub]]
name = "add"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "forget"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "list"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "rename"
level = "SafeWrite"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "root"
tolerate_unknown_short = true
tolerate_unknown_long = true
[[command.sub.sub]]
name = "update-stale"
tolerate_unknown_short = true
tolerate_unknown_long = true
