diff options
Diffstat (limited to 'src/git-lfs/install.sh')
-rwxr-xr-x | src/git-lfs/install.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/git-lfs/install.sh b/src/git-lfs/install.sh index d6f914f..3931099 100755 --- a/src/git-lfs/install.sh +++ b/src/git-lfs/install.sh @@ -8,6 +8,7 @@ # Maintainer: The VS Code and Codespaces Teams GIT_LFS_VERSION=${VERSION:-"latest"} +AUTO_PULL=${AUTOPULL:="true"} GIT_LFS_ARCHIVE_GPG_KEY_URI="https://packagecloud.io/github/git-lfs/gpgkey" GIT_LFS_ARCHIVE_ARCHITECTURES="amd64 arm64" @@ -185,6 +186,37 @@ if [ "${use_github}" = "true" ]; then install_using_github fi +# --- Generate a 'pull-git-lfs-artifacts.sh' script to be executed by the 'postCreateCommand' lifecycle hook +PULL_GIT_LFS_SCRIPT_PATH="/usr/local/share/pull-git-lfs-artifacts.sh" + +tee "$PULL_GIT_LFS_SCRIPT_PATH" > /dev/null \ +<< EOF +#!/bin/sh +set -e +AUTO_PULL=${AUTO_PULL} +EOF + +tee -a "$PULL_GIT_LFS_SCRIPT_PATH" > /dev/null \ +<< 'EOF' + +echo "Fetching git lfs artifacts..." + +if [ "${AUTO_PULL}" != "true" ]; then + echo "(!) Skipping 'git lfs pull' because 'autoPull' is not set to 'true'" + exit 0 +fi + +# Check if repo is a git lfs repo. +if ! git lfs ls-files > /dev/null 2>&1; then + echo "(!) Skipping automatic 'git lfs pull' because no git lfs files were detected" + exit 0 +fi + +git lfs pull +EOF + +chmod 755 "$PULL_GIT_LFS_SCRIPT_PATH" + # Clean up rm -rf /var/lib/apt/lists/* |