mirror of
https://github.com/martinvonz/jj.git
synced 2025-01-12 23:23:20 +00:00
dfaa52c88a
We'll use low-level HashTable to customize Eq/Hash without implementing newtype wrappers. Unneeded default features are disabled for now. Note that the new default hasher, foldhash, is released under the Zlib license, which isn't currently included in the allow list.
152 lines
4.3 KiB
TOML
152 lines
4.3 KiB
TOML
cargo-features = []
|
|
|
|
[workspace]
|
|
resolver = "2"
|
|
members = ["cli", "lib", "lib/gen-protos", "lib/proc-macros", "lib/testutils"]
|
|
|
|
[workspace.package]
|
|
version = "0.22.0"
|
|
license = "Apache-2.0"
|
|
rust-version = "1.76" # NOTE: remember to update CI, contributing.md, changelog.md, and flake.nix
|
|
edition = "2021"
|
|
readme = "README.md"
|
|
homepage = "https://github.com/martinvonz/jj"
|
|
repository = "https://github.com/martinvonz/jj"
|
|
documentation = "https://martinvonz.github.io/jj/"
|
|
categories = ["version-control", "development-tools"]
|
|
keywords = ["VCS", "DVCS", "SCM", "Git", "Mercurial"]
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1.0.89"
|
|
assert_cmd = "2.0.8"
|
|
assert_matches = "1.5.0"
|
|
async-trait = "0.1.83"
|
|
backoff = "0.4.0"
|
|
blake2 = "0.10.6"
|
|
bstr = "1.10.0"
|
|
clap = { version = "4.5.19", features = [
|
|
"derive",
|
|
"deprecated",
|
|
"wrap_help",
|
|
"string",
|
|
] }
|
|
clap_complete = "4.5.32"
|
|
clap_complete_nushell = "4.5.3"
|
|
clap-markdown = "0.1.4"
|
|
clap_mangen = "0.2.10"
|
|
chrono = { version = "0.4.38", default-features = false, features = [
|
|
"std",
|
|
"clock",
|
|
] }
|
|
chrono-english = { version = "0.1.7" }
|
|
clru = "0.6.2"
|
|
config = { version = "0.13.4", default-features = false, features = ["toml"] }
|
|
criterion = "0.5.1"
|
|
crossterm = { version = "0.27", default-features = false }
|
|
digest = "0.10.7"
|
|
dirs = "5.0.1"
|
|
dunce = "1.0.5"
|
|
either = "1.13.0"
|
|
esl01-renderdag = "0.3.0"
|
|
futures = "0.3.30"
|
|
git2 = { version = "0.19.0", features = [
|
|
# Do *not* disable this feature even if you'd like dynamic linking. Instead,
|
|
# set the environment variable `LIBGIT2_NO_VENDOR=1` if dynamic linking must
|
|
# be used (this will override the Cargo feature), and allow static linking
|
|
# in other cases. Rationale: If neither the feature nor the environment
|
|
# variable are set, `git2` may still decide to vendor `libgit2` if it
|
|
# doesn't find a version of `libgit2` to link to dynamically. See also
|
|
# https://github.com/rust-lang/git2-rs/commit/3cef4119f
|
|
"vendored-libgit2"
|
|
] }
|
|
gix = { version = "0.66.0", default-features = false, features = [
|
|
"index",
|
|
"max-performance-safe",
|
|
"blob-diff",
|
|
] }
|
|
gix-filter = "0.13.0"
|
|
glob = "0.3.1"
|
|
hashbrown = { version = "0.15.0", default-features = false, features = ["inline-more"] }
|
|
hex = "0.4.3"
|
|
ignore = "0.4.23"
|
|
indexmap = "2.6.0"
|
|
indoc = "2.0.4"
|
|
insta = { version = "1.40.0", features = ["filters"] }
|
|
itertools = "0.13.0"
|
|
libc = { version = "0.2.159" }
|
|
maplit = "1.0.2"
|
|
minus = { version = "5.6.1", features = ["dynamic_output", "search"] }
|
|
num_cpus = "1.16.0"
|
|
once_cell = "1.20.1"
|
|
pest = "2.7.13"
|
|
pest_derive = "2.7.13"
|
|
pollster = "0.3.0"
|
|
pretty_assertions = "1.4.1"
|
|
proc-macro2 = "1.0.86"
|
|
prost = "0.12.6"
|
|
prost-build = "0.12.6"
|
|
quote = "1.0.36"
|
|
rand = "0.8.5"
|
|
rand_chacha = "0.3.1"
|
|
rayon = "1.10.0"
|
|
ref-cast = "1.0.23"
|
|
regex = "1.11.0"
|
|
rpassword = "7.3.1"
|
|
rustix = { version = "0.38.37", features = ["fs"] }
|
|
scm-record = "0.3.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0.128"
|
|
slab = "0.4.9"
|
|
smallvec = { version = "1.13.2", features = [
|
|
"const_generics",
|
|
"const_new",
|
|
"union",
|
|
] }
|
|
strsim = "0.11.1"
|
|
syn = "2.0.79"
|
|
tempfile = "3.13.0"
|
|
test-case = "3.3.1"
|
|
textwrap = "0.16.1"
|
|
thiserror = "1.0.64"
|
|
timeago = { version = "0.4.2", default-features = false }
|
|
tokio = { version = "1.40.0" }
|
|
toml_edit = { version = "0.19.15", features = ["serde"] }
|
|
tracing = "0.1.40"
|
|
tracing-chrome = "0.7.2"
|
|
tracing-subscriber = { version = "0.3.18", default-features = false, features = [
|
|
"std",
|
|
"ansi",
|
|
"env-filter",
|
|
"fmt",
|
|
] }
|
|
unicode-width = "0.1.14"
|
|
version_check = "0.9.5"
|
|
watchman_client = { version = "0.9.0" }
|
|
whoami = "1.5.2"
|
|
winreg = "0.52"
|
|
zstd = "0.12.4"
|
|
|
|
# put all inter-workspace libraries, i.e. those that use 'path = ...' here in
|
|
# their own (alphabetically sorted) block
|
|
|
|
jj-lib = { path = "lib", version = "0.22.0" }
|
|
jj-lib-proc-macros = { path = "lib/proc-macros", version = "0.22.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"
|
|
|
|
# Insta suggests compiling these packages in opt mode for faster testing.
|
|
# See https://docs.rs/insta/latest/insta/#optional-faster-runs.
|
|
[profile.dev.package]
|
|
insta.opt-level = 3
|
|
similar.opt-level = 3
|
|
|
|
[profile.release]
|
|
strip = "debuginfo"
|
|
codegen-units = 1
|