76 lines · 3.4 KB · TOML
RawDownload
[package]name = "gitoxide-core"description = "The library implementing all capabilities of the gitoxide CLI"repository = "https://github.com/Byron/gitoxide"version = "0.28.0"authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]license = "MIT/Apache-2.0"edition = "2021" [lib]doctest = falsetest = false [features]default = [] #! ### Tools## Discover all git repositories within a directory. Particularly useful with [skim](https://github.com/lotabout/skim).organize = ["dep:gix-url", "dep:jwalk"]## Derive the amount of time invested into a git repository akin to [git-hours](https://github.com/kimmobrunfeldt/git-hours).estimate-hours = ["dep:itertools", "dep:fs-err", "dep:crossbeam-channel", "dep:smallvec"]## Gather information about repositories and store it in a database for easy querying.query = ["dep:rusqlite"] #! ### Mutually Exclusive Networking#! If both are set, _blocking-client_ will take precedence, allowing `--all-features` to be used. ## If set, the client used to connect to git servers will use a blocking API. It supports more transports and is what most would want.blocking-client = ["gix/blocking-network-client"]## The client to connect to git servers will be async, while supporting only the 'git' transport itself.## It's the most limited and can be seen as example on how to use custom transports for custom servers.async-client = ["gix/async-network-client-async-std", "gix-transport-configuration-only/async-std", "async-trait", "futures-io", "async-net", "async-io", "futures-lite", "blocking"] #! ### Other## Data structures implement `serde::Serialize` and `serde::Deserialize`.serde = ["gix/serde", "serde_json", "dep:serde", "bytesize/serde"]  [dependencies]# deselect everything else (like "performance") as this should be controllable by the parent application.gix = { version = "^0.45.1", path = "../gix", default-features = false }gix-pack-for-configuration-only = { package = "gix-pack", version = "^0.36.0", path = "../gix-pack", default-features = false, features = ["pack-cache-lru-dynamic", "pack-cache-lru-static"] }gix-transport-configuration-only = { package = "gix-transport", version = "^0.32.0", path = "../gix-transport", default-features = false }serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"] }anyhow = "1.0.42"thiserror = "1.0.34"bytesize = "1.0.1"serde_json = { version = "1.0.65", optional = true }tempfile = "3.1.0" # for async-clientasync-trait = { version = "0.1.51", optional = true }async-net = { version = "1.6", optional = true }futures-lite = { version  = "1.12.0", optional = true }async-io = { version = "1.6", optional = true }futures-io = { version = "0.3.16", optional = true }blocking = { version = "1.0.2", optional = true } # for 'organize' functionalitygix-url = { version = "^0.19.0", path = "../gix-url", optional = true }jwalk = { version = "0.8.0", optional = true } # for 'hours'itertools = { version = "0.10.1", optional = true }fs-err = { version = "2.6.0", optional = true }crossbeam-channel = { version = "0.5.6", optional = true }smallvec = { version = "1.10.0", optional = true } # for 'query'rusqlite = { version = "0.29.0", optional = true, features = ["bundled"] } document-features = { version = "0.2.0", optional = true } [package.metadata.docs.rs]features = ["document-features", "blocking-client", "organize", "estimate-hours", "serde"]rustdoc-args = ["--cfg", "docsrs"]