Rust Crates.io

gix is a command-line interface (CLI) to access git repositories. It's written to optimize the user-experience, and perform as good or better than the canonical implementation.

Furthermore it provides an easy and safe to use API in the form of various small crates for implementing your own tools in a breeze. Please see 'Development Status' for a listing of all crates and their capabilities.

asciicast

Development Status

gitoxide (CLI)

Crates

Follow linked crate name for detailed status. Please note that all crates follow [semver] as well as the [stability guide].

Production Grade

Stabilization Candidates

Crates that seem feature complete and need to see some more use before they can be released as 1.0.

Initial Development

Stress Testing

Cargo features

Many crates use feature flags to allow tuning the compiled result based on your needs. Have a look at the guide for more information.

Stability and MSRV

Our [stability guide] helps to judge how much churn can be expected when depending on crates in this workspace.

Installation

Download a Binary Release

Using cargo quickinstall, one is able to fetch binary releases. You can install it via cargo install cargo-quickinstall, assuming the rust toolchain is present.

Then install gitoxide with cargo quickinstall gitoxide.

See the releases section for manual installation and various alternative builds that are slimmer or smaller, depending on your needs, for Linux, MacOS and Windows.

From Source via Cargo

cargo is the Rust package manager which can easily be obtained through [rustup]. With it, you can build your own binary effortlessly and for your particular CPU for additional performance gains.

The minimum supported Rust version is documented in the CI configuration, the latest stable one will work as well.

```

The default installation, 'max'

cargo install gitoxide

For smaller binaries and even faster build times that are traded for a less fancy CLI implementation, use lean

or lean-termion respectively.

cargo install gitoxide --no-default-features --features lean ```

The following installs the latest unpublished release directly from git:

sh cargo install --git https://github.com/Byron/gitoxide gitoxide

Usage

Once installed, there are two binaries:

Project Goals

Project goals can change over time as we learn more, and they can be challenged.

Non-Goals

Project non-goals can change over time as we learn more, and they can be challenged.

Contributions

If what you have seen so far sparked your interest to contribute, then let us say: We are happy to have you and help you to get started.

We recommend running make tests check-size during the development process to assure CI is green before pushing.

A backlog for work ready to be picked up is available in the Project's Kanban board, which contains instructions on how to pick a task. If it's empty or you have other questions, feel free to start a discussion or reach out to @Byron privately.

For additional details, also take a look at the [collaboration guide].

Getting started with Video Tutorials

Other Media

Roadmap

Features for 1.0

Provide a CLI to for the most basic user journey:

Ideas for Examples

Ideas for Spin-Offs

Shortcomings & Limitations

Credits

License

This project is licensed under either of

at your option.

Fun facts