@@ -51,7 +51,7 @@ default = ["max-performance-safe", "comfort", "basic", "extras"]
51
51
basic = [" blob-diff" , " revision" ]
52
52
53
53
# # Various additional features and capabilities that are not necessarily part of what most users would need.
54
- extras = [" worktree-stream" , " worktree-archive" , " revparse-regex" , " mailmap" , " excludes" , " attributes" , " worktree-mutation" ]
54
+ extras = [" worktree-stream" , " worktree-archive" , " revparse-regex" , " mailmap" , " excludes" , " attributes" , " worktree-mutation" , " credentials " ]
55
55
56
56
# # Various progress-related features that improve the look of progress message units.
57
57
comfort = [" gix-features/progress-unit-bytes" , " gix-features/progress-unit-human-numbers" ]
@@ -61,6 +61,10 @@ comfort = ["gix-features/progress-unit-bytes", "gix-features/progress-unit-human
61
61
# ! A component is a distinct feature which may be comprised of one or more methods around a particular topic.
62
62
# ! Providers of libraries should only activate the components they need.
63
63
64
+ # # Access to credential helpers, which provide credentials for URLs.
65
+ # Note that `gix-negotiate` just piggibacks here, as 'credentials' is equivalent to 'fetch & push' right now.
66
+ credentials = [" dep:gix-credentials" , " dep:gix-prompt" , " dep:gix-negotiate" ]
67
+
64
68
# # Various ways to alter the worktree makeup by checkout and reset.
65
69
worktree-mutation = [" attributes" , " dep:gix-worktree-state" ]
66
70
@@ -100,11 +104,11 @@ worktree-archive = ["gix-archive", "worktree-stream", "attributes"]
100
104
# ! Making a choice here also affects which crypto-library ends up being used.
101
105
102
106
# # Make `gix-protocol` available along with an async client.
103
- async-network-client = [" gix-protocol/async-client" , " gix-pack/streaming-input" , " attributes" ]
107
+ async-network-client = [" gix-protocol/async-client" , " gix-pack/streaming-input" , " attributes" , " credentials " ]
104
108
# # Use this if your crate uses `async-std` as runtime, and enable basic runtime integration when connecting to remote servers via the `git://` protocol.
105
109
async-network-client-async-std = [" async-std" , " async-network-client" , " gix-transport/async-std" ]
106
110
# # Make `gix-protocol` available along with a blocking client, providing access to the `file://`, git://` and `ssh://` transports.
107
- blocking-network-client = [" gix-protocol/blocking-client" , " gix-pack/streaming-input" , " attributes" ]
111
+ blocking-network-client = [" gix-protocol/blocking-client" , " gix-pack/streaming-input" , " attributes" , " credentials " ]
108
112
# # Stacks with `blocking-network-client` to provide support for HTTP/S using **curl**, and implies blocking networking as a whole, making the `https://` transport avaialble.
109
113
blocking-http-transport-curl = [" blocking-network-client" , " gix-transport/http-client-curl" ]
110
114
# # Stacks with `blocking-network-client` to provide support for HTTP/S using **reqwest**, and implies blocking networking as a whole, making the `https://` transport avaialble.
@@ -169,7 +173,7 @@ serde = [ "dep:serde",
169
173
" gix-revision/serde" ,
170
174
" gix-worktree?/serde" ,
171
175
" gix-commitgraph/serde" ,
172
- " gix-credentials/serde" ]
176
+ " gix-credentials? /serde" ]
173
177
174
178
# # Re-export the progress tree root which allows to obtain progress from various functions which take `impl gix::Progress`.
175
179
# # Applications which want to display progress will probably need this implementation.
@@ -201,7 +205,7 @@ gix-actor = { version = "^0.25.0", path = "../gix-actor" }
201
205
gix-pack = { version = " ^0.41.0" , path = " ../gix-pack" , default-features = false , features = [" object-cache-dynamic" ] }
202
206
gix-revision = { version = " ^0.20.0" , path = " ../gix-revision" , default-features = false }
203
207
gix-revwalk = { version = " ^0.6.0" , path = " ../gix-revwalk" }
204
- gix-negotiate = { version = " ^0.6.0" , path = " ../gix-negotiate" }
208
+ gix-negotiate = { version = " ^0.6.0" , path = " ../gix-negotiate" , optional = true }
205
209
206
210
gix-path = { version = " ^0.9.0" , path = " ../gix-path" }
207
211
gix-url = { version = " ^0.22.0" , path = " ../gix-url" }
@@ -212,8 +216,8 @@ gix-features = { version = "^0.33.0", path = "../gix-features", features = ["pro
212
216
gix-trace = { version = " ^0.1.3" , path = " ../gix-trace" }
213
217
214
218
gix-glob = { version = " ^0.11.0" , path = " ../gix-glob" }
215
- gix-credentials = { version = " ^0.18.0" , path = " ../gix-credentials" }
216
- gix-prompt = { version = " ^0.6.0" , path = " ../gix-prompt" }
219
+ gix-credentials = { version = " ^0.18.0" , path = " ../gix-credentials" , optional = true }
220
+ gix-prompt = { version = " ^0.6.0" , path = " ../gix-prompt" , optional = true }
217
221
gix-index = { version = " ^0.23.1" , path = " ../gix-index" }
218
222
gix-attributes = { version = " ^0.17.0" , path = " ../gix-attributes" , optional = true }
219
223
gix-ignore = { version = " ^0.6.0" , path = " ../gix-ignore" , optional = true }
0 commit comments