cargo-features = [] [workspace] resolver = "3" members = ["cli", "lib", "lib/gen-protos", "lib/proc-macros", "lib/testutils"] [workspace.package] version = "0.31.0" license = "Apache-2.0" rust-version = "1.84" # NOTE: remember to update CI, contributing.md, changelog.md, and install-and-setup.md edition = "2021" readme = "README.md" homepage = "https://github.com/jj-vcs/jj" repository = "https://github.com/jj-vcs/jj" documentation = "https://jj-vcs.github.io/jj/" categories = ["version-control", "development-tools"] keywords = ["VCS", "DVCS", "SCM", "Git", "Mercurial"] [workspace.dependencies] assert_cmd = "2.0.8" assert_matches = "1.5.0" async-trait = "0.1.88" blake2 = "0.10.6" bstr = "1.11.3" clap = { version = "4.5.40", features = [ "derive", "deprecated", "wrap_help", "string", ] } clap_complete = { version = "4.5.54", features = ["unstable-dynamic"] } clap_complete_nushell = "4.5.7" # Update clap-markdown manually since test_generate_md_cli_help snapshot # will need regenerating. clap-markdown = "=0.1.5" clap_mangen = "0.2.25" chrono = { version = "0.4.41", default-features = false, features = [ "std", "clock", "serde", ] } clru = "0.6.2" criterion = "0.5.1" crossterm = { version = "0.28", default-features = false, features = ["windows"] } datatest-stable = "0.3.2" digest = "0.10.7" dunce = "1.0.5" erased-serde = "0.4.6" etcetera = "0.10.0" either = "1.15.0" futures = "0.3.31" gix = { version = "0.72.1", default-features = false, features = [ "attributes", "blob-diff", "index", "max-performance-safe", "zlib-rs", ] } glob = "0.3.2" hashbrown = { version = "0.15.4", default-features = false, features = ["inline-more"] } ignore = "0.4.23" indexmap = { version = "2.10.0", features = ["serde"] } indoc = "2.0.6" insta = { version = "1.43.1", features = ["filters"] } interim = { version = "0.2.1", features = ["chrono_0_4"] } itertools = "0.14.0" libc = { version = "0.2.174" } maplit = "1.0.2" num_cpus = "1.17.0" once_cell = "1.21.3" os_pipe = "1.2.2" pest = "2.8.1" pest_derive = "2.8.1" pollster = "0.4.0" pretty_assertions = "1.4.1" proc-macro2 = "1.0.95" proptest = "1.7.0" proptest-derive = "0.6.0" proptest-state-machine = "0.3.1" prost = "0.13.5" prost-build = "0.13.5" quote = "1.0.40" rand = "0.9.1" rand_chacha = "0.9.0" rayon = "1.10.0" ref-cast = "1.0.24" regex = "1.11.1" rpassword = "7.4.0" rustix = { version = "1.0.7", features = ["fs"] } same-file = "1.0.6" sapling-renderdag = "0.1.0" sapling-streampager = "0.11.0" scm-record = "0.8.0" serde = { version = "1.0", features = ["derive", "rc"] } serde_json = "1.0.140" slab = "0.4.10" smallvec = { version = "1.15.1", features = [ "const_generics", "const_new", "serde", "union", ] } strsim = "0.11.1" syn = "2.0.104" rustversion = "1.0.21" tempfile = "3.20.0" test-case = "3.3.1" textwrap = "0.16.2" thiserror = "2.0.12" timeago = { version = "0.4.2", default-features = false } tokio = { version = "1.46.1", features = ["io-util"] } toml_edit = { version = "0.22.27", features = ["serde"] } tracing = "0.1.41" tracing-chrome = "0.7.2" tracing-subscriber = { version = "0.3.19", default-features = false, features = [ "std", "ansi", "env-filter", "fmt", ] } unicode-width = "0.2.0" version_check = "0.9.5" watchman_client = { version = "0.9.0" } whoami = "1.6.0" winreg = "0.52" # put all inter-workspace libraries, i.e. those that use 'path = ...' here in # their own (alphabetically sorted) block jj-lib = { path = "lib", version = "0.31.0", default-features = false } jj-lib-proc-macros = { path = "lib/proc-macros", version = "0.31.0" } testutils = { path = "lib/testutils" } [workspace.lints.clippy] explicit_iter_loop = "warn" flat_map_option = "warn" implicit_clone = "warn" needless_for_each = "warn" semicolon_if_nothing_returned = "warn" uninlined_format_args = "warn" unused_trait_names = "warn" useless_conversion = "warn" [profile.dev.package] # Insta suggests compiling these packages in opt mode for faster testing. # See https://docs.rs/insta/latest/insta/#optional-faster-runs. insta.opt-level = 3 similar.opt-level = 3 # Proptest suggests compiling itself and its RNG in opt mode as well. # See https://proptest-rs.github.io/proptest/proptest/tips-and-best-practices.html#setting-opt-level proptest.opt-level = 3 proptest-state-machine.opt-level = 3 rand_chacha.opt-level = 3 [profile.release] strip = "debuginfo" codegen-units = 1