#git-hook #binary #cross-platform #binaries

app xtools

A binary used for cross-platform git hooks

1 unstable release

0.0.0 Jul 31, 2020

#49 in #git-hook

MIT/Apache

8KB

xtools

Maintenance crates.io crates.io Documentation docs_master_badge

Git hooks written in Rust and delivered as a git submodule.

Usage

Usually, I add the binary as a workspace member to a project of mine. You can register it as a git submodule as well, allowing you to keep the local copy up-to-date with the remote version. You can then setup an alias inside your .cargo/config folder:

xtools = "run --package xtools --bin xtools --"

This allows you to run the utility binary using cargo xtools.

Features

xtools provides some utility binaries that can be used to create custom git hooks. Here is a (non-exhaustive) list:

  • git:
    • check for clean workspace flow
    • various hooks, for example pre-commit that checks that cargo clippy && cargo fmt -- --check succeed without errors.
  • rust:
    • clippy flow
    • rustfmt flow

To modify the git hooks and run custom flows, you can simply modify the source code. The hooks get compiled alongside your Rust project, which creates a natural development environment for your git hooks.

Current Properties

  • MSRV: 1.41.0 (tested)

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps