summaryrefslogtreecommitdiff
path: root/share/rcm.sh.in
diff options
context:
space:
mode:
authorGravatar Mike Burns <mike@mike-burns.com>2013-08-16 15:42:56 +0200
committerGravatar Mike Burns <mike@mike-burns.com>2013-08-16 16:11:36 +0200
commit975b347b7206a0e9caeeea8349e4765b4db654f9 (patch)
tree7e993414fce578e351b38d0a761670ee551f22b0 /share/rcm.sh.in
parent526fb25aff2b27b46aaa4754f5b613ca1c97f8c3 (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.in15
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
+}