]> ToastFreeware Gitweb - gregoa/movein.git/blobdiff - movein
preflight function
[gregoa/movein.git] / movein
diff --git a/movein b/movein
index 9d7e03e996ce81418a7fdfc792e26a12618ec115..ada5c7b2d0f8727fc1d44bf67da29cae4cbb3580 100755 (executable)
--- a/movein
+++ b/movein
@@ -19,6 +19,7 @@
 
 
 set -e
+set -u
 
 usage() {
     bn=$(basename $0)
@@ -64,7 +65,7 @@ EOF
 }
 
 
-GIT_HOST=git.vireo.org
+GIT_HOST=git.$(hostname -d)
 REMOTE_REPOS=~/git
 LOCAL_REPOS=~/.movein
 MRCONFIG=~/.mrconfig
@@ -88,10 +89,10 @@ init() {
            exit 1
     fi
 
-    echo -n "git server hostname? [git.vireo.org] "
+    echo -n "git server hostname? [${GIT_HOST}] "
     read GIT_HOST
     if [ -z "$GIT_HOST" ]; then
-           GIT_HOST=git.vireo.org
+           GIT_HOST=git.$(hostname -d)
     fi
 
     echo -n "path to remote repositories? [~/git] "
@@ -226,6 +227,24 @@ END
 
 }
 
+preflight() {
+    # Check a few requirements before doing any work
+    errors=0
+    set +e
+    for binary in mr git; do
+        bin=$(which ${binary})
+        if [ -z "${bin}" ]; then
+            echo "Missing required program: ${binary}"
+            errors=$(( errors + 1 ))
+        fi
+    done
+    set -e
+    if [ $errors -ne 0 ]; then
+        echo "Errors found, exiting"
+        exit 2
+    fi
+}
+
 if [ $# -lt 1 ]; then
     usage
     exit 1
@@ -237,9 +256,11 @@ case "$command" in
            init $@
            ;;
     add)
+        preflight
         add $@
            ;;
     new)
+        preflight
         new $@
            ;;
     login)