Skip to content

fix: FudeReviewDiffのbase paneをmerge-base基準にする - #238

Merged
kyu08 merged 3 commits into
mainfrom
fix/preview-merge-base
Oct 11, 2026
Merged

kyu08 merged 3 commits into
mainfrom
fix/preview-merge-base

Conversation

@kyu08

@kyu08 kyu08 commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator

概要

GitHubモードのfull PR scopeで、:FudeReviewDiff の左ペイン(base側)がbase branchの先端を読んでいた。PR作成後にbase branchへ入ったcommitが、previewに逆向きの差分として混ざっていた。左ペインもPRの分岐点(merge-base)を読むようにし、GitHubのPR画面やgitsignsと同じ基準にそろえる。

変更内容

  • full PR scopeでは、previewの左ペインを state.merge_base_sha から読む(lua/fude/preview.lua)
    • changed files(pulls/{pr}/files)とgitsigns(既存ファイル)はすでにmerge-base基準で、previewだけ state.base_ref(base branchの先端)を git show していた
    • merge_base_sha はfull PR scopeに入る経路(init.start、scope.apply_full_pr_scope)で計算済みのため、previewからは参照するだけにした。計算できなかった場合だけ従来どおりbase branchの先端を読む
  • 比較対象の決め方を純粋関数 find_base_ref(state, local_session) にまとめた
    • local review → content_ref、commit scope → <sha>^、full PR scope → merge_base_sha の順で、local reviewとcommit scopeの挙動は変えていない
  • 新規ファイルの表示文言を does not exist in main (merge-base abc1234) にした
    • SHAをそのまま出すと40文字のハッシュになり、何と比べたか読み取れないため

テスト計画

  • 既存テスト全パス(make all)
  • 新規テスト追加: tests/fude/preview_spec.lua(find_base_ref の各分岐)、tests/fude/preview_integration_spec.lua(merge-baseが get_base_content に渡ること、新規ファイルの文言)

備考

merged PRでは merge-base(base branch, HEAD) 自体がずれる(merge commit方式だとPRのheadが main の祖先になり、差分がゼロになる)。この問題は、このPRの上にstackするPRで、base.sha を起点にmerge-baseを求める形で対応する。


Generated with Claude Code

Copilot AI balanced review requested due to automatic review settings October 11, 2026 13:03
@kyu08
kyu08 marked this pull request as ready for review October 11, 2026 13:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

実装、テスト、ドキュメントが変更目的と整合しており、未解決の問題は確認できませんでした。

0 open findings

What changed in this PR

:FudeReviewDiff のbase paneをmerge-base基準に統一する修正です。

Changes:

  • full PR scopeでmerge-baseを参照
  • 比較refの解決処理を純粋関数化
  • 単体・統合テストとドキュメントを更新
File Description
lua/​fude/​preview.lua merge-base基準のbase paneを実装
tests/​fude/​preview_spec.lua ref解決の分岐を検証
tests/​fude/​preview_integration_spec.lua previewへのref伝播と表示を検証
doc/​fude.txt 利用者向け仕様を更新
CLAUDE.md アーキテクチャ説明とstate依存を更新

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@kyu08
kyu08 added this pull request to stack #240 October 11, 2026 13:08
@kyu08
kyu08 merged commit 70bd343 into main Oct 11, 2026
10 checks passed
@kyu08
kyu08 deleted the fix/preview-merge-base branch October 11, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants