populate-fully.sh: don't enter the repository if updating working tree fails
authorAntonio Ospite <ao2@ao2.it>
Thu, 13 Dec 2018 23:51:28 +0000 (00:51 +0100)
committerAntonio Ospite <ao2@ao2.it>
Mon, 17 Dec 2018 09:37:45 +0000 (10:37 +0100)
If updating the working tree failed exit the whole vcsh process to
prevent entering the repository and doing more damage.

.config/vcsh/hooks-available/populate-fully.sh

index 0439174..d398a90 100755 (executable)
@@ -40,6 +40,15 @@ then
   git config core.sparseCheckout true
   rm -f "$GIT_DIR/info/sparse-checkout"
   echo "/*" > "$GIT_DIR/info/sparse-checkout"
-  git read-tree -mu HEAD
+  RET=0
+  git read-tree -mu HEAD || RET=$?
   git config core.sparseCheckout false
+
+  # if updating the working tree failed exit the whole vcsh process to prevent
+  # entering the repository.
+  if [ $RET -ne 0 ];
+  then
+    echo "Fix the problems before entering the repository." 1>&2
+    kill -- -$PPID
+  fi
 fi