diff options
| author | eric sciple <ericsciple@users.noreply.github.com> | 2025-12-01 19:53:23 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-01 19:53:23 -0600 |
| commit | 14ac173bcffd0a72b08b5c47ca0799029f862682 (patch) | |
| tree | 3c41f524f02f19dbd73a805de9876f869f9d9ef2 /__test__ | |
| parent | f6ce9b5969c590f55c04bf74f2f14b53e26a26fb (diff) | |
Add worktree support for persist-credentials includeIf (#2327)
Diffstat (limited to '__test__')
| -rwxr-xr-x | __test__/verify-worktree.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/__test__/verify-worktree.sh b/__test__/verify-worktree.sh new file mode 100755 index 0000000..3a4d3e4 --- /dev/null +++ b/__test__/verify-worktree.sh @@ -0,0 +1,51 @@ +#!/bin/bash +set -e + +# Verify worktree credentials +# This test verifies that git credentials work in worktrees created after checkout +# Usage: verify-worktree.sh <checkout-path> <worktree-name> + +CHECKOUT_PATH="$1" +WORKTREE_NAME="$2" + +if [ -z "$CHECKOUT_PATH" ] || [ -z "$WORKTREE_NAME" ]; then + echo "Usage: verify-worktree.sh <checkout-path> <worktree-name>" + exit 1 +fi + +cd "$CHECKOUT_PATH" + +# Add safe directory for container environments +git config --global --add safe.directory "*" 2>/dev/null || true + +# Show the includeIf configuration +echo "Git config includeIf entries:" +git config --list --show-origin | grep -i include || true + +# Create the worktree +echo "Creating worktree..." +git worktree add "../$WORKTREE_NAME" HEAD --detach + +# Change to worktree directory +cd "../$WORKTREE_NAME" + +# Verify we're in a worktree +echo "Verifying worktree gitdir:" +cat .git + +# Verify credentials are available in worktree by checking extraheader is configured +echo "Checking credentials in worktree..." +if git config --list --show-origin | grep -q "extraheader"; then + echo "Credentials are configured in worktree" +else + echo "ERROR: Credentials are NOT configured in worktree" + echo "Full git config:" + git config --list --show-origin + exit 1 +fi + +# Verify fetch works in the worktree +echo "Fetching in worktree..." +git fetch origin + +echo "Worktree credentials test passed!" |
