From c50a07c870a794ffc9935cd1249a80ce598fbc2b Mon Sep 17 00:00:00 2001 From: Claude Code Date: Mon, 7 Jul 2025 20:07:02 -0400 Subject: [PATCH] Fix PR labeler for branches without merge base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add fallback logic when git diff fails due to no merge base between branches. This handles cases where the branch history has diverged significantly. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .forgejo/workflows/pr-labeler.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/pr-labeler.yml b/.forgejo/workflows/pr-labeler.yml index 8ad03d2..180e916 100644 --- a/.forgejo/workflows/pr-labeler.yml +++ b/.forgejo/workflows/pr-labeler.yml @@ -19,7 +19,18 @@ jobs: # Get changed files git fetch origin main - CHANGED_FILES=$(git diff --name-only origin/main...HEAD) + # Try different approaches to get the diff + if git merge-base origin/main HEAD >/dev/null 2>&1; then + CHANGED_FILES=$(git diff --name-only origin/main...HEAD) + else + # Fallback: compare with origin/main directly + CHANGED_FILES=$(git diff --name-only origin/main HEAD || echo "") + fi + + if [ -z "$CHANGED_FILES" ]; then + echo "Unable to determine changed files, using all files in current branch" + CHANGED_FILES=$(find . -name "*.ts" -o -name "*.js" -o -name "*.scss" -o -name "*.json" | grep -v node_modules | head -20) + fi # Initialize labels array LABELS=""