github / github/copilot-cli

Cloud coding agent opens empty PR when invoked from a fork-backed PR review comment

オープン
#4,559 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

triage
主要言語
Shell
スター
11.2k
フォーク
1.9k
平均マージ
14時間 16分
マージ済み PR(30日)
6

説明

Describe the bug

Product

GitHub Copilot cloud coding agent (app/copilot-swe-agent), triggered from review feedback on a fork-backed pull request. This may need routing to the hosted coding-agent workflow owners.

Summary

When Copilot was started from a review comment on a fork-backed pull request, it created a draft PR from upstream main instead of the reviewed PR’s fork head. The requested file existed only in the reviewed PR, so the agent could not change it. It nevertheless opened an empty draft PR with an empty Initial plan commit.

Reproduction

  1. Open a PR from a personal fork to an upstream repository.
  2. Add review feedback about a file introduced by that PR and absent from upstream main.
  3. Start Copilot coding agent from that review comment.
  4. Copilot creates its branch from upstream main rather than the reviewed PR head.

Actual behavior

  • Reviewed PR: https://github.com/microsoft/rushstack/pull/5949
  • Empty Copilot PR: https://github.com/microsoft/rushstack/pull/5951
  • Copilot branch: microsoft:copilot/fix-review-comment-5949
  • Base SHA: d563d6a09ebef0be1ff274faf8c1008767166875
  • Head SHA: 7c5a2f29b89b8a8e59da5521ececbb918bd3f5e5
  • Result: 0 changed files, 0 additions, 0 deletions.
  • The head commit is titled Initial plan and is provably empty: both the head and parent tree SHA are 65487a74d0cb345023b9aebe08aa233d79e1097d.
  • The timeline records copilot_work_started and copilot_work_finished despite producing no change.

The reviewed file, libraries/rush-daemon/src/test/WorkspaceEngineComponentFactory.test.ts, existed only on PR #5949’s fork head and not on upstream main.

Expected behavior

For review-comment tasks on fork-backed PRs, Copilot should either:

  1. Base its work on the reviewed PR’s exact head; or
  2. Stop before creating a PR and report that fork-head access is unsupported.

Copilot should never publish a zero-diff PR when its head and base trees are identical.

Suggested safeguards

  • Preserve the reviewed PR head SHA when launching from inline review feedback.
  • Verify that the referenced file and line exist in the selected base.
  • Compare head and base trees before publishing; suppress an identical-tree PR.
  • Report an explicit unsupported-fork error instead of silently falling back to upstream main.
Affected version

No response

Steps to reproduce the behavior

No response

Expected behavior

No response

Additional context

No response

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず PR #5949 の fork head と upstream main を比較します。特に libraries/rush-daemon/src/test/WorkspaceEngineComponentFactory.test.ts を確認し、空の PR #5951 とその Initial plan コミットを調査します。hosted coding-agent workflow における fork ベースの PR の、レビューコメントから起動に至る経路を追跡します。fork head を保持するか明示的に拒否し、同一の tree を持つ PR が公開されるのを防止できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
github
領域
cloud, devtools
issue の種類
バグ
難易度
5/5
見積もり時間
1週間以上
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。