#!/bin/bash
-# gets all of fred's revision control folders out.
+# gets any updates for the repository folders present in the REPOSITORY_LIST variable.
source "$FEISTY_MEOW_SCRIPTS/rev_control/rev_control.sh"
+# trickery to ensure we can always update this file, even when the operating system has some
+# rude behavior with regard to file locking (ahem, windows...).
if [ "$(pwd)" != "$TMP" ]; then
-# echo "Moving to the TMP directory to avoid file access conflicts..."
+ if [ ! -z "$SHELL_DEBUG" ]; then
+ echo "Moving to the TMP directory to avoid file access conflicts..."
+ fi
new_name="$TMP/zz_$(basename $0)"
cp -f "$0" "$new_name"
if [ $? -ne 0 ]; then
exec "$new_name"
fi
-export TMPO_CHK=$TMP/zz_chk.log
-
# selects the checkout method based on where we are (the host the script runs on).
function do_update()
{
directory="$1"; shift
if [ -d "CVS" ]; then
- cvs co -P -kb "$directory"
+ cvs update .
elif [ -d ".svn" ]; then
svn update .
elif [ -d ".git" ]; then
fi
}
+# gets all the updates for a list of folders under revision control.
function checkout_list {
list=$*
for i in $list; do
-#this list should be part of the configuration file, not part of script.
- for j in $i/feisty_meow $i/hoople $i/hoople1 $i/hoople2 $i/quartz $i/web $i/yeti $i/xsede/xsede_tests $i/xsede/code/cak0l/trunk ; do
+ # turn repo list back into an array.
+ eval "repository_list=( ${REPOSITORY_LIST[*]} )"
+ for j in "${repository_list[@]}"; do
+ # add in the directory for our purposes here.
+ j="$i/$j"
if [ ! -d $j ]; then
-# echo no directory called $j exists
+ if [ ! -z "$SHELL_DEBUG" ]; then
+ echo "No directory called $j exists."
+ fi
continue
fi
done
}
+##############
+
+export TMPO_CHK=$TMP/zz_chk.log
+
rm -f "$TMPO_CHK"
# perform the checkouts as appropriate per OS.
if [ "$OS" != "Windows_NT" ]; then
checkout_list $HOME 2>&1 | tee -a "$TMPO_CHK"
else
- checkout_list c:/ c:/home d:/ d:/home e:/ e:/home f:/ f:/home g:/ g:/home h:/ h:/home i:/ i:/home 2>&1 | tee -a "$TMPO_CHK"
+ checkout_list $HOME c:/ d:/ e:/ f:/ g:/ h:/ i:/ 2>&1 | tee -a "$TMPO_CHK"
fi
less $TMPO_CHK
+##############
+
# we now regenerate the scripts after getme, to ensure it's done automatically.
bash "$FEISTY_MEOW_SCRIPTS/core/bootstrap_shells.sh"
perl "$FEISTY_MEOW_SCRIPTS/core/generate_aliases.pl"
echo
nechung
+##############
+