jj-cli 0.38.0

Jujutsu - an experimental version control system
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.89"
name = "jj-cli"
version = "0.38.0"
build = "build.rs"
include = [
    "/LICENSE",
    "/build.rs",
    "/examples/",
    "/src/",
    "/docs/**",
    "/testing/",
    "/tests/",
    "!*.pending-snap",
    "!*.snap*",
    "/tests/cli-reference@.md.snap",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "jj"
description = "Jujutsu - an experimental version control system"
homepage = "https://www.jj-vcs.dev/"
documentation = "https://docs.jj-vcs.dev/"
readme = false
keywords = [
    "VCS",
    "DVCS",
    "SCM",
    "Git",
    "Mercurial",
]
license = "Apache-2.0"
repository = "https://github.com/jj-vcs/jj"

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/jj-v{ version }-{ target }.{ archive-format }"

[package.metadata.deb]
name = "jj"
maintainer = "Unspecified Debian Maintainer <nobody@example.com>"
copyright = "Copyright 2025 The Jujutsu Authors"
license-file = "LICENSE"
section = "vcs"
priority = "optional"
extended-description = "Distributed Version Control System inspired by Git, Mercurial and Darcs."
default-features = true

[[package.metadata.deb.assets]]
source = "docs/*"
dest = "usr/share/doc/jj/"
mode = "644"

[[package.metadata.deb.assets]]
source = "docs/*/*"
dest = "usr/share/doc/jj/"
mode = "644"

[[package.metadata.deb.assets]]
source = "target/release/jj"
dest = "usr/bin/"
mode = "755"

[features]
bench = ["dep:criterion"]
default = [
    "watchman",
    "git",
]
git = [
    "jj-lib/git",
    "dep:gix",
]
test-fakes = ["jj-lib/testing"]
watchman = ["jj-lib/watchman"]

[lib]
name = "jj_cli"
path = "src/lib.rs"

[[bin]]
name = "fake-bisector"
path = "testing/fake-bisector.rs"
required-features = ["test-fakes"]

[[bin]]
name = "fake-diff-editor"
path = "testing/fake-diff-editor.rs"
required-features = ["test-fakes"]

[[bin]]
name = "fake-echo"
path = "testing/fake-echo.rs"
required-features = ["test-fakes"]

[[bin]]
name = "fake-editor"
path = "testing/fake-editor.rs"
required-features = ["test-fakes"]

[[bin]]
name = "fake-formatter"
path = "testing/fake-formatter.rs"
required-features = ["test-fakes"]

[[bin]]
name = "jj"
path = "src/main.rs"

[[example]]
name = "custom-backend"
path = "examples/custom-backend/main.rs"

[[example]]
name = "custom-command"
path = "examples/custom-command/main.rs"

[[example]]
name = "custom-commit-templater"
path = "examples/custom-commit-templater/main.rs"

[[example]]
name = "custom-global-flag"
path = "examples/custom-global-flag/main.rs"

[[example]]
name = "custom-operation-templater"
path = "examples/custom-operation-templater/main.rs"

[[example]]
name = "custom-working-copy"
path = "examples/custom-working-copy/main.rs"

[[test]]
name = "datatest_runner"
path = "tests/datatest_runner.rs"
harness = false

[[test]]
name = "runner"
path = "tests/runner.rs"

[dependencies.bstr]
version = "1.12.1"

[dependencies.chrono]
version = "0.4.43"
features = [
    "std",
    "clock",
    "serde",
]
default-features = false

[dependencies.clap]
version = "4.5.54"
features = [
    "derive",
    "deprecated",
    "wrap_help",
    "string",
]

[dependencies.clap-markdown]
version = "=0.1.5"

[dependencies.clap_complete]
version = "4.5.65"
features = ["unstable-dynamic"]

[dependencies.clap_complete_nushell]
version = "4.5.10"

[dependencies.clap_mangen]
version = "0.2.25"

[dependencies.criterion]
version = "0.8.1"
optional = true

[dependencies.crossterm]
version = "0.29"
features = ["windows"]
default-features = false

[dependencies.dunce]
version = "1.0.5"

[dependencies.erased-serde]
version = "0.4.9"

[dependencies.etcetera]
version = "0.11.0"

[dependencies.futures]
version = "0.3.31"

[dependencies.gix]
version = "0.78.0"
features = [
    "attributes",
    "blob-diff",
    "index",
    "max-performance-safe",
    "zlib-rs",
]
optional = true
default-features = false

[dependencies.globset]
version = "0.4.18"

[dependencies.indexmap]
version = "2.13.0"
features = ["serde"]

[dependencies.indoc]
version = "2.0.7"

[dependencies.itertools]
version = "0.14.0"

[dependencies.jj-lib]
version = "0.38.0"
default-features = false

[dependencies.maplit]
version = "1.0.2"

[dependencies.once_cell]
version = "1.21.3"

[dependencies.pest]
version = "2.8.5"

[dependencies.pest_derive]
version = "2.8.5"

[dependencies.pollster]
version = "0.4.0"

[dependencies.rand]
version = "0.9.2"

[dependencies.rand_chacha]
version = "0.9.0"

[dependencies.regex]
version = "1.12.2"

[dependencies.rpassword]
version = "7.4.0"

[dependencies.sapling-renderdag]
version = "0.1.0"

[dependencies.sapling-streampager]
version = "0.12.0"

[dependencies.scm-record]
version = "0.10.0"

[dependencies.serde]
version = "1.0"
features = [
    "derive",
    "rc",
]

[dependencies.serde_json]
version = "1.0.149"

[dependencies.shlex]
version = "1.3.0"

[dependencies.slab]
version = "0.4.11"

[dependencies.tempfile]
version = "3.24.0"

[dependencies.textwrap]
version = "0.16.2"

[dependencies.thiserror]
version = "2.0.17"

[dependencies.timeago]
version = "0.5.0"
default-features = false

[dependencies.tokio]
version = "1.49.0"
features = ["io-util"]

[dependencies.toml]
version = "0.9.11"

[dependencies.toml_edit]
version = "0.24.0"
features = ["serde"]

[dependencies.tracing]
version = "0.1.44"

[dependencies.tracing-chrome]
version = "0.7.2"

[dependencies.tracing-subscriber]
version = "0.3.22"
features = [
    "std",
    "ansi",
    "env-filter",
    "fmt",
]
default-features = false

[dependencies.unicode-width]
version = "0.2.2"

[dependencies.whoami]
version = "2.0.2"

[dev-dependencies.assert_cmd]
version = "2.1.2"

[dev-dependencies.assert_matches]
version = "1.5.0"

[dev-dependencies.async-trait]
version = "0.1.89"

[dev-dependencies.datatest-stable]
version = "0.3.3"

[dev-dependencies.insta]
version = "1.46.1"
features = ["filters"]

[dev-dependencies.jsonschema]
version = "0.40.0"
default-features = false

[dev-dependencies.proptest]
version = "1.9.0"

[dev-dependencies.proptest-state-machine]
version = "0.6.0"

[dev-dependencies.test-case]
version = "3.3.1"

[target."cfg(unix)".dependencies.libc]
version = "0.2.180"

[lints.clippy]
borrow_as_ptr = "warn"
cast_lossless = "warn"
cloned_instead_of_copied = "warn"
elidable_lifetime_names = "warn"
explicit_into_iter_loop = "warn"
explicit_iter_loop = "warn"
flat_map_option = "warn"
format_collect = "warn"
format_push_string = "warn"
implicit_clone = "warn"
needless_for_each = "warn"
ptr_as_ptr = "warn"
ptr_cast_constness = "warn"
ref_as_ptr = "warn"
ref_option = "warn"
semicolon_if_nothing_returned = "warn"
single_char_pattern = "warn"
stable_sort_primitive = "warn"
uninlined_format_args = "warn"
unnecessary_literal_bound = "warn"
unnecessary_semicolon = "warn"
unnested_or_patterns = "warn"
unused_trait_names = "warn"
use_self = "warn"
useless_conversion = "warn"
while_let_loop = "warn"

[lints.rust]
let_underscore_drop = "warn"
redundant_imports = "warn"