You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* for unix only, faster compile times, a little smaller
229
227
***light** = *lean-cli* + *fast*
@@ -237,21 +235,19 @@ A crate to help controlling which capabilities are available from the top-level
237
235
`gitoxide` crate that uses `git-features`.
238
236
All feature toggles are additive.
239
237
240
-
***parallel**_(optional)_
238
+
***parallel**
241
239
* Use scoped threads and channels to parallelize common workloads on multiple objects. If enabled, it is used everywhere
242
240
where it makes sense.
243
241
* As caches are likely to be used and instantiated per thread, more memory will be used on top of the costs for threads.
244
242
***fast-sha1**
245
243
* a multi-crate implementation that can use hardware acceleration, thus bearing the potential for up to 2Gb/s throughput on
246
-
CPUs that support it, like AMD Ryzen.
244
+
CPUs that support it, like AMD Ryzen or Intel Core i3.
247
245
***progress-log**
248
-
* Implement the `Progress` trait using the `log` crate. Throttle progress output to one every 0.5 seconds unless messsages
246
+
* Implement the `Progress` trait using the `log` crate. Throttle progress output to one every 0.5 seconds unless messages
249
247
are sent manually.
250
248
***progress-prodash**
251
249
* Implement the `Progress` trait for the tree data structures provided by `prodash`, which enables using a terminal user
252
250
interface for progress.
253
-
* This is by far the most expensive progress option, as it pulls in an `async` TUI along with supporting infrastructure,
254
-
which is kept minimal but has quite a footprint nonetheless.
255
251
256
252
### Serialization Support
257
253
@@ -289,13 +285,13 @@ All feature toggles are additive.
289
285
290
286
Both terms are coming from the `git` implementation itself, even though it won't necessarily point out which commands are plumbing and which
291
287
are porcelain.
292
-
The term *plumbing* refers to lower-level, more rarely used commands that complement porcelain by being invoked by it or for special use
288
+
The term *plumbing* refers to lower-level, more rarely used commands that complement porcelain by being invoked by it or for certain use
293
289
cases.
294
290
The term *porcelain* refers to those with a decent user experience, they are primarily intended for use by humans.
295
291
296
292
In any case, both types of programs must self-document their capabilities using through the `--help` flag.
297
293
298
-
From there, we can derive a few rules to try to adhere to:
294
+
From there, we can derive a few rules to try adhere to:
299
295
300
296
### Plumbing
301
297
@@ -311,7 +307,8 @@ From there, we can derive a few rules to try to adhere to:
311
307
312
308
## Maintenance Guide
313
309
314
-
Utilities to aid in keeping the project fresh and in sync can be found in the `Maintenance` section of the `makefile`.
310
+
Utilities to aid in keeping the project fresh and in sync can be found in the `Maintenance` section of the `makefile`. Run `make` to
311
+
get an overview.
315
312
316
313
### Creating a release
317
314
@@ -363,4 +360,6 @@ Thus one has to post-process the file by reducing its size by one using `truncat
363
360
364
361
* Originally I was really fascinated by [this problem](https://github.com/gitpython-developers/GitPython/issues/765#issuecomment-396072153)
365
362
and believe that with `gitoxide` it will be possible to provide the fastest solution for it.
366
-
363
+
* I have been absolutely blown away by `git` from the first time I experienced git more than 13 years ago, and
364
+
tried to implement it in [various shapes](https://github.com/gitpython-developers/GitPython/pull/1028) and [forms](https://github.com/byron/gogit)
365
+
multiple [times](https://github.com/Byron/gitplusplus). Now with Rust I finally feel to have found the right tool for the job!
0 commit comments