diff --git a/modules/dev-env/scripts/pr-helpers.sh b/modules/dev-env/scripts/pr-helpers.sh index 46763d5..765cb03 100644 --- a/modules/dev-env/scripts/pr-helpers.sh +++ b/modules/dev-env/scripts/pr-helpers.sh @@ -113,8 +113,17 @@ git-pr-cleanup() { git -C "$bare_repo" worktree remove "$pr_path" echo "Deleting branch: $branch_name" - git -C "$bare_repo" branch -d "$branch_name" 2>/dev/null \ - || git -C "$bare_repo" branch -D "$branch_name" + if ! git -C "$bare_repo" branch -d "$branch_name" 2>/dev/null; then + echo " Branch '$branch_name' is not fully merged." + read -r -p " Force-delete it (unmerged commits will be lost)? [y/N] " -n 1 REPLY + echo + if [[ $REPLY =~ ^[Yy]$ ]]; then + git -C "$bare_repo" branch -D "$branch_name" + else + echo " Kept branch '$branch_name' (worktree already removed)." + return 1 + fi + fi echo "Done." }