X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Frev_control%2Fgetem.sh;h=e0fcdef372f7f5d3e2310d36b08f5340855f1f58;hb=3f864e27a81cb09ae37e0331604a350c9d48c080;hp=8c5ace7828aa11821f96dbd5be4be6537321dac2;hpb=8a77c232cea62e0991cddef648bfbd409595b81a;p=feisty_meow.git diff --git a/scripts/rev_control/getem.sh b/scripts/rev_control/getem.sh index 8c5ace78..e0fcdef3 100644 --- a/scripts/rev_control/getem.sh +++ b/scripts/rev_control/getem.sh @@ -5,25 +5,31 @@ 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. +save_terminal_title + +############## + +# 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 "$SHELL_DEBUG" ]; then + if [ ! -z "$DEBUG_FEISTY_MEOW" ]; 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 - echo "failed to copy this script up to the TMP directory. exploit attempted?" - exit 1 - fi - cd "$TMP" + \cp -f "$0" "$new_name" + exit_on_error "failed to copy this script up to the TMP directory. exploit attempted?" + pushd "$TMP" &>/dev/null + exit_on_error "changing to TMP directory: $TMP" chmod a+x "$new_name" + exit_on_error "chmodding of file: $new_name" exec "$new_name" + exit_on_error "execing cloned getemscript" + popd &>/dev/null fi ############## @@ -31,18 +37,19 @@ fi export TMPO_CHK=$TMP/zz_chk.log rm -f "$TMPO_CHK" +exit_on_error "removing file: $TMPO_CHK" echo "getting repositories at: $(date)" # 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" +exit_on_error "checking out list: $FULL_LIST" + +echo ############## @@ -51,3 +58,5 @@ regenerate ############## +restore_terminal_title +