If updating the working tree failed exit the whole vcsh process to
prevent entering the repository and doing more damage.
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