From a7f790c38ad9a0b3dd5c4c6513dcf52a4e84f0bc Mon Sep 17 00:00:00 2001 From: John Wesley Walker III <81404201+jww3@users.noreply.github.com> Date: Tue, 23 Apr 2024 16:44:24 +0000 Subject: [PATCH] Disable `extensions.worktreeConfig` when disabling `sparse-checkout` --- .github/workflows/test.yml | 6 +++--- __test__/verify-basic.sh | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d8c83ac..cbd2991 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ on: - releases/* -# Note that when you see patterns like "ref: test-data/v2/basic" within this workflow, +# Note that when you see patterns like "ref: test-data/v2/basic" within this workflow, # these refer to "test-data" branches on this actions/checkout repo. # (For example, test-data/v2/basic -> https://github.com/actions/checkout/tree/test-data/v2/basic) @@ -37,7 +37,7 @@ jobs: steps: # Clone this repo - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 # Basic checkout - name: Checkout basic @@ -257,7 +257,7 @@ jobs: path: basic - name: Verify basic run: __test__/verify-basic.sh --archive - + test-git-container: runs-on: ubuntu-latest container: bitnami/git:latest diff --git a/__test__/verify-basic.sh b/__test__/verify-basic.sh index 5aaa309..d084617 100755 --- a/__test__/verify-basic.sh +++ b/__test__/verify-basic.sh @@ -18,6 +18,20 @@ else exit 1 fi + # Verify that sparse-checkout is disabled. + SPARSE_CHECKOUT_ENABLED=$(git -C ./basic config --local --get-all core.sparseCheckout) + if [ "$SPARSE_CHECKOUT_ENABLED" != "" ]; then + echo "Expected sparse-checkout to be disabled (discovered: $SPARSE_CHECKOUT_ENABLED)" + exit 1 + fi + + # Verify git configuration shows worktreeConfig is effectively disabled + WORKTREE_CONFIG_ENABLED=$(git -C ./basic config --local --get-all extensions.worktreeConfig) + if [[ "$WORKTREE_CONFIG_ENABLED" != "" ]]; then + echo "Expected extensions.worktreeConfig (boolean) to be disabled in git config. This could be an artifact of sparse checkout functionality." + exit 1 + fi + # Verify auth token cd basic git fetch --no-tags --depth=1 origin +refs/heads/main:refs/remotes/origin/main