X-Git-Url: https://git.ao2.it/config/vcsh.git/blobdiff_plain/e7109b26ca3742d660d77df5a94326297f00eaa0..6f9082f6cf2b819ed8d1f9b7da825e546d3d8b4a:/.config/vcsh/hooks-available/populate-sparsely.sh diff --git a/.config/vcsh/hooks-available/populate-sparsely.sh b/.config/vcsh/hooks-available/populate-sparsely.sh index a49e4b4..53d2b3a 100755 --- a/.config/vcsh/hooks-available/populate-sparsely.sh +++ b/.config/vcsh/hooks-available/populate-sparsely.sh @@ -2,9 +2,14 @@ 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") # Use the parent pid because the hooks are launched as children of vcsh. [ "$LOCKPID" = $PPID ] || { echo "Repository entered from another vcsh instance. Aborting." 1>&2; exit 1; } @@ -13,5 +18,5 @@ LOCKPID=$(cat "$LOCKDIR/pid") . "$XDG_CONFIG_HOME/vcsh/hooks-available/sparse-checkout.sh" git read-tree -mu HEAD -# Unlock the work dir. +# Unlock the working tree. rm -rf "$LOCKDIR"