/scutiger

A collection of Git utilities

Primary LanguageRustMIT LicenseMIT

Scutiger

Scutiger is a collection of general-purpose Git utilities for people who use Git a lot.

Included Command-Line Utilities

The scutiger-bin crate provides command-line utilities intended for use by users and for scripting purposes. The documentation for that crate describes each program in detail.

git at

git at looks up the first commit on a branch with a commit message that matches a PCRE-compatible regular expression. Its primary purpose is to allow referencing commits for scripting, while having more power than the built-in HEAD^{/pattern} syntax.

git recent-refs

git recent-refs lists the most recent references and commits that you’ve used. It can sort by the committer date (--sort=committerdate), author date (--sort=authordate), or the date that the commit was last checked out (--sort=visitdate).

Included Git LFS-Specific Utilities

The scutiger-lfs crate provides Git LFS-specific utilities. The documentation for that crate describes each program in detail.

git-lfs-transfer

git-lfs-transfer provides an experimental server-side implementation of the proposed Git LFS pure SSH-based protocol. This utility is intended to be invoked over SSH to transfer data from one repository to another. The Git LFS documentation outlines the protocol.

Former Binaries

This package used to include git test-merge, but no longer does, because Git includes git merge-tree instead.

Building

You will need Rust 1.63 or later, Cargo, GNU Make, and Git. If you additionally have zlib, the 8-bit version of libpcre2, and libgit2 available, Scutiger will dynamically link against them. This is highly recommended for security reasons.

Simply type make to build. Type make test to run the tests.

Compatibility

Scutiger utilities are designed to compile with Rust 1.63 or later. They may also work on earlier versions, but this has not been tested.

Dependencies are pinned to versions which work on the supported version of Rust.

The code is written in a generic way so it should function on most platforms; however, only Linux is tested at the moment.

What is Scutiger?

As mentioned, it’s a collection of general-purpose Git utilities—oh, wait, you meant, “what does ‘Scutiger’ normally mean?” It’s the name of two genera, one of fungi (in the family Albatrellaceae) and one of toads (in the family Megophryidae). This project is named after the fungi, because fungi are neat.