hooks: factor out an update-working-tree.sh script
[config/vcsh.git] / .config / vcsh / hooks-available / populate-sparsely.sh
index 755092b..cca8218 100755 (executable)
@@ -2,9 +2,12 @@
 
 set -e
 
-# Only the same instance of vcsh that had the work dir fully populated is
+# Only the same instance of vcsh that had the working tree fully populated is
 # allowed to repopulate it sparsely.
 LOCKDIR=/run/lock/vcsh
+
+# If LOCKDIR does not exist it means that the lock is not active so there's no
+# need to do anything.
 [ -d "$LOCKDIR" ] || exit 0
 
 LOCKPID=$(cat "$LOCKDIR/pid")
@@ -12,8 +15,12 @@ LOCKPID=$(cat "$LOCKDIR/pid")
 [ "$LOCKPID" = $PPID ] || { echo "Repository entered from another vcsh instance. Aborting." 1>&2; exit 1; }
 
 : "${XDG_CONFIG_HOME:="$HOME/.config"}"
-. "$XDG_CONFIG_HOME/vcsh/hooks-available/sparse-checkout.sh"
-git read-tree -mu HEAD
 
-# Unlock the work dir.
+# shellcheck source=/dev/null
+. "$XDG_CONFIG_HOME/vcsh/hooks-available/enable-sparse-checkout.sh"
+
+# shellcheck source=/dev/null
+. "$XDG_CONFIG_HOME/vcsh/hooks-available/update-working-tree.sh"
+
+# Unlock the working tree.
 rm -rf "$LOCKDIR"