50 lines
1.4 KiB
Bash
50 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# Show instructions for switching to a worktree
|
|
# Usage: worktree-switch.sh <feature-name>
|
|
|
|
set -e
|
|
|
|
FEATURE_NAME="$1"
|
|
|
|
# Get project root (parent of .auto-build)
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
PROJECT_NAME=$(basename "$PROJECT_ROOT")
|
|
WORKTREES_DIR="$(dirname "$PROJECT_ROOT")/ab-worktrees"
|
|
|
|
if [ -z "$FEATURE_NAME" ]; then
|
|
echo "Error: Feature name required"
|
|
echo "Usage: worktree-switch.sh <feature-name>"
|
|
echo ""
|
|
echo "Available worktrees:"
|
|
ls -1 "$WORKTREES_DIR" 2>/dev/null | grep "^${PROJECT_NAME}-" | sed "s/${PROJECT_NAME}-/ /" || echo " (none)"
|
|
exit 1
|
|
fi
|
|
|
|
WORKTREE_PATH="${WORKTREES_DIR}/${PROJECT_NAME}-${FEATURE_NAME}"
|
|
|
|
if [ ! -d "$WORKTREE_PATH" ]; then
|
|
echo "Error: Worktree not found at: $WORKTREE_PATH"
|
|
echo ""
|
|
echo "Available worktrees:"
|
|
ls -1 "$WORKTREES_DIR" 2>/dev/null | grep "^${PROJECT_NAME}-" | sed "s/${PROJECT_NAME}-/ /" || echo " (none)"
|
|
exit 1
|
|
fi
|
|
|
|
echo "========================================"
|
|
echo " Switch to Worktree"
|
|
echo "========================================"
|
|
echo ""
|
|
echo "Feature: $FEATURE_NAME"
|
|
echo "Path: $WORKTREE_PATH"
|
|
echo ""
|
|
echo "To switch to this worktree, run:"
|
|
echo ""
|
|
echo " cd $WORKTREE_PATH"
|
|
echo ""
|
|
echo "Or start a new terminal/Claude Code session in that directory."
|
|
echo ""
|
|
echo "To return to main project:"
|
|
echo " cd $PROJECT_ROOT"
|
|
echo ""
|