#version-control #cli #format #statistics #progress #gitoxide


The library implementing all capabilities of the gitoxide CLI

30 breaking releases

0.33.1 Oct 13, 2023
0.32.0 Sep 24, 2023
0.30.0 Jul 22, 2023
0.25.0 Feb 24, 2023
0.1.0 Jul 12, 2020

#507 in Concurrency

Download history 263/week @ 2023-08-05 252/week @ 2023-08-12 482/week @ 2023-08-19 259/week @ 2023-08-26 409/week @ 2023-09-02 289/week @ 2023-09-09 108/week @ 2023-09-16 489/week @ 2023-09-23 217/week @ 2023-09-30 450/week @ 2023-10-07 353/week @ 2023-10-14 199/week @ 2023-10-21 141/week @ 2023-10-28 199/week @ 2023-11-04 211/week @ 2023-11-11 140/week @ 2023-11-18

709 downloads per month
Used in 2 crates (via gitoxide)


38K SLoC

The purpose of this crate is to abstract the user interface of gix (the command-line interface) from the actual implementation. That way, one day it's possible to provide alternative frontends, including user interfaces.

What is gix?

gix is a tool to aid developers of gitoxide run their code in real-world situations and to validate the gix API. This makes it more of a test-bed than a tool that could ever rival git in terms of feature-set.

That said, gix may actively carve out a niche for itself where it sees the greatest benefits for users of git.

This crate is internal - use gix instead.

It's important to understand that this crate consider itself an implementation detail of the gix CLI and is not meant to be used for external consumption by means of cargo dependency. This is emphasized by there being no other documentation. There is also no intention of ever stabilizing this crate.

If you want to get started with what powers gix, please take a look at the gix crate which provides all the building blocks to create any application, including a carbon-copy of git itself (at least aspirationally as not all capabilities are available in gix yet).

For users of gix, this codebase might serve as elaborate example as most of not all of its APIs are used here.

Feature Flags


~1M SLoC