Quickly find out what you've been working on with hmm.
$ hmm --since '8 am'
It prints summaries of your commits from local repositories.
Use it to prepare your daily stand-up or to write job logs.
You can clone this repository to any directory and add the command to your PATH:
git clone https://github.com/pmeinhardt/hmm.git ~/.hmm
echo 'export PATH="$PATH:$HOME/.hmm/bin"' >> ~/.bashrc # or ~/.zshrc or …Note that hmm depends on fd. You will have to install it separately.
You can use Homebrew to install hmm:
brew tap pmeinhardt/tools
brew install --HEAD pmeinhardt/tools/hmmTo upgrade, run:
brew upgrade --fetch-HEAD pmeinhardt/tools/hmmIf you like hmm, consider checking out the other formulae available from the pmeinhardt/tools tap.
There is a Vim plugin for hmm. If you use vim-plug, add this line to your Vim configuration file:
Plug 'pmeinhardt/hmm'To use the plugin, make sure to also install the hmm command itself.
See doc/hmm.txt or :help hmm for details about the plugin.
When called without arguments, hmm will print the summaries of commits authored by you during the last day.
hmmIf you want to go further back in time, you can use:
hmm --since '2 days ago'If you want to exclude recent entries, you can use:
hmm --since '2 days ago' --until '1 day ago'Date parsing is handled by Git, so you can express dates in all kinds of ways: yesterday, 2 days ago, 8:00 AM CEST, January 2019, 2019-01-01 and more.
By default, hmm will search for Git repositories up to 3 levels down from your current working directory. If you need logs for other directories, simply pass them as arguments:
hmm ~/projects/x ~/projects/yYou can also increase the maximum search depth:
hmm --max-depth 4You can combine hmm with other tools to incorporate it in your workflow:
hmm | vim -
hmm | fzf --multi
hmm | ruby -e 'print STDIN.readlines.map(&:strip).join(\"; \")' | pbcopy
hmm | curl --request POST --data @- https://…