Local workflow, smart-HTTP clone/fetch/push and public HTTPS clone/fetch match native git in stdout and exit codes. Only WASI imports (wasi:http, exit-with-code).
97 lines
4.2 KiB
TOML
97 lines
4.2 KiB
TOML
lints.workspace = true
|
|
|
|
[package]
|
|
name = "gix-pack"
|
|
version = "0.77.0"
|
|
repository = "https://github.com/GitoxideLabs/gitoxide"
|
|
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
|
|
license = "MIT OR Apache-2.0"
|
|
description = "Implements git packs and related data structures"
|
|
edition = "2024"
|
|
include = ["/src/**/*", "/LICENSE-*"]
|
|
rust-version = "1.88"
|
|
|
|
[lib]
|
|
doctest = false
|
|
|
|
[[bench]]
|
|
name = "pack_create"
|
|
harness = false
|
|
|
|
[features]
|
|
default = ["generate", "streaming-input"]
|
|
## Enable support for the SHA-1 hash by enabling the respective feature in the `gix-hash` crate.
|
|
sha1 = ["gix-hash/sha1"]
|
|
## Enable support for the SHA-256 hash by enabling the respective feature in the `gix-hash` crate.
|
|
sha256 = ["gix-hash/sha256"]
|
|
## generate new packs from a set of objects.
|
|
generate = ["dep:gix-traverse", "dep:gix-diff", "dep:parking_lot", "dep:gix-hashtable"]
|
|
## Receive a pack as datastream and resolve it
|
|
streaming-input = ["dep:parking_lot", "dep:gix-tempfile"]
|
|
## Provide a fixed-size allocation-free LRU cache for packs. It's useful if caching is desired while keeping the memory footprint
|
|
## for the LRU-cache itself low.
|
|
pack-cache-lru-static = ["dep:uluru"]
|
|
## Provide a hash-map based LRU cache whose eviction is based a memory cap calculated from object data.
|
|
pack-cache-lru-dynamic = ["dep:clru"]
|
|
## If set, select algorithms may additionally use a full-object cache which is queried before the pack itself.
|
|
object-cache-dynamic = ["dep:clru", "dep:gix-hashtable"]
|
|
## Data structures implement `serde::Serialize` and `serde::Deserialize`.
|
|
serde = ["dep:serde", "gix-object/serde", "gix-zlib/serde"]
|
|
## Enable parallel algorithms.
|
|
parallel = ["gix-parallel/parallel", "dep:crossbeam-deque"]
|
|
## Make it possible to compile to the `wasm32-unknown-unknown` target.
|
|
wasm = ["gix-diff?/wasm"]
|
|
## Add test-utilities for tests and benchmarks.
|
|
testing = []
|
|
|
|
[dependencies]
|
|
crc32fast = "1.5.0"
|
|
gix-trace = { version = "^0.3.1", path = "../gix-trace" }
|
|
gix-utils = { version = "^0.5.1", path = "../gix-utils", features = ["interrupt", "progress"] }
|
|
gix-parallel = { version = "^0.50.0", path = "../gix-parallel" }
|
|
gix-zlib = { version = "^0.4.0", path = "../gix-zlib" }
|
|
gix-path = { version = "^0.14.1", path = "../gix-path" }
|
|
gix-hash = { version = "^0.28.1", path = "../gix-hash" }
|
|
gix-chunk = { version = "^0.10.1", path = "../gix-chunk" }
|
|
gix-error = { version = "^0.5.2", path = "../gix-error" }
|
|
gix-object = { version = "^0.66.1", path = "../gix-object" }
|
|
gix-hashtable = { version = "^0.18.0", path = "../gix-hashtable", optional = true }
|
|
|
|
# for streaming of packs (input, output)
|
|
gix-traverse = { version = "^0.64.0", path = "../gix-traverse", optional = true }
|
|
gix-diff = { version = "^0.70.0", path = "../gix-diff", default-features = false, optional = true }
|
|
|
|
memmap2 = "0.9.11"
|
|
smallvec = "1.15.1"
|
|
parking_lot = { version = "0.12.4", default-features = false, optional = true }
|
|
crossbeam-deque = { version = "0.8.6", optional = true }
|
|
|
|
# for caching
|
|
uluru = { version = "3.0.0", optional = true }
|
|
clru = { version = "0.6.1", optional = true }
|
|
|
|
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"] }
|
|
## If enabled, `cargo doc` will see feature documentation from this manifest.
|
|
document-features = { version = "0.2.0", optional = true }
|
|
|
|
|
|
[target.'cfg(any(not(target_arch = "wasm32"), target_os = "wasi"))'.dependencies]
|
|
gix-tempfile = { version = "^26.0.0", default-features = false, path = "../gix-tempfile", optional = true }
|
|
|
|
[dev-dependencies]
|
|
gix-pack = { path = ".", features = ["sha1", "sha256", "pack-cache-lru-dynamic", "pack-cache-lru-static", "object-cache-dynamic", "serde", "testing"] }
|
|
gix-testtools = { path = "../tests/tools", default-features = false, features = ["sha1", "sha256"] }
|
|
gix-odb = { path = "../gix-odb", features = ["sha1", "sha256"] }
|
|
gix-object = { path = "../gix-object" }
|
|
gix-traverse = { path = "../gix-traverse" }
|
|
|
|
bstr = { version = "1.12.0", default-features = false, features = ["std"] }
|
|
maplit = "1.0.2"
|
|
criterion = "0.8.2"
|
|
prodash = { version = "31.0.0", features = ["progress-log"] }
|
|
insta = "1.46.3"
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
features = ["sha1", "sha256", "document-features", "pack-cache-lru-dynamic", "object-cache-dynamic", "serde"]
|