# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.65"
name = "gix-commitgraph"
version = "0.24.2"
authors = [
    "Conor Davis <gitoxide@conor.fastmail.fm>",
    "Sebastian Thiel <sebastian.thiel@icloud.com>",
]
include = [
    "src/**/*",
    "LICENSE-*",
]
description = "Read-only access to the git commitgraph file format"
documentation = "https://git-scm.com/docs/commit-graph#:~:text=The%20commit-graph%20file%20is%20a%20supplemental%20data%20structure,or%20in%20the%20info%20directory%20of%20an%20alternate."
license = "MIT OR Apache-2.0"
repository = "https://github.com/Byron/gitoxide"

[package.metadata.docs.rs]
all-features = true
features = ["document-features"]

[lib]
doctest = false

[dependencies.bstr]
version = "1.3.0"
features = ["std"]
default-features = false

[dependencies.document-features]
version = "0.2.0"
optional = true

[dependencies.gix-chunk]
version = "^0.4.8"

[dependencies.gix-features]
version = "^0.38.1"
features = ["rustsha1"]

[dependencies.gix-hash]
version = "^0.14.2"

[dependencies.memmap2]
version = "0.9.0"

[dependencies.serde]
version = "1.0.114"
features = ["derive"]
optional = true
default-features = false

[dependencies.thiserror]
version = "1.0.26"

[dev-dependencies]

[features]
serde = [
    "dep:serde",
    "gix-hash/serde",
    "bstr/serde",
]
