[package]
name = "sapling-dag"
version = "0.1.0"
authors = ["Meta Source Control Team <sourcecontrol-dev@meta.com>"]
edition = "2021"
description = "An implementation of a DAG used for source control."
homepage = "https://sapling-scm.com/"
repository = "https://github.com/facebook/sapling"
license = "MIT"
[lib]
name = "dag"
[dependencies]
anyhow = "1.0.86"
async-trait = "0.1.71"
bitflags = { version = "2.6", features = ["serde"] }
byteorder = "1.3"
fail = { version = "0.4", features = ["failpoints"] }
fs2 = { version = "0.4", optional = true }
futures = { version = "0.3.30", features = ["async-await", "compat"] }
indexmap = { version = "2.2.6", features = ["arbitrary", "rayon", "serde"] }
rand = { version = "0.8", features = ["small_rng"] }
sapling-dag-types = { version = "0.1.0", path = "dag-types", default-features = false }
sapling-drawdag = { version = "0.1.0", path = "../drawdag" }
sapling-indexedlog = { version = "0.1.0", path = "../indexedlog", optional = true }
sapling-mincode = { version = "0.1.0", path = "../mincode" }
sapling-minibytes = { version = "0.1.0", path = "../minibytes", default-features = false }
sapling-nonblocking = { version = "0.1.0", path = "../nonblocking" }
sapling-renderdag = { version = "0.1.0", path = "../renderdag", optional = true }
sapling-vlqencoding = { version = "0.1.0", path = "../vlqencoding" }
serde = { version = "1.0.185", features = ["derive", "rc"] }
tempfile = { version = "3.8", optional = true }
thiserror = "1.0.64"
tracing = { version = "0.1.40", features = ["attributes", "valuable"] }
[dev-dependencies]
fs2 = "0.4"
once_cell = "1.12"
quickcheck = "1.0"
sapling-dag-types = { version = "0.1.0", path = "dag-types" }
sapling-dev-logger = { version = "0.1.0", path = "../dev-logger" }
sapling-indexedlog = { version = "0.1.0", path = "../indexedlog" }
sapling-renderdag = { version = "0.1.0", path = "../renderdag" }
tempfile = "3.8"
tokio = { version = "1.41.0", features = ["full", "test-util", "tracing"] }
[features]
default = ["indexedlog-backend", "render"]
indexedlog-backend = ["fs2", "sapling-indexedlog", "tempfile"]
render = ["sapling-renderdag"]