@@ -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,57 @@ 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
+ " dep:curl" ,
173
+ " curl?/rustls" ,
174
+ ]
131
175
# # 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" ]
176
+ blocking-http-transport-reqwest = [
177
+ " blocking-network-client" ,
178
+ " gix-transport/http-client-reqwest" ,
179
+ ]
133
180
# # 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" ]
181
+ blocking-http-transport-reqwest-rust-tls = [
182
+ " blocking-http-transport-reqwest" ,
183
+ " gix-transport/http-client-reqwest-rust-tls" ,
184
+ ]
135
185
# # Stacks with `blocking-http-transport-reqwest` and enables `https://` via the `rustls` crate.
136
186
# # 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" ]
187
+ blocking-http-transport-reqwest-rust-tls-trust-dns = [
188
+ " blocking-http-transport-reqwest" ,
189
+ " gix-transport/http-client-reqwest-rust-tls-trust-dns" ,
190
+ ]
138
191
# # 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" ]
192
+ blocking-http-transport-reqwest-native-tls = [
193
+ " blocking-http-transport-reqwest" ,
194
+ " gix-transport/http-client-reqwest-native-tls" ,
195
+ ]
140
196
141
197
142
198
# ! #### Performance
@@ -147,20 +203,13 @@ blocking-http-transport-reqwest-native-tls = ["blocking-http-transport-reqwest",
147
203
# # Activate features that maximize performance, like using threads, but leave everything else that might affect compatibility out to allow users more fine-grained
148
204
# # control over performance features like which `zlib*` implementation to use.
149
205
# # No C toolchain is involved.
150
- max-control = [
151
- " parallel" ,
152
- " pack-cache-lru-static" ,
153
- " pack-cache-lru-dynamic" ,
154
- ]
206
+ max-control = [" parallel" , " pack-cache-lru-static" , " pack-cache-lru-dynamic" ]
155
207
156
208
# # 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
209
# # on some platforms.
158
210
# # Note that this configuration still uses a pure Rust zlib implementation which isn't the fastest compared to its C-alternatives.
159
211
# # No C toolchain is involved.
160
- max-performance-safe = [
161
- " max-control" ,
162
- " parallel-walkdir"
163
- ]
212
+ max-performance-safe = [" max-control" , " parallel-walkdir" ]
164
213
165
214
# # If set, walkdir iterators will be multi-threaded which affects the listing of loose objects and references.
166
215
# # 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 +264,8 @@ zlib-stock = ["gix-features/zlib-stock"]
215
264
verbose-object-parsing-errors = [" gix-object/verbose-object-parsing-errors" ]
216
265
217
266
# # Data structures implement `serde::Serialize` and `serde::Deserialize`.
218
- serde = [" dep:serde" ,
267
+ serde = [
268
+ " dep:serde" ,
219
269
" gix-pack/serde" ,
220
270
" gix-object/serde" ,
221
271
" gix-protocol?/serde" ,
@@ -230,7 +280,8 @@ serde = ["dep:serde",
230
280
" gix-revision/serde" ,
231
281
" gix-worktree?/serde" ,
232
282
" gix-commitgraph/serde" ,
233
- " gix-credentials?/serde" ]
283
+ " gix-credentials?/serde" ,
284
+ ]
234
285
235
286
# # Re-export the progress tree root which allows to obtain progress from various functions which take `impl gix::Progress`.
236
287
# # Applications which want to display progress will probably need this implementation.
@@ -240,7 +291,6 @@ progress-tree = ["prodash/progress-tree"]
240
291
cache-efficiency-debug = [" gix-features/cache-efficiency-debug" ]
241
292
242
293
243
-
244
294
[dependencies ]
245
295
gix-macros = { version = " ^0.1.4" , path = " ../gix-macros" }
246
296
gix-utils = { version = " ^0.1.11" , path = " ../gix-utils" }
@@ -261,7 +311,9 @@ gix-odb = { version = "^0.59.0", path = "../gix-odb" }
261
311
gix-hash = { version = " ^0.14.2" , path = " ../gix-hash" }
262
312
gix-object = { version = " ^0.42.1" , path = " ../gix-object" }
263
313
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" ] }
314
+ gix-pack = { version = " ^0.49.0" , path = " ../gix-pack" , default-features = false , features = [
315
+ " object-cache-dynamic" ,
316
+ ] }
265
317
gix-revision = { version = " ^0.27.0" , path = " ../gix-revision" , default-features = false }
266
318
gix-revwalk = { version = " ^0.13.0" , path = " ../gix-revwalk" }
267
319
gix-negotiate = { version = " ^0.13.0" , path = " ../gix-negotiate" , optional = true }
@@ -271,7 +323,10 @@ gix-url = { version = "^0.27.2", path = "../gix-url" }
271
323
gix-traverse = { version = " ^0.38.0" , path = " ../gix-traverse" }
272
324
gix-diff = { version = " ^0.42.0" , path = " ../gix-diff" , default-features = false }
273
325
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" ] }
326
+ gix-features = { version = " ^0.38.1" , path = " ../gix-features" , features = [
327
+ " progress" ,
328
+ " once_cell" ,
329
+ ] }
275
330
gix-trace = { version = " ^0.1.8" , path = " ../gix-trace" }
276
331
277
332
gix-glob = { version = " ^0.16.2" , path = " ../gix-glob" }
@@ -286,7 +341,9 @@ gix-hashtable = { version = "^0.5.2", path = "../gix-hashtable" }
286
341
gix-commitgraph = { version = " ^0.24.2" , path = " ../gix-commitgraph" }
287
342
gix-pathspec = { version = " ^0.7.2" , path = " ../gix-pathspec" , optional = true }
288
343
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" ] }
344
+ gix-status = { version = " ^0.8.0" , path = " ../gix-status" , optional = true , features = [
345
+ " worktree-rewrites" ,
346
+ ] }
290
347
gix-command = { version = " ^0.3.6" , path = " ../gix-command" , optional = true }
291
348
292
349
gix-worktree-stream = { version = " ^0.11.0" , path = " ../gix-worktree-stream" , optional = true }
@@ -301,7 +358,9 @@ prodash = { workspace = true, optional = true, features = ["progress-tree"] }
301
358
once_cell = " 1.14.0"
302
359
signal-hook = { version = " 0.3.9" , default-features = false , optional = true }
303
360
thiserror = " 1.0.26"
304
- serde = { version = " 1.0.114" , optional = true , default-features = false , features = [" derive" ] }
361
+ serde = { version = " 1.0.114" , optional = true , default-features = false , features = [
362
+ " derive" ,
363
+ ] }
305
364
smallvec = " 1.9.0"
306
365
async-std = { version = " 1.12.0" , optional = true }
307
366
@@ -312,10 +371,9 @@ curl = { workspace = true, optional = true }
312
371
# #
313
372
# # If disabled, the text will be search verbatim in any portion of the commit message, similar to
314
373
# # 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 }
374
+ regex = { version = " 1.6.0" , optional = true , default-features = false , features = [
375
+ " std" ,
376
+ ] }
319
377
320
378
# for `interrupt` module
321
379
parking_lot = " 0.12.1"
@@ -332,4 +390,10 @@ serial_test = { version = "2.0.0", default-features = false }
332
390
async-std = { version = " 1.12.0" , features = [" attributes" ] }
333
391
334
392
[package .metadata .docs .rs ]
335
- features = [" document-features" , " max-performance" , " blocking-network-client" , " blocking-http-transport-curl" , " serde" ]
393
+ features = [
394
+ " document-features" ,
395
+ " max-performance" ,
396
+ " blocking-network-client" ,
397
+ " blocking-http-transport-curl" ,
398
+ " serde" ,
399
+ ]
0 commit comments