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.

Stress Testing

Ideas for Examples

Ideas for Spin-Offs

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.

Installation

Download a Binary Release

sh curl -LSfs https://raw.githubusercontent.com/Byron/gitoxide/main/ci/install.sh | \ sh -s -- --git Byron/gitoxide --crate gix-max-termion

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 required cargo version is the latest stable release, but may run on older stable releases as well.

```

The default installation, 'max'

cargo install gitoxide

On linux, it's a little faster to compile the termion version, which also results in slightly smaller binaries

cargo install gitoxide --no-default-features --features max-termion

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 ```

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.

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.

Roadmap

Features for 1.0

Provide a CLI to for the most basic user journey:

Shortcomings

Credits

License

This project is licensed under either of

at your option.

Fun facts