Compare code semantically across a force push in review bundles

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

メンテナーはふだん 1 日以内に返信

@Alan52254 がすでに取り組んでいます。

2026年11月6日 から。

評価

この issue はまだ評価されていません。

説明

Problem

After a force push, review-bundle.sh --since points a reviewer to a tree diff or a git range-diff. Both compare lines. When an author reworks a commit, the range-diff reads almost as long as the whole diff: 925 of 1200 lines on #586, 624 of 1284 on #584.

Current behavior

diffmodel.py pairs moved units by indentation, which workbench.md calls a guess at syntax and not a parse. since.range-diff.txt shows a reworked commit as removed and added lines, so a rename or a moved function reads as new code.

Desired outcome

A reviewer reading a rewritten pull request sees which functions or blocks changed in meaning, and which only moved or were renamed, without rereading the whole commit.

Scope

  • A comparison that builds on diffmodel.py's unit pairing.
  • The rewrites of #585, #584 and #586 as its cases.
  • No code from or call to OmniDiff, whose license is incompatible with CodeTrial.

Out of scope

Replacing since.diff and since.range-diff.txt; they stay the fallback.

Related

#605 adds those two files for #587.

主要言語
Rust
スター
223
フォーク
148
平均マージ
1日 10時間
マージ済み PR(30日)
227

環境構築

はじめの一歩

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

sysprog21/codetrial のほかの issue

sysprog21/codetrial の issue をすべて見る

似ている issue

Rust の issue をもっと見る

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

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