Skip to content

Repository files navigation

🛠️ git-tools

Rust git utilities built on gix (pure Rust, no libgit2).

🧰 Tools

Binary Library module Purpose
bfg object Scan the object database and list the largest blobs
git-reword commit Rewrite commit messages at the object layer without interactive rebase
git-retime commit Spread commit timestamps across a date range on a new branch

🚀 Install

Install a binary from the Git repository (no local clone required):

cargo install --git https://github.com/oovm/git-tools.git --bin bfg
cargo install --git https://github.com/oovm/git-tools.git --bin git-reword
cargo install --git https://github.com/oovm/git-tools.git --bin git-retime

Track the dev branch while the crate is pre-release:

cargo install --git https://github.com/oovm/git-tools.git --branch dev --bin bfg
cargo install --git https://github.com/oovm/git-tools.git --branch dev --bin git-reword
cargo install --git https://github.com/oovm/git-tools.git --branch dev --bin git-retime

🛠️ Development

Requires the pinned toolchain in rust-toolchain.toml (nightly + rustfmt + clippy).

git clone https://github.com/oovm/git-tools.git
cd git-tools
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo build --release
cargo test
RUST_LOG=info cargo run --bin bfg

CLI errors are rendered with miette; set RUST_LOG=debug (or info / trace) for tracing diagnostics on stderr. User-facing stdout stays plain English.

📦 Layout

git-tools/
  src/
    repo.rs       # repository discovery and OID helpers
    object/       # ODB blob inventory
    commit/       # commit history, message rewrite, and retime
  bin/
    bfg.rs
    git-reword.rs
    git-retime.rs
  documentation/
    bfg.md
    reword.md
    retime.md

🧪 CI

GitHub Actions runs cargo fmt --check, cargo build --release, and cargo test --release on Ubuntu, macOS, and Windows.

📄 License

MPL-2.0

About

Pure Rust git utilities on gix: blob scanner (bfg), object-layer commit message reword, and commit retime without interactive rebase.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages

Generated from oovm/RustTemplate