mirror of
https://github.com/martinvonz/jj.git
synced 2024-12-28 07:20:11 +00:00
4ee261717e
As mentioned in the previous commit, we need to remove the Protobuf dependency in order to be allowed to import jj into Google's repo. This commit makes `SimpleOpStore` store its data using Thrift instead of Protobufs. It also adds automatic upgrade of existing repos. The upgrade process took 18 s in my repo, which has 22k operations. The upgraded storage uses practically the same amount of space. `jj op log` (the full outut) in my repo slowed down from 1.2 s to 3.4 s. Luckily that's an uncommon operation. I couldn't measure any difference in `jj status` (loading a single operation).
59 lines
1.7 KiB
TOML
59 lines
1.7 KiB
TOML
[package]
|
|
name = "jujutsu-lib"
|
|
version = "0.5.1"
|
|
authors = ["Martin von Zweigbergk <martinvonz@google.com>"]
|
|
edition = "2021"
|
|
rust-version = "1.60"
|
|
license = "Apache-2.0"
|
|
description = "Library for Jujutsu (an experimental VCS)"
|
|
homepage = "https://github.com/martinvonz/jj"
|
|
repository = "https://github.com/martinvonz/jj"
|
|
documentation = "https://docs.rs/jujutsu"
|
|
readme = "../README.md"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[build-dependencies]
|
|
protobuf-codegen = "3.2.0"
|
|
version_check = "0.9.4"
|
|
|
|
[dependencies]
|
|
backoff = "0.4.0"
|
|
blake2 = "0.10.5"
|
|
bytes = "1.2.1"
|
|
byteorder = "1.4.3"
|
|
chrono = { version = "0.4.22", default-features = false, features = ["std", "clock"] }
|
|
config = { version = "0.13.2", default-features = false, features = ["toml"] }
|
|
digest = "0.10.5"
|
|
git2 = "0.15.0"
|
|
hex = "0.4.3"
|
|
itertools = "0.10.5"
|
|
maplit = "1.0.2"
|
|
once_cell = "1.16.0"
|
|
pest = "2.4.1"
|
|
pest_derive = "2.4.1"
|
|
protobuf = { version = "3.0.1", features = ["with-bytes"] }
|
|
rand = "0.8.5"
|
|
regex = "1.7.0"
|
|
serde_json = "1.0.87"
|
|
tempfile = "3.3.0"
|
|
thiserror = "1.0.37"
|
|
# thrift v0.17.0 (specified by hash for security reasons)
|
|
thrift = { git = "https://github.com/apache/thrift", rev = "4d493e867b349f3475203ef9848353b315203c51", default-features = false }
|
|
uuid = { version = "1.2.1", features = ["v4"] }
|
|
whoami = "1.2.3"
|
|
zstd = "0.11.2"
|
|
|
|
[dev-dependencies]
|
|
assert_matches = "1.5.0"
|
|
insta = "1.21.0"
|
|
num_cpus = "1.14.0"
|
|
test-case = "2.2.2"
|
|
testutils = { path = "testutils" }
|
|
|
|
[features]
|
|
default = ["legacy_protobuf"]
|
|
vendored-openssl = ["git2/vendored-openssl"]
|
|
# Enable upgrade of repositories created with storage backends based on
|
|
# Protobuf format (from before we switched to Thrift)
|
|
legacy_protobuf = []
|