The set of files checked out by git is called the "working tree", avoid
other definitions like "working directory" or "work dir".
-# Only one vcsh instance at a time can have the work dir fully populated.
+# Only one vcsh instance at a time can have the working tree fully populated.
LOCKDIR=/run/lock/vcsh
# Kill the parent process because vcsh does not catch the hook exit value.
LOCKDIR=/run/lock/vcsh
# Kill the parent process because vcsh does not catch the hook exit value.
echo $PPID > "$LOCKDIR/pid"
# git read-tree manual page says this is the proper way to fully repopulate
echo $PPID > "$LOCKDIR/pid"
# git read-tree manual page says this is the proper way to fully repopulate
git config core.sparseCheckout true
rm -f "$GIT_DIR/info/sparse-checkout"
echo "/*" > "$GIT_DIR/info/sparse-checkout"
git config core.sparseCheckout true
rm -f "$GIT_DIR/info/sparse-checkout"
echo "/*" > "$GIT_DIR/info/sparse-checkout"
-# 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
[ -d "$LOCKDIR" ] || exit 0
# allowed to repopulate it sparsely.
LOCKDIR=/run/lock/vcsh
[ -d "$LOCKDIR" ] || exit 0
. "$XDG_CONFIG_HOME/vcsh/hooks-available/sparse-checkout.sh"
git read-tree -mu HEAD
. "$XDG_CONFIG_HOME/vcsh/hooks-available/sparse-checkout.sh"
git read-tree -mu HEAD
+# Unlock the working tree.
Many git commands (e.g. git-merge, git-checkout) will automatically use the
information in $GIT_DIR/info/sparse-checkout when dealing with files in the
Many git commands (e.g. git-merge, git-checkout) will automatically use the
information in $GIT_DIR/info/sparse-checkout when dealing with files in the
-git work directory, so generally a calling git-read-tree explicitly is not
+git working tree, so generally a calling git-read-tree explicitly is not
needed.
However when the content of $GIT_DIR/info/sparse-checkout changes it is
necessary to call "git read-tree -mu HEAD" to update the content of the
needed.
However when the content of $GIT_DIR/info/sparse-checkout changes it is
necessary to call "git read-tree -mu HEAD" to update the content of the