Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master
Failed to load latest commit information.
LICENCE Updated manifest to include rst file
Makefile Example session
README.rst README.rst regeneration


Git based time tracking. Use it either with your repository you're doing work in, or create a new repository to track your work.


Either with pip or easy_install:

$ easy_install Hammertime
$ pip install Hammertime


$ cd /repository
$ git time start -m "Doing some work"
$ # do work, commits, etc
$ git time stop -m "Not doing work anymore"
$ git time show

If you've got a json command line utility installed, try something like:

$ git time show | json -o times delta
$ git time show | json -o times start.message end.message delta


$ git time -h


Invoking git time stop in sequence twice or more will always override the last git time stop entry. Invoking git time start will always create new entries.

Example session

alen@mu:[hammertime ~master]$ git time start -m "Starting something to work on"
alen@mu:[hammertime ~master]$ vim 
alen@mu:[hammertime ~master]$ git commit -am "Saved the example session"
[master 11a0c98] Saved the example session
 1 files changed, 5 insertions(+), 0 deletions(-)
alen@mu:[hammertime ~master]$ git time stop -m "Readme updates with example session"
alen@mu:[hammertime ~master]$ git time show 
{"times": [{"start": {"message": "Starting something to work on", "time": "2011-02-02T13:37:44.761185"}, "stop": {"message": "Readme updates with example session", "time": "2011-02-02T13:39:21.330041"}, "delta": "0:01:36"}]}
alen@mu:[hammertime ~master]$ git time show | json -o times delta
  "delta": "0:01:36"
alen@mu:[hammertime ~master]$ git time show | json -o times delta start.message stop.message
  "delta": "0:01:36",
  "start": {
    "message": "Starting something to work on"
  "stop": {
    "message": "Readme updates with example session"
Something went wrong with that request. Please try again.