| @@ -13,12 +13,25 @@ doctest = false · 12 unmodified lines |
| 13 | | 13 | |
| 14 | [features] | 14 | [features] |
| 15 | default = [] | 15 | default = [] |
| 16 | ## Data structures implement `serde::Serialize` and `serde::Deserialize`. | 16 | |
| 17 | serde1 = ["serde"] | 17 | #! ### _Mutually Exclusive Client_ |
| 18 | http-client-curl = ["curl", "base64", "git-features/io-pipe", "blocking-client"] | 18 | #! The _client_ portion of transport can be blocking or async. If none is selected, it will be missing entirely. |
| | 19 | #! Specifying both causes a compile error, preventing the use of `--all-features`. |
| | 20 | |
| | 21 | ## If set, blocking implementations of the typical git transports become available in `crate::client` |
| 19 | blocking-client = ["git-packetline/blocking-io"] | 22 | blocking-client = ["git-packetline/blocking-io"] |
| | 23 | ## Implies `blocking-client`, and adds support for the http and https transports using the Rust bindings for `libcurl`. |
| | 24 | http-client-curl = ["curl", "base64", "git-features/io-pipe", "blocking-client"] |
| | 25 | ## If set, an async implementations of the git transports becomes available in `crate::client`. |
| | 26 | ## Suitable for implementing your own transports while using git's way of communication, typically in conjunction with a custom server. |
| | 27 | ## **Note** that the _blocking_ client has a wide range of available transports, with the _async_ version of it supporting only the TCP based `git` transport leaving you |
| | 28 | ## with the responsibility to providing such an implementation of `futures-io::AsyncRead/AsyncWrite` yourself. |
| 20 | async-client = ["git-packetline/async-io", "async-trait", "futures-lite", "futures-io", "pin-project-lite"] | 29 | async-client = ["git-packetline/async-io", "async-trait", "futures-lite", "futures-io", "pin-project-lite"] |
| 21 | | 30 | |
| | 31 | #! ### Other |
| | 32 | ## Data structures implement `serde::Serialize` and `serde::Deserialize`. |
| | 33 | serde1 = ["serde"] |
| | 34 | |
| 22 | [[test]] | 35 | [[test]] |
| 23 | name = "blocking-transport" | 36 | name = "blocking-transport" |
| 24 | path = "tests/blocking-transport.rs" | 37 | path = "tests/blocking-transport.rs" |
| @@ -57,6 +70,8 @@ curl = { version = "0.4", optional = true, features = ["static-curl", "static-ss · 32 unmodified lines |
| 57 | thiserror = "1.0.26" | 70 | thiserror = "1.0.26" |
| 58 | base64 = { version = "0.13.0", optional = true } | 71 | base64 = { version = "0.13.0", optional = true } |
| 59 | | 72 | |
| | 73 | document-features = { version = "0.1.0", optional = true } |
| | 74 | |
| 60 | [dev-dependencies] | 75 | [dev-dependencies] |
| 61 | git-pack = { path = "../git-pack" } | 76 | git-pack = { path = "../git-pack" } |
| 62 | git-hash = { path = "../git-hash" } | 77 | git-hash = { path = "../git-hash" } |
| @@ -65,4 +80,4 @@ maybe-async = "0.2.6" · 2 unmodified lines |
| 65 | blocking = "1.0.2" | 80 | blocking = "1.0.2" |
| 66 | | 81 | |
| 67 | [package.metadata.docs.rs] | 82 | [package.metadata.docs.rs] |
| 68 | features = ["http-client-curl"] | 83 | features = ["http-client-curl", "document-features"] |