git-monitor auto-commits all changes to a Git working tree, within a special branch named "refs/snapshots/refs/heads/<branch>". It has no impact on the Git repository otherwise, and will not effect your real branches.
It has the following features: - It is designed to be extremely resource efficient, both in CPU cost and memory. I wanted something I could run several instances of on my laptop, without paying much of a battery cost. This efficiency is achieved by using gitlib with the libgit2 backend. The current state of the working tree is maintained as a Git object in memory, and is updated in place before being written back out to disk. Thus, the amount of computation done remains minimal, as we do not need to rebuild the Git tree at each iteration (as "git-commit" would do). - Whenever git-monitor is exited and restarted, the previous snapshot "branch" is discarded. These are only intended to be viable during and between runs. - By having such a branch, you can easily browse through the diffs of your changes throughout the day. By default, every action taken is printed to the console where git-monitor is run, but it can also be run in silent mode, for example if you choose to background it for the rest of the day. http://hackage.haskell.org/package/git-monitor https://github.com/jwiegley/git-monitor Please report issues to the GitHub page. I have been using git-monitor on a regular basis for more than a year now, so I felt it finally deserved an announcement here. Thank you, John Wiegley (johnw on IRC/freenode) _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users