more refactoring of revision control scripts
[feisty_meow.git] / scripts / rev_control / getem.sh
index 86c9531bf6f07027abed21eae2eccddaa3145ec8..e7aeabc6588407406ce7684d6bff079f1e0de716 100644 (file)
@@ -5,11 +5,14 @@
 source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
 source "$FEISTY_MEOW_SCRIPTS/rev_control/version_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...).
-# and even more rudeness is that the pwd and $TMP may not always be in the same form,
-# which causes endless confusion and badness.  that's why we get the pwd reading for TMP
-# first so we can do an orange-to-orange compare.
+##############
+
+# trickery to ensure we can always update feisty meow, including this specific
+# file, even when the operating system has some rude behavior with regard to
+# file locking (ahem, windoze).  and even more rudeness is that the pwd and
+# $TMP may not always be in the same form, which causes endless confusion and
+# badness.  that's why we get the pwd reading for TMP first so we can do an
+# oranges-to-oranges compare.
 tmpdir="$(cd $TMP; \pwd)"
 if [ "$(\pwd)" != "$tmpdir" ]; then
   if [ ! -z "$DEBUG_FEISTY_MEOW" ]; then
@@ -17,13 +20,14 @@ if [ "$(\pwd)" != "$tmpdir" ]; then
   fi
   new_name="$TMP/zz_$(basename $0)"
   \cp -f "$0" "$new_name"
-  if [ $? -ne 0 ]; then
-    echo "failed to copy this script up to the TMP directory.  exploit attempted?"
-    exit 1
-  fi
-  cd "$TMP"
+  test_or_die "failed to copy this script up to the TMP directory.  exploit attempted?"
+  pushd "$TMP" &>/dev/null
+  test_or_die "changing to TMP directory: $TMP"
   chmod a+x "$new_name"
+  test_or_die "chmodding of file: $new_name"
   exec "$new_name"
+  test_or_die "execing cloned getemscript"
+  popd &>/dev/null
 fi
 
 ##############
@@ -31,19 +35,18 @@ fi
 export TMPO_CHK=$TMP/zz_chk.log
 
 rm -f "$TMPO_CHK"
+test_or_die "removing file: $TMPO_CHK"
 
 echo "getting repositories at: $(date)"
 echo
 
 # perform the checkouts as appropriate per OS.
 FULL_LIST="$(dirname $FEISTY_MEOW_APEX) $HOME"
-#if [ "$OS" != "Windows_NT" ]; then
-#  checkout_list $HOME /usr/local 2>&1 | tee -a "$TMPO_CHK"
-#else
 if [ "$OS" == "Windows_NT" ]; then
   FULL_LIST+="c:/ d:/ e:/"
 fi
 checkout_list $FULL_LIST 2>&1 | tee -a "$TMPO_CHK"
+test_or_die "checking out list: $FULL_LIST"
 
 ##############