diff options
author | Mike Burns <mike@mike-burns.com> | 2013-08-16 15:42:56 +0200 |
---|---|---|
committer | Mike Burns <mike@mike-burns.com> | 2013-08-16 16:11:36 +0200 |
commit | 975b347b7206a0e9caeeea8349e4765b4db654f9 (patch) | |
tree | 7e993414fce578e351b38d0a761670ee551f22b0 /share/rcm.sh.in | |
parent | 526fb25aff2b27b46aaa4754f5b613ca1c97f8c3 (diff) |
Pre-up, post-up, pre-down, and post-down hooks
These are programs that, if they exist, will run before or after the
syncronization/removal is run. Three use cases caused this:
1. The thoughtbot dotfiles will run a vundle installation set of
commands after intitial synchronization.
2. I changed the location of `.bash_history` to `.bash/history` and
wanted to move `.bash_history` to `.bash/history` after up to preserve
existing history.
3. Moving from an existing old-style custom install script to `rcup`
might require some cleanup; this happened in practice, and required a
simple script.
Diffstat (limited to 'share/rcm.sh.in')
-rw-r--r-- | share/rcm.sh.in | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/share/rcm.sh.in b/share/rcm.sh.in index ea35e47..36b6762 100644 --- a/share/rcm.sh.in +++ b/share/rcm.sh.in @@ -99,3 +99,18 @@ handle_metadata_flags() { $DEBUG "TAGS: $TAGS" $DEBUG "DOTFILES_DIRS: $DOTFILES_DIRS" } + +run_hooks() { + $DEBUG "run_hooks $1 $2" + $DEBUG " with DOTFILES_DIRS: $DOTFILES_DIRS" + local when=$1 + local direction=$2 + + for dotfiles_dir in $DOTFILES_DIRS; do + $DEBUG "hook: $dotfiles_dir/hooks/$when-$direction" + if [ -x "$dotfiles_dir/hooks/$when-$direction" ]; then + $VERBOSE "running $when-$direction hooks for $dotfiles_dir" + $dotfiles_dir/hooks/$when-$direction + fi + done +} |