Skip to content

An ancient Greek known for seeking fame through crime and destruction. Also a Git repository achievements engine.

License

Notifications You must be signed in to change notification settings

Notgnoshi/herostratus

Repository files navigation

Herostratus

lint workflow release workflow code coverage

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.

Usage

Trying it out

git clone [email protected]:Notgnoshi/herostratus.git
cd herostratus
cargo run --release -- check .
cargo run --release -- check . origin/test/fixup

The 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!

Setting it up

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

What achievements are there?

See RULES.md for a list of achievements.

Development

See CONTRIBUTING.md and quickstart.md!

Benchmarks

Name # Commits # Achievements Time Time per commit
herostratus 242 1 16.13ms 66.67µs
git 79202 501 64.22s 810.84µs

About

An ancient Greek known for seeking fame through crime and destruction. Also a Git repository achievements engine.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 2

  •  
  •