# 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-revision"
version = "0.27.0"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
include = [
    "src/**/*",
    "LICENSE-*",
    "README.md",
]
description = "A crate of the gitoxide project dealing with finding names for revisions and parsing specifications"
readme = "README.md"
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.1"
optional = true

[dependencies.gix-date]
version = "^0.8.5"

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

[dependencies.gix-hashtable]
version = "^0.5.2"

[dependencies.gix-object]
version = "^0.42.0"

[dependencies.gix-revwalk]
version = "^0.13.0"

[dependencies.gix-trace]
version = "^0.1.8"

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

[dependencies.thiserror]
version = "1.0.26"

[dev-dependencies]

[features]
default = ["describe"]
describe = []
serde = [
    "dep:serde",
    "gix-hash/serde",
    "gix-object/serde",
]
