Bug fix: check for uncomitted changes first
[public/expire-sites.git] / expire-sites
index c068316..757768e 100755 (executable)
@@ -12,17 +12,28 @@ if [ ! -e ${WORKDIR} ]; then
 fi
 
 if [ ! -e ${APACHEDIR} ]; then
-   echo 'Unable to find apache configuration directory: ' ${WORKDIR} >&2
+   echo 'Unable to find Apache configuration directory: ' ${APACHEDIR} >&2
    exit 1
 fi
 
-# Setup
-cd ${WORKDIR}
-
+# Update repository
 echo 'Updating repository'
 git pull
 
+# Ensure there are no uncommitted changes
+cd ${APACHEDIR}
+echo 'Checking for uncommited changes'
+git diff --name-only --exit-code > /dev/null
+
+if [ $? -ne 0 ]; then
+   echo "There are uncommited changes in ${APACHEDIR}." >&2
+   echo "Sincerely yours," >&2
+   echo "$(hostname)" >&2
+   exit 1
+fi
+
 # Generate updated configuration
+cd ${WORKDIR}
 echo 'Generating new configuration'
 ./generate-expire-config > ${CONFIGFILE}