Skip to content
forked from timeglass/glass

Automated time tracking for Git repositories

License

Notifications You must be signed in to change notification settings

kvannotten/glass

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Timeglass

Timeglass Screenshot

Fully automated time tracking for Git repositories. It uses hooks and file monitoring to make sure you'll never forget to start or stop your timer ever again. It is written in Go and runs 100% on your own workstation: no internet or account registration required.

Features:

  • The timer automatically starts when you switch to a (new) branch using git checkout
  • The timer automatically pauses when it doesn't detect any file activity for a while
  • The time you spent is automatically added to the next git commit message
  • The timer increments in discreet steps: the minimal billable unit (MBU), by default this is 1m.

Currently Supported: (see roadmap)

  • Platforms: OSX
  • Version Control: Git

Getting Started

  1. Download the latest release for your platform and unzip the contents into a directory that is in your systems PATH (e.g /usr/local/bin)

  2. Use your terminal to navigate to the repository that contains the project you would like to track and install the hooks:

cd ~/my-git-project
glass init

NOTE: you'll only have to run this once per clone

  1. Start the timer by creating a new branch:
git checkout -b "testing_timeglass"
  1. Edit some files, get a coffee, and commit in order to register the time you spent:
git add -A
git commit -m "time flies when you're having fun"
  1. Verify that the time was indeed registered correctly by looking at your commit log:
git log -n 1

Roadmap, input welcome!

  • Configuration: including configuring the minimal billable unit, ignoring certain directories and configuring the commit message. What else would you like to configure? input welcome here
  • Querying: Having intimate knowledge of both the commits and the time it took to create them, opens up enormous potential for interesting data to be extracted. What would you like to query for? Input welcome here
  • Supporting Other VCS: Timeglass currently only works for git repositories, mainly due to the number of hooks it provides. What other version control systems would you like to see implemented? Input welcome here
  • Supporting other OSs: File monitoring is implemented differently across platforms. The current implementation uses FSEvents (OSX), let me know what other platforms you would like to see implemented here

Known Issues

  • Handling git stash: Git has the ability to stash work for a later commit prior to switching branches. Currently the timer unable to detect this; adding extra time to next commit. Input welcome here
  • OS Restarts: Whenever the OS shuts down the repository might still contain uncommited work and a running timer, currently the timer is not restarted when this happens. Input on how to achieve this is welcome here

About

Automated time tracking for Git repositories

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.3%
  • Makefile 4.7%