@@ -51,10 +51,25 @@ default = ["max-performance-safe", "comfort", "basic", "extras"]
51
51
basic = [" blob-diff" , " revision" , " index" ]
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" , " credentials" , " interrupt" , " status" , " dirwalk" ]
54
+ extras = [
55
+ " worktree-stream" ,
56
+ " worktree-archive" ,
57
+ " revparse-regex" ,
58
+ " mailmap" ,
59
+ " excludes" ,
60
+ " attributes" ,
61
+ " worktree-mutation" ,
62
+ " credentials" ,
63
+ " interrupt" ,
64
+ " status" ,
65
+ " dirwalk" ,
66
+ ]
55
67
56
68
# # Various progress-related features that improve the look of progress message units.
57
- comfort = [" gix-features/progress-unit-bytes" , " gix-features/progress-unit-human-numbers" ]
69
+ comfort = [
70
+ " gix-features/progress-unit-bytes" ,
71
+ " gix-features/progress-unit-human-numbers" ,
72
+ ]
58
73
59
74
# ! #### Components
60
75
# !
@@ -87,7 +102,15 @@ worktree-mutation = ["attributes", "dep:gix-worktree-state"]
87
102
excludes = [" dep:gix-ignore" , " dep:gix-worktree" , " index" ]
88
103
89
104
# # Query attributes and excludes. Enables access to pathspecs, worktree checkouts, filter-pipelines and submodules.
90
- attributes = [" excludes" , " dep:gix-filter" , " dep:gix-pathspec" , " dep:gix-attributes" , " dep:gix-submodule" , " gix-worktree?/attributes" , " command" ]
105
+ attributes = [
106
+ " excludes" ,
107
+ " dep:gix-filter" ,
108
+ " dep:gix-pathspec" ,
109
+ " dep:gix-attributes" ,
110
+ " dep:gix-submodule" ,
111
+ " gix-worktree?/attributes" ,
112
+ " command" ,
113
+ ]
91
114
92
115
# # Add support for mailmaps, as way of determining the final name of commmiters and authors.
93
116
mailmap = [" dep:gix-mailmap" , " revision" ]
@@ -119,24 +142,56 @@ worktree-archive = ["gix-archive", "worktree-stream", "attributes"]
119
142
# ! Making a choice here also affects which crypto-library ends up being used.
120
143
121
144
# # Make `gix-protocol` available along with an async client.
122
- async-network-client = [" gix-protocol/async-client" , " gix-pack/streaming-input" , " attributes" , " credentials" ]
145
+ async-network-client = [
146
+ " gix-protocol/async-client" ,
147
+ " gix-pack/streaming-input" ,
148
+ " attributes" ,
149
+ " credentials" ,
150
+ ]
123
151
# # Use this if your crate uses `async-std` as runtime, and enable basic runtime integration when connecting to remote servers via the `git://` protocol.
124
- async-network-client-async-std = [" async-std" , " async-network-client" , " gix-transport/async-std" ]
152
+ async-network-client-async-std = [
153
+ " async-std" ,
154
+ " async-network-client" ,
155
+ " gix-transport/async-std" ,
156
+ ]
125
157
# # Make `gix-protocol` available along with a blocking client, providing access to the `file://`, `git://` and `ssh://` transports.
126
- blocking-network-client = [" gix-protocol/blocking-client" , " gix-pack/streaming-input" , " attributes" , " credentials" ]
158
+ blocking-network-client = [
159
+ " gix-protocol/blocking-client" ,
160
+ " gix-pack/streaming-input" ,
161
+ " attributes" ,
162
+ " credentials" ,
163
+ ]
127
164
# # Stacks with `blocking-network-client` to provide support for HTTP/S using **curl**, and implies blocking networking as a whole, making the `https://` transport available.
128
- blocking-http-transport-curl = [" blocking-network-client" , " gix-transport/http-client-curl" ]
165
+ blocking-http-transport-curl = [
166
+ " blocking-network-client" ,
167
+ " gix-transport/http-client-curl" ,
168
+ ]
129
169
# # Stacks with `blocking-http-transport-curl` and also enables the `rustls` backend to avoid `openssl`.
130
- blocking-http-transport-curl-rustls = [" blocking-http-transport-curl" , " dep:curl" , " curl?/rustls" ]
170
+ blocking-http-transport-curl-rustls = [
171
+ " blocking-http-transport-curl" ,
172
+ " gix-transport/http-client-curl-rust-tls" ,
173
+ ]
131
174
# # Stacks with `blocking-network-client` to provide support for HTTP/S using **reqwest**, and implies blocking networking as a whole, making the `https://` transport available.
132
- blocking-http-transport-reqwest = [" blocking-network-client" , " gix-transport/http-client-reqwest" ]
175
+ blocking-http-transport-reqwest = [
176
+ " blocking-network-client" ,
177
+ " gix-transport/http-client-reqwest" ,
178
+ ]
133
179
# # Stacks with `blocking-http-transport-reqwest` and enables `https://` via the `rustls` crate.
134
- blocking-http-transport-reqwest-rust-tls = [" blocking-http-transport-reqwest" , " reqwest/rustls-tls" ]
180
+ blocking-http-transport-reqwest-rust-tls = [
181
+ " blocking-http-transport-reqwest" ,
182
+ " gix-transport/http-client-reqwest-rust-tls" ,
183
+ ]
135
184
# # Stacks with `blocking-http-transport-reqwest` and enables `https://` via the `rustls` crate.
136
185
# # This also makes use of `trust-dns` to avoid `getaddrinfo`, but note it comes with its own problems.
137
- blocking-http-transport-reqwest-rust-tls-trust-dns = [" blocking-http-transport-reqwest" , " reqwest/rustls-tls" , " reqwest/trust-dns" ]
186
+ blocking-http-transport-reqwest-rust-tls-trust-dns = [
187
+ " blocking-http-transport-reqwest" ,
188
+ " gix-transport/http-client-reqwest-rust-tls-trust-dns" ,
189
+ ]
138
190
# # Stacks with `blocking-http-transport-reqwest` and enables `https://` via the `native-tls` crate.
139
- blocking-http-transport-reqwest-native-tls = [" blocking-http-transport-reqwest" , " reqwest/default-tls" ]
191
+ blocking-http-transport-reqwest-native-tls = [
192
+ " blocking-http-transport-reqwest" ,
193
+ " gix-transport/http-client-reqwest-native-tls" ,
194
+ ]
140
195
141
196
142
197
# ! #### Performance
@@ -147,20 +202,13 @@ blocking-http-transport-reqwest-native-tls = ["blocking-http-transport-reqwest",
147
202
# # Activate features that maximize performance, like using threads, but leave everything else that might affect compatibility out to allow users more fine-grained
148
203
# # control over performance features like which `zlib*` implementation to use.
149
204
# # No C toolchain is involved.
150
- max-control = [
151
- " parallel" ,
152
- " pack-cache-lru-static" ,
153
- " pack-cache-lru-dynamic" ,
154
- ]
205
+ max-control = [" parallel" , " pack-cache-lru-static" , " pack-cache-lru-dynamic" ]
155
206
156
207
# # Activate features that maximize performance, like usage of threads, `and access to caching in object databases, skipping the ones known to cause compile failures
157
208
# # on some platforms.
158
209
# # Note that this configuration still uses a pure Rust zlib implementation which isn't the fastest compared to its C-alternatives.
159
210
# # No C toolchain is involved.
160
- max-performance-safe = [
161
- " max-control" ,
162
- " parallel-walkdir"
163
- ]
211
+ max-performance-safe = [" max-control" , " parallel-walkdir" ]
164
212
165
213
# # If set, walkdir iterators will be multi-threaded which affects the listing of loose objects and references.
166
214
# # Note, however, that this will use `rayon` under the hood and spawn threads for each traversal to avoid a global rayon thread pool.
@@ -215,7 +263,8 @@ zlib-stock = ["gix-features/zlib-stock"]
215
263
verbose-object-parsing-errors = [" gix-object/verbose-object-parsing-errors" ]
216
264
217
265
# # Data structures implement `serde::Serialize` and `serde::Deserialize`.
218
- serde = [" dep:serde" ,
266
+ serde = [
267
+ " dep:serde" ,
219
268
" gix-pack/serde" ,
220
269
" gix-object/serde" ,
221
270
" gix-protocol?/serde" ,
@@ -230,7 +279,8 @@ serde = ["dep:serde",
230
279
" gix-revision/serde" ,
231
280
" gix-worktree?/serde" ,
232
281
" gix-commitgraph/serde" ,
233
- " gix-credentials?/serde" ]
282
+ " gix-credentials?/serde" ,
283
+ ]
234
284
235
285
# # Re-export the progress tree root which allows to obtain progress from various functions which take `impl gix::Progress`.
236
286
# # Applications which want to display progress will probably need this implementation.
@@ -240,7 +290,6 @@ progress-tree = ["prodash/progress-tree"]
240
290
cache-efficiency-debug = [" gix-features/cache-efficiency-debug" ]
241
291
242
292
243
-
244
293
[dependencies ]
245
294
gix-macros = { version = " ^0.1.4" , path = " ../gix-macros" }
246
295
gix-utils = { version = " ^0.1.11" , path = " ../gix-utils" }
@@ -261,7 +310,9 @@ gix-odb = { version = "^0.59.0", path = "../gix-odb" }
261
310
gix-hash = { version = " ^0.14.2" , path = " ../gix-hash" }
262
311
gix-object = { version = " ^0.42.1" , path = " ../gix-object" }
263
312
gix-actor = { version = " ^0.31.1" , path = " ../gix-actor" }
264
- gix-pack = { version = " ^0.49.0" , path = " ../gix-pack" , default-features = false , features = [" object-cache-dynamic" ] }
313
+ gix-pack = { version = " ^0.49.0" , path = " ../gix-pack" , default-features = false , features = [
314
+ " object-cache-dynamic" ,
315
+ ] }
265
316
gix-revision = { version = " ^0.27.0" , path = " ../gix-revision" , default-features = false }
266
317
gix-revwalk = { version = " ^0.13.0" , path = " ../gix-revwalk" }
267
318
gix-negotiate = { version = " ^0.13.0" , path = " ../gix-negotiate" , optional = true }
@@ -271,7 +322,10 @@ gix-url = { version = "^0.27.2", path = "../gix-url" }
271
322
gix-traverse = { version = " ^0.38.0" , path = " ../gix-traverse" }
272
323
gix-diff = { version = " ^0.42.0" , path = " ../gix-diff" , default-features = false }
273
324
gix-mailmap = { version = " ^0.23.0" , path = " ../gix-mailmap" , optional = true }
274
- gix-features = { version = " ^0.38.1" , path = " ../gix-features" , features = [" progress" , " once_cell" ] }
325
+ gix-features = { version = " ^0.38.1" , path = " ../gix-features" , features = [
326
+ " progress" ,
327
+ " once_cell" ,
328
+ ] }
275
329
gix-trace = { version = " ^0.1.8" , path = " ../gix-trace" }
276
330
277
331
gix-glob = { version = " ^0.16.2" , path = " ../gix-glob" }
@@ -286,7 +340,9 @@ gix-hashtable = { version = "^0.5.2", path = "../gix-hashtable" }
286
340
gix-commitgraph = { version = " ^0.24.2" , path = " ../gix-commitgraph" }
287
341
gix-pathspec = { version = " ^0.7.2" , path = " ../gix-pathspec" , optional = true }
288
342
gix-submodule = { version = " ^0.10.0" , path = " ../gix-submodule" , optional = true }
289
- gix-status = { version = " ^0.8.0" , path = " ../gix-status" , optional = true , features = [" worktree-rewrites" ] }
343
+ gix-status = { version = " ^0.8.0" , path = " ../gix-status" , optional = true , features = [
344
+ " worktree-rewrites" ,
345
+ ] }
290
346
gix-command = { version = " ^0.3.6" , path = " ../gix-command" , optional = true }
291
347
292
348
gix-worktree-stream = { version = " ^0.11.0" , path = " ../gix-worktree-stream" , optional = true }
@@ -301,21 +357,19 @@ prodash = { workspace = true, optional = true, features = ["progress-tree"] }
301
357
once_cell = " 1.14.0"
302
358
signal-hook = { version = " 0.3.9" , default-features = false , optional = true }
303
359
thiserror = " 1.0.26"
304
- serde = { version = " 1.0.114" , optional = true , default-features = false , features = [" derive" ] }
360
+ serde = { version = " 1.0.114" , optional = true , default-features = false , features = [
361
+ " derive" ,
362
+ ] }
305
363
smallvec = " 1.9.0"
306
364
async-std = { version = " 1.12.0" , optional = true }
307
365
308
- # Used for feature-configuration only.
309
- curl = { workspace = true , optional = true }
310
-
311
366
# # For use in rev-parse, which provides searching commits by running a regex on their message.
312
367
# #
313
368
# # If disabled, the text will be search verbatim in any portion of the commit message, similar to
314
369
# # how a simple unanchored regex of only 'normal' characters would work.
315
- regex = { version = " 1.6.0" , optional = true , default-features = false , features = [" std" ] }
316
-
317
- # For internal use to allow pure-Rust builds without openssl.
318
- reqwest = { workspace = true , optional = true }
370
+ regex = { version = " 1.6.0" , optional = true , default-features = false , features = [
371
+ " std" ,
372
+ ] }
319
373
320
374
# for `interrupt` module
321
375
parking_lot = " 0.12.1"
@@ -332,4 +386,10 @@ serial_test = { version = "2.0.0", default-features = false }
332
386
async-std = { version = " 1.12.0" , features = [" attributes" ] }
333
387
334
388
[package .metadata .docs .rs ]
335
- features = [" document-features" , " max-performance" , " blocking-network-client" , " blocking-http-transport-curl" , " serde" ]
389
+ features = [
390
+ " document-features" ,
391
+ " max-performance" ,
392
+ " blocking-network-client" ,
393
+ " blocking-http-transport-curl" ,
394
+ " serde" ,
395
+ ]
0 commit comments