GitHub Commit Watcher
Project description
<!--
Generated by:
$ ./scripts/gen_markdown.sh
-->
Official documentation [here](http://lourot.com/gicowa).
# gicowa.py - GitHub Commit Watcher
GitHub's _Watch_ feature doesn't send notifications when commits are pushed.
This script aims to implement this feature and much more.
## Installation
$ sudo apt-get install sendmail
$ sudo pip install -r requirements.txt
$ git clone https://github.com/AurelienLourot/github-commit-watcher.git
$ cd github-commit-watcher/
$ python setup.py sdist
$ sudo pip install dist/gicowa-*.tar.gz
## Quick setup
Add the following line to your `/etc/crontab`:
0 * * * * root gicowa --persist --no-color --mailto myself@mydomain.com lastwatchedcommits MyGitHubUsername sincelast > /tmp/gicowa 2>&1
**That's it.** As long as your machine is running you'll get e-mails when something gets pushed on a repo you're watching.
> **NOTE:** the e-mails are likely to be considered as spam until you mark one
as non-spam in your e-mail client. Or use the `--mailfrom` option.
## Other/Advanced usage
`gicowa` is a generic command-line tool with which you can make much more that
just implementing the use case depicted in the introduction. This section
shows what it can.
### List repos watched by a user
$ gicowa watchlist AurelienLourot
watchlist AurelienLourot
AurelienLourot/uncommitted
AurelienLourot/crouton-emacs-conf
brillout/FasterWeb
AurelienLourot/github-commit-watcher
### List last commits on a repo
$ gicowa lastrepocommits AurelienLourot/github-commit-watcher since 2015 07 05 09 12 00
lastrepocommits AurelienLourot/github-commit-watcher since 2015-07-05 09:12:00
Last commit pushed on 2015-07-05 10:48:58
Committed on 2015-07-05 10:46:27 - Aurelien Lourot - Minor cleanup.
Committed on 2015-07-05 09:39:01 - Aurelien Lourot - watchlist command implemented.
Committed on 2015-07-05 09:12:00 - Aurelien Lourot - argparse added.
> **NOTE:** keep in mind that a commit's _committer timestamp_ isn't the time
at which it gets pushed.
### List last commits on repos watched by a user
$ gicowa lastwatchedcommits AurelienLourot since 2015 07 04 00 00 00
lastwatchedcommits AurelienLourot since 2015-07-04 00:00:00
AurelienLourot/crouton-emacs-conf - Last commit pushed on 2015-07-04 17:10:18
AurelienLourot/crouton-emacs-conf - Committed on 2015-07-04 17:08:48 - Aurelien Lourot - Support for Del key.
brillout/FasterWeb - Last commit pushed on 2015-07-04 16:40:54
brillout/FasterWeb - Committed on 2015-07-04 16:38:55 - brillout - add README
AurelienLourot/github-commit-watcher - Last commit pushed on 2015-07-05 10:48:58
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 10:46:27 - Aurelien Lourot - Minor cleanup.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:39:01 - Aurelien Lourot - watchlist command implemented.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:12:00 - Aurelien Lourot - argparse added.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:07:14 - AurelienLourot - Initial commit
### List last commits since last run
Any listing command taking a `since <timestamp>` argument takes also a
`sincelast` one. It will then use the time where that same command has been
run for the last time on that machine with the option `--persist`. This option
makes `gicowa` remember the last execution time of each command in
`~/.gicowa`.
$ gicowa --persist lastwatchedcommits AurelienLourot sincelast
lastwatchedcommits AurelienLourot since 2015-07-05 20:17:46
$ gicowa --persist lastwatchedcommits AurelienLourot sincelast
lastwatchedcommits AurelienLourot since 2015-07-05 20:25:33
### Send output by e-mail
You can send the output of any command to yourself by e-mail:
$ gicowa --no-color --mailto myself@mydomain.com lastwatchedcommits AurelienLourot since 2015 07 04 00 00 00
lastwatchedcommits AurelienLourot since 2015-07-04 00:00:00
AurelienLourot/crouton-emacs-conf - Last commit pushed on 2015-07-04 17:10:18
AurelienLourot/crouton-emacs-conf - Committed on 2015-07-04 17:08:48 - Aurelien Lourot - Support for Del key.
brillout/FasterWeb - Last commit pushed on 2015-07-04 16:40:54
brillout/FasterWeb - Committed on 2015-07-04 16:38:55 - brillout - add README
AurelienLourot/github-commit-watcher - Last commit pushed on 2015-07-05 10:48:58
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 10:46:27 - Aurelien Lourot - Minor cleanup.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:39:01 - Aurelien Lourot - watchlist command implemented.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:12:00 - Aurelien Lourot - argparse added.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:07:14 - AurelienLourot - Initial commit
Sent by e-mail to myself@mydomain.com
> **NOTES:**
>
> * You probably want to use `--no-color` because your e-mail client is
likely not to render the bash color escape sequences properly.
> * The e-mails are likely to be considered as spam until you mark one as
non-spam in your e-mail client. Or use the `--mailfrom` option.
## Initial Author
[Aurelien Lourot](http://lourot.com/)
Generated by:
$ ./scripts/gen_markdown.sh
-->
Official documentation [here](http://lourot.com/gicowa).
# gicowa.py - GitHub Commit Watcher
GitHub's _Watch_ feature doesn't send notifications when commits are pushed.
This script aims to implement this feature and much more.
## Installation
$ sudo apt-get install sendmail
$ sudo pip install -r requirements.txt
$ git clone https://github.com/AurelienLourot/github-commit-watcher.git
$ cd github-commit-watcher/
$ python setup.py sdist
$ sudo pip install dist/gicowa-*.tar.gz
## Quick setup
Add the following line to your `/etc/crontab`:
0 * * * * root gicowa --persist --no-color --mailto myself@mydomain.com lastwatchedcommits MyGitHubUsername sincelast > /tmp/gicowa 2>&1
**That's it.** As long as your machine is running you'll get e-mails when something gets pushed on a repo you're watching.
> **NOTE:** the e-mails are likely to be considered as spam until you mark one
as non-spam in your e-mail client. Or use the `--mailfrom` option.
## Other/Advanced usage
`gicowa` is a generic command-line tool with which you can make much more that
just implementing the use case depicted in the introduction. This section
shows what it can.
### List repos watched by a user
$ gicowa watchlist AurelienLourot
watchlist AurelienLourot
AurelienLourot/uncommitted
AurelienLourot/crouton-emacs-conf
brillout/FasterWeb
AurelienLourot/github-commit-watcher
### List last commits on a repo
$ gicowa lastrepocommits AurelienLourot/github-commit-watcher since 2015 07 05 09 12 00
lastrepocommits AurelienLourot/github-commit-watcher since 2015-07-05 09:12:00
Last commit pushed on 2015-07-05 10:48:58
Committed on 2015-07-05 10:46:27 - Aurelien Lourot - Minor cleanup.
Committed on 2015-07-05 09:39:01 - Aurelien Lourot - watchlist command implemented.
Committed on 2015-07-05 09:12:00 - Aurelien Lourot - argparse added.
> **NOTE:** keep in mind that a commit's _committer timestamp_ isn't the time
at which it gets pushed.
### List last commits on repos watched by a user
$ gicowa lastwatchedcommits AurelienLourot since 2015 07 04 00 00 00
lastwatchedcommits AurelienLourot since 2015-07-04 00:00:00
AurelienLourot/crouton-emacs-conf - Last commit pushed on 2015-07-04 17:10:18
AurelienLourot/crouton-emacs-conf - Committed on 2015-07-04 17:08:48 - Aurelien Lourot - Support for Del key.
brillout/FasterWeb - Last commit pushed on 2015-07-04 16:40:54
brillout/FasterWeb - Committed on 2015-07-04 16:38:55 - brillout - add README
AurelienLourot/github-commit-watcher - Last commit pushed on 2015-07-05 10:48:58
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 10:46:27 - Aurelien Lourot - Minor cleanup.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:39:01 - Aurelien Lourot - watchlist command implemented.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:12:00 - Aurelien Lourot - argparse added.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:07:14 - AurelienLourot - Initial commit
### List last commits since last run
Any listing command taking a `since <timestamp>` argument takes also a
`sincelast` one. It will then use the time where that same command has been
run for the last time on that machine with the option `--persist`. This option
makes `gicowa` remember the last execution time of each command in
`~/.gicowa`.
$ gicowa --persist lastwatchedcommits AurelienLourot sincelast
lastwatchedcommits AurelienLourot since 2015-07-05 20:17:46
$ gicowa --persist lastwatchedcommits AurelienLourot sincelast
lastwatchedcommits AurelienLourot since 2015-07-05 20:25:33
### Send output by e-mail
You can send the output of any command to yourself by e-mail:
$ gicowa --no-color --mailto myself@mydomain.com lastwatchedcommits AurelienLourot since 2015 07 04 00 00 00
lastwatchedcommits AurelienLourot since 2015-07-04 00:00:00
AurelienLourot/crouton-emacs-conf - Last commit pushed on 2015-07-04 17:10:18
AurelienLourot/crouton-emacs-conf - Committed on 2015-07-04 17:08:48 - Aurelien Lourot - Support for Del key.
brillout/FasterWeb - Last commit pushed on 2015-07-04 16:40:54
brillout/FasterWeb - Committed on 2015-07-04 16:38:55 - brillout - add README
AurelienLourot/github-commit-watcher - Last commit pushed on 2015-07-05 10:48:58
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 10:46:27 - Aurelien Lourot - Minor cleanup.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:39:01 - Aurelien Lourot - watchlist command implemented.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:12:00 - Aurelien Lourot - argparse added.
AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:07:14 - AurelienLourot - Initial commit
Sent by e-mail to myself@mydomain.com
> **NOTES:**
>
> * You probably want to use `--no-color` because your e-mail client is
likely not to render the bash color escape sequences properly.
> * The e-mails are likely to be considered as spam until you mark one as
non-spam in your e-mail client. Or use the `--mailfrom` option.
## Initial Author
[Aurelien Lourot](http://lourot.com/)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gicowa-1.0.0.tar.gz
(7.3 kB
view hashes)