Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
path: root/__test__
diff options
context:
space:
mode:
authoreric sciple <ericsciple@users.noreply.github.com>2025-12-01 19:53:23 -0600
committerGitHub <noreply@github.com>2025-12-01 19:53:23 -0600
commit14ac173bcffd0a72b08b5c47ca0799029f862682 (patch)
tree3c41f524f02f19dbd73a805de9876f869f9d9ef2 /__test__
parentf6ce9b5969c590f55c04bf74f2f14b53e26a26fb (diff)
Add worktree support for persist-credentials includeIf (#2327)
Diffstat (limited to '__test__')
-rwxr-xr-x__test__/verify-worktree.sh51
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!"