Skip to content

v0.1.0

Latest
Compare
Choose a tag to compare
@Notgnoshi Notgnoshi released this 20 Oct 19:55
· 51 commits to main since this release
3e6eafc

Herostratus - 0.1.0 - (2024-10-20)

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

This is Herostratus's first release! It represents the bare minimum, and only generates two
different achievement types.

ID Description
H1-fixup Find fixup! and similar commits
H2-shortest-subject-line Find the commit with the shortest subject line

Running on an existing checkout

Herostratus provides a test mode to statelessly run on an existing checkout.

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

this results in

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 }

Warning

This output format will change as Herostratus becomes more usable

test/fixup is a branch used for
integration testing that looks like

$ git log --oneline origin/test/fixup
83f0448 (origin/test/fixup) Placeholder
2721748 amend! Initial commit
be52110 Placeholder
a987013 fixup! Initial commit
3d6d9bd Placeholder
60b480b squash! Initial commit
107bdb3 Initial commit

Adding a new repository

Assuming users want to track achievements over time, you can also configure Herostratus to run on a
predefined set of repositories.

herostratus add [email protected]:Notgnoshi/herostratus.git test/simple
herostratus add [email protected]:Notgnoshi/herostratus.git test/fixup

Tip

There are several configuration options for SSH and HTTPS authentication, as well as customizing
where the repositories are cloned. See herostratus --help and herostratus add --help for
details.

Herostratus supports the following clone URL protocols

  • SSH in both URL formats
  • HTTPS
  • FILE
    • Example: file://$HOME/src/herostratus
    • NOTE: this isn't how you re-use an existing checkout, use herostratus add --path for that

Fetch all configured repositories

herostratus fetch-all

Running on all configured repositories

herostratus check-all