Files
auto-build/plugin/scripts/worktree-switch.sh

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 ""