Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

NAME

git-watch - Watch for changes in repository up-stream

VERSION

This documentation refers to git-watch version 1.1.20

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.