git-watch - Watch for changes in repository up-stream
This documentation refers to git-watch version 1.0.3
git-watch show [-1|--once] [(-f|--file) file ...] git-watch [do] [-1|--once] [(-f|--file) file ...] [--] cmd SUB-COMMAND show Simply show when a file do Execute a shell script cmd when a change occurs OPTIONS: -1 --once Run once then exit -R --runs[=]int Run at most this number of times. -p --pull Before checking if anything has changed do a git pull to the current branch. (see notes below) -P --pull-options[=]flags When using --pull add these options to the pull command. -f --file[=]regex Watch file any files changing that match "regex" -b --branch[=]regex Watch for any changes to branches matching "regex" by default looks only at local branches -r --remote With --branch only look at remote branches -a --all With --branch look at all branches (local and remote) -m --max[=]int Look only --max changes back in history to see what is happening (Default 10) -s --sleep[=]int Sleep time between fetches (devault 60s) -q --quiet Suppress notifying of what files and branches have changed -v --verbose Show more detailes --version Prints the version information --help Prints this help information --man Prints the full documentation for git-watch
The git-watch command allows you to run a command when something changes. The simple option is show which just shows what has changed when it changes and nothing else, this is useful for seeing what is happening in the repository. The the do sub-command actually runs a script every time a change is detected.
git-watch
show
do
The output of show is changed with the --quiet and --verbose options to show more or less information.
--quiet
--verbose
When the do sub-command runs it sets the environment variables $WATCH_SHA, $WATCH_FILES and $WATCH_BRANCHES with the latest commit SHA, the files that have changed and the branches that have changed respectively. The files and branches are comma separated for your command to inspect.
$WATCH_SHA
$WATCH_FILES
$WATCH_BRANCHES
A simple example:
git watch 'echo $WATCH_FILES'
This would just echo the files that have changed with each change.
If trying to watch a branch that is connected to a remote branch the --pull isn't currently working as expected. The workaround is to watch the remote branch and do the pull your self. eg
--pull
$ git watch do -rb origin/master -- 'git pull --ff -r; your-command'
There are no known bugs in this module.
Please report problems to Ivan Wills (ivan.wills@gmail.com).
Patches are welcome.
Ivan Wills - (ivan.wills@gmail.com)
Copyright (c) 2014 Ivan Wills (14 Mullion Close, Hornsby Heights, NSW Australia 2077). All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
To install App::Git::Workflow, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::Git::Workflow
CPAN shell
perl -MCPAN -e shell install App::Git::Workflow
For more information on module installation, please visit the detailed CPAN module installation guide.