From c294acc263819c7969f5e131e4cf1b81de9dc47a Mon Sep 17 00:00:00 2001 From: Ashwin Bhat Date: Thu, 12 Feb 2026 09:42:42 -0800 Subject: [PATCH] revert: undo PR checkout fork support and unique branch naming Reverts the following commits: - f669191 fix: use unique local branch names for PR checkout to avoid conflicts (#931) - 21e3fe0 Fix PR checkout to support fork PRs (#851) Simplifies PR branch checkout back to using headRefName directly instead of the pr-{number} local branch naming scheme introduced in #931 and the GitHub pull ref fetch approach introduced in #851. Co-Authored-By: Claude Opus 4.6 --- src/github/operations/branch.ts | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/src/github/operations/branch.ts b/src/github/operations/branch.ts index 9f31fe407..86197da96 100644 --- a/src/github/operations/branch.ts +++ b/src/github/operations/branch.ts @@ -151,10 +151,7 @@ export async function setupBranch( // Handle open PR: Checkout the PR branch console.log("This is an open PR, checking out PR branch..."); - const originalBranchName = prData.headRefName; - // Use unique local branch name to avoid conflicts with existing branches - // Format: pr-{number} ensures uniqueness since PR numbers are unique per repo - const localBranchName = `pr-${entityNumber}`; + const branchName = prData.headRefName; // Determine optimal fetch depth based on PR commit count, with a minimum of 20 const commitCount = prData.commits.totalCount; @@ -163,28 +160,16 @@ export async function setupBranch( console.log( `PR #${entityNumber}: ${commitCount} commits, using fetch depth ${fetchDepth}`, ); - console.log( - `Fetching PR branch '${originalBranchName}' as local branch '${localBranchName}'`, - ); // Validate branch names before use to prevent command injection - validateBranchName(localBranchName); + validateBranchName(branchName); // Execute git commands to checkout PR branch (dynamic depth based on PR size) // Using execFileSync instead of shell template literals for security - // Use GitHub's PR ref which works for both same-repo and fork PRs - // The local branch name uses pr-{number} format to ensure uniqueness - execGit([ - "fetch", - "origin", - `--depth=${fetchDepth}`, - `pull/${entityNumber}/head:${localBranchName}`, - ]); - execGit(["checkout", localBranchName, "--"]); + execGit(["fetch", "origin", `--depth=${fetchDepth}`, branchName]); + execGit(["checkout", branchName, "--"]); - console.log( - `Successfully checked out PR #${entityNumber} as local branch '${localBranchName}'`, - ); + console.log(`Successfully checked out PR branch for PR #${entityNumber}`); // For open PRs, we need to get the base branch of the PR const baseBranch = prData.baseRefName; @@ -192,7 +177,7 @@ export async function setupBranch( return { baseBranch, - currentBranch: localBranchName, + currentBranch: branchName, }; } }