gix-revision 0.31.0

A crate of the gitoxide project dealing with finding names for revisions and parsing specifications
Documentation
lints.workspace = true

[package]
name = "gix-revision"
version = "0.31.0"
repository = "https://github.com/GitoxideLabs/gitoxide"
license = "MIT OR Apache-2.0"
description = "A crate of the gitoxide project dealing with finding names for revisions and parsing specifications"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
edition = "2021"
include = ["src/**/*", "LICENSE-*", "README.md"]
rust-version = "1.65"

[lib]
doctest = false

[features]
default = ["describe", "merge_base"]

## `git describe` functionality
describe = ["dep:gix-trace", "dep:gix-hashtable"]

## `git merge-base` functionality
merge_base = ["dep:gix-trace", "dep:bitflags"]

## Data structures implement `serde::Serialize` and `serde::Deserialize`.
serde = ["dep:serde", "gix-hash/serde", "gix-object/serde"]

[dependencies]
gix-hash = { version = "^0.15.1", path = "../gix-hash" }
gix-object = { version = "^0.46.0", path = "../gix-object" }
gix-date = { version = "^0.9.2", path = "../gix-date" }
gix-hashtable = { version = "^0.6.0", path = "../gix-hashtable", optional = true }
gix-revwalk = { version = "^0.17.0", path = "../gix-revwalk" }
gix-commitgraph = { version = "^0.25.1", path = "../gix-commitgraph" }
gix-trace = { version = "^0.1.11", path = "../gix-trace", optional = true }

bstr = { version = "1.3.0", default-features = false, features = ["std"] }
bitflags = { version = "2", optional = true }
thiserror = "2.0.0"
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"] }
document-features = { version = "0.2.1", optional = true }

[dev-dependencies]
gix-odb = { path = "../gix-odb" }
gix-testtools = { path = "../tests/tools" }
permutohedron = "0.2.4"

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