NAME
git-watch - Watch for changes in repository up-stream
VERSION
This documentation refers to git-watch version 1.0.9
SYNOPSIS
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
DESCRIPTION
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.
show
The output of show
is changed with the --quiet
and --verbose
options to show more or less information.
do
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.
A simple example:
git watch 'echo $WATCH_FILES'
This would just echo the files that have changed with each change.
Notes
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
$ git watch do -rb origin/master -- 'git pull --ff -r; your-command'
SUBROUTINES/METHODS
run ()
Executes the git workflow command
git_state ()
found ()
changes ()
spin ()
Helper providing access to Term::Spinner if installed
DIAGNOSTICS
CONFIGURATION AND ENVIRONMENT
DEPENDENCIES
INCOMPATIBILITIES
BUGS AND LIMITATIONS
There are no known bugs in this module.
Please report problems to Ivan Wills (ivan.wills@gmail.com).
Patches are welcome.
AUTHOR
Ivan Wills - (ivan.wills@gmail.com)
LICENSE AND COPYRIGHT
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.