Gitty : Unobtrusively extend git.

Gitty provides an interface to manage commonly used git-hooks for repositories. A few use cases are:

  • Make it so that git submodules are intellegently updated after switching branches or merging.
  • Prevent trailing whitespace from being committed.
  • Help prevent scratch / debug code from being committed by refusing to commit a KEYWORD that marks it as such.
  • Share hooks with collaborators

Currently in alpha!

Missing features:

  • Only receive hooks from trusted publishers. (currently when gitty is activated on a repository, any hook published to origin is automatically installed)
  • It’s very young and might break
  • Remote repository must be named origin for shared hooks to work. This is currently not configurable.

Documentation

Initialization

To use gitty with a git repository, you need to install the basic gitty hooks.


git hook init
  • Any existing hooks will be preserved. They are moved to .git/hooks/local/.d/original

Enabling sharing

By default, it’s turned off (security reasons). To enable it:


git hook init --enable-sharing

Adding hooks

To see available hooks:


git hook list

To install one:


git hook install <hook-name>

To share one:


git hook share <hook-name>
git hook publish -m "added <hook-name>"

Read the cucumber features for an idea of how it works and what it does

Issues

Report them here: http://github.com/timcharper/gitty/issues