Herostratus n. 1. An ancient Greek known for seeking fame through crime and destruction. 2. A Git repository achievements engine.
Inspired by https://github.com/someteam/acha.
git clone [email protected]:Notgnoshi/herostratus.git
cd herostratus
cargo run --release -- check .
cargo run --release -- check . origin/test/fixupThe check subcommand is stateless. It reads/writes no configuration, and can not fetch from the
upstream remote. Read on for stateful configuration that enables running and re-running Herostratus
on a group of repositories:
Tip
--release builds are recommended for significantly better performance!
The following example configures Herostratus to run on its own test/simple and test/fixup branches.
# Configure Herostratus to track two branches of its own repository
$ herostratus add [email protected]:Notgnoshi/herostratus.git test/simple
$ herostratus add [email protected]:Notgnoshi/herostratus.git test/fixup
# Fetch all configured branches from the remote
$ herostratus fetch-all
# Check all configured branches for achievements
$ herostratus check-all
Achievement { name: "I meant to fix that up later, I swear!", commit: 2721748d8fa0b0cc3302b41733d37e30161eabfd }
Achievement { name: "I meant to fix that up later, I swear!", commit: a987013884fc7dafbe9eb080d7cbc8625408a85f }
Achievement { name: "I meant to fix that up later, I swear!", commit: 60b480b554dbd5266eec0f2378f72df5170a6702 }These commands write their configuration and clone Git repositories to ~/.config/herostratus/.
Warning
This output format will change as Herostratus becomes more usable
See RULES.md for a list of achievements.
See CONTRIBUTING.md and quickstart.md!
| Name | # Commits | # Achievements | Time | Time per commit |
|---|---|---|---|---|
| herostratus | 242 | 1 | 16.13ms | 66.67µs |
| git | 79202 | 501 | 64.22s | 810.84µs |