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.
alen@mu:[hammertime ~master]$ git time start -m "Starting something to work on"
alen@mu:[hammertime ~master]$ vim README.md
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"
}
}