.\" -*- nroff -*- .TH FLASHBAKE 1 "June 30, 2010" .SH NAME flashbake \- automated snapshots with git .SH SYNOPSIS .B flashbake [options] [quiet_min] .SH DESCRIPTION \fBflashbake\fP is a tool which watches files and automatically checks them in to a git repository. The commit lines can be customised. It is meant to be run from a cron job (see .IR crontab (5) ). Thus it simplifies life for user by taking off the burden of manually committing changes and allowing one to focus on the work. .PP \fBquiet_min\fP is a parameter to flashbake which tells it to only commit changes to files in the project that have not been changed in the last quiet_min minutes. Setting this to 0 or omitting this disables the quiet period and flashbake immediately commits all changes when run. .PP One of the nice features of flashbake is its generation of automatic commit messages using its plugin system. flashbake's plugins can pull in data from various sources including your microblogging feeds, uptime, weather etc. and use that to generate the commit message. .PP If you are new to flashbake, check out the \fBCONFIGURATION\fP and \fBUSAGE\fP sections below for more information; you can also check the wiki (address given in \fBSEE ALSO\fP). .SH OPTIONS flashbake follows the usual GNU command line syntax, with long options starting with two dashes (`\-'). A summary of options is included below. For a complete description, see the online documentation. .TP .B \-\-version show version number and exit .TP \fB\-h\fR, \fB\-\-help\fR show summary of options. .TP \fB\-c\fR, \fB\-\-context\fR just generate and show the commit message, don't check for changes. .TP \fB\-v\fR, \fB\-\-verbose\fR include debug information in the output, useful for reporting problems. .TP \fB\-q\fR, \fB\-\-quiet\fR disable all output except errors .TP \fB\-d\fR, \fB\-\-dryrun\fR do not change anything, just show what flashbake would do if executed without the \-d option (dry run). .TP \fB\-p\fR PLUGIN_DIR, \fB\-\-plugins\fR=PLUGIN_DIR specify an additional location for plugins .TP \fB\-r\fR, \fB\-\-purge\fR purge any files that have been deleted from source control .SH CONFIGURATION flashbake is quite easy to setup and does not require knowledge of git internals. As flashbake requires a git repository, you must create a git repository for the folder you wish to track by cd'ing into the folder and typing \fBgit init\fP (if you have not done so already). .PP flashbake configuration is done through a \fB.flashbake\fP file in the project directory. Global options for flashbake can be specified in \fB~/.flashbake/config\fP where ~ refers to the home directory (like /home/joe on Linux or /Users/joe on Mac OS X). If the ~/.flashbake/config file is present then it will get read first, followed by the project specific version. .PP flashbake tracks changes to only specific files which it terms as \fBhot files\fP. You have to specify these hot file names in the \fB.flashbake\fP file which should be created in the project directory. Wildcards which are used in the shell can be used, like ? for matching a single character, * for matching any number of characters and [] for ranges of characters ([0\-9] would match a single digit from 0 to 9 in a filename). .SH EXAMPLE Here follows an example .flashbake file (taken from the wiki), with explanatory comments. .nf # this enables the feed plugin plugins:flashbake.plugins.feed:Feed # these three lines are used by the feed plugin, see the Plugins page for # more info feed_url:http://www.mysite.com/feed # author is optional feed_author:Joe Random # limit is optional, defaults to 5 if unused feed_limit:3 # this line is optional, omit it to disable email notice_to:joe@mysite.com # alternately, if you set up an ssh tunnel, you can set this and send # through # the tunnel #smtp_port:5002 # hot files todo.txt my_novel.txt extra/character_notes.txt extra/story_bible.txt .fi Any line beginning with # is a comment, of course. The notice_to: specifies an email address to mail when flashbake encounters some problems with a hot file. This functionality is not mandatory and you can comment notice_to: out to disable it. .SH USAGE This section shows some typical usage patterns of flashbake. .PP If you run .PP .nf flashbake \-c ~/my_novel .fi .PP flashbake will not commit any changes, rather it will show you the commit message it would generate if run normally. This is useful for checking that you’ve entered the options in the control file correctly and checking the commit message content. .PP Running .PP .nf flashbake \-d ~/my_novel .fi .PP would make flashbake do a dry run, and it will do everything except actually updating the repository. .PP One of the most common ways to run flashbake is to run it under cron for example, putting this in your .IR crontab (5) .nf */15 * * * * flashbake ~/my_novel 5 > /dev/null .fi would make flashbake run every fifteen minutes, checking in changes to the hot files in the ~/my_novel directory which have not been changed in the last five minutes. .SH BUGS The bug tracker is at http://github.com/commandline/flashbake/issues. If you are experiencing problems, try out a newer version first, if available. .SH SEE ALSO A more extensive documentation for flashbake can be found at its wiki site at: http://wiki.github.com/commandline/flashbake/. .PP A list of available plugins with the accompanying documentation can be found at: http://wiki.github.com/commandline/flashbake/plugins .SH AUTHOR Written by Thomas Gideon. .PP This manual page was written by Abhishek Dasgupta , for the Debian project (but may be used by others).