git-dude is a simple git desktop notifier. It monitors git repositories in given directory for new commits and branches and shows desktop notification if anything new arrived.
It simply uses git fetch
and parses its output to see what has changed. Then it
formats new commit messages with git log
and shows desktop notification with
notify-send
(Linux) or growlnotify
(OSX). All of this in infinite loop.
Fedora:
Ubuntu:
OSX:
On Linux:
notify-send
(Fedora: libnotify package, Ubuntu: libnotify-bin package)
On OSX:
growlnotify
, from Growl Extras (Homebrew: growlnotify package)
$ curl -skL https://github.com/sickill/git-dude/raw/master/git-dude >~/bin/git-dude
$ chmod +x ~/bin/git-dude
git-dude expects you have a dedicated directory that contains git repositories (as direct children).
$ mkdir ~/.git-dude
$ cd ~/.git-dude
$ git clone --mirror some-repo-url
$ git clone --mirror other-repo-url
Symlinked repositories work too. This way you can monitor already cloned projects:
$ cd ~/.git-dude
$ ln -s ~/code/existing-repo
Now, from dude directory run:
$ cd ~/.git-dude
$ git dude
You can also pass directory name as first argument to specify which directory to monitor instead of pwd.
$ cd ~
$ git dude ~/.git-dude
This way you can have multiple dude directories each being monitored by separate git-dude process.
git-dude is also a live saivor when forced to work with svn teams, who are yet to be enlightened by git.
Simply follow the above steps for setting up git-dude, but name the symlink to the repository: any-repository-git-svn
.
git-dude will then use git-svn instead of pure git to pull in changes for this repository. But seriously, just make the team switch over to git...
Set how often git-dude should check for changes (in seconds, default: 60):
$ git config --global dude.interval 30
Set path to icon used by desktop notifications (default: none):
$ git config --global dude.icon ~/.git-dude/github_32.png
Marcin Kulik (http://ku1ik.com/ | @sickill)