Bitbucket のプルリクで、前回のレビューからの変更を見る
レビューした後に作成者がまたプッシュしたとき、Bitbucket は新しい分だけを見せられます。以下は Atlassian の Review code in a pull request(Cloud)、Review and discuss a pull request(Data Center)と REST API の定義(どれも英語)からまとめた、Bitbucket Cloud と Bitbucket Data Center それぞれのやり方と、行が変わったコメントの扱いです。
Bitbucket Cloud
- 変更ファイルの絞り込み:すべての変更、前回のレビューからの変更だけ(just the changes since last review)、Commits の一覧から選んだ1つまたは複数のコミット、のどれかを見せます。
- Viewed:ファイルの見出しのチェックで既読にすると、そのファイルは畳まれ、戻ってきても畳まれたままです。ソース ブランチへの新しいコミットが既読のファイルを変えると、Bitbucket はその Viewed を外し、もう一度見るべきだと分かるようにします。
- 行が変わったコメント:コメントした行の中身が消えると、コメントは古くなり(outdated)差分から外れます。ファイルの差分の上にある数字のボタンで、前の版へのコメントが出ます。古くなったスレッドを開き直すのもそこからです。
Bitbucket Data Center
- 反復レビュー(Iterative reviews):差分の画面の Change Scope で、レビューするコミットを1つ選ぶか、プルリクの変更すべてを選びます。前にレビューしたプルリクに戻ると、前回のレビューの後に足されたコミットだけが出ます。
- 行が変わったコメント:行が足されたり消えたりすると、Bitbucket はコメントを一緒に動かします。コメントした行が消えると、コメントはアクティビティに残り、その差分は古い(outdated)と印が付きます。隠れたコメントはほかのコメントからも見られます。
- Commits タブには、マージされるコミットが並びます。もうマージ済みのものは灰色です。
REST の呼び方
- Data Center:
GET /rest/api/latest/projects/{project}/repos/{repo}/pull-requests/{id}/changesのchangeScopeは、UNREVIEWED(今のユーザーがまだレビューしていない変更。あれば)、RANGE(sinceIdとuntilIdの2つのコミットの間の変更)、ALL(既定)です。行が変わったコメントは、アンカーに"orphaned": trueが付きます。 - Cloud:
GET /2.0/repositories/{workspace}/{repo}/pullrequests/{id}/commitsがプルリクのコミットの一覧、GET /2.0/repositories/{workspace}/{repo}/diffstat/{新しい方}..{古い方}?topic=falseがその2つの間で変わったファイルです(topic=trueではマージベースとの3点の差分になります)。行へのコメントのinlineにはoutdatedが入ります(API 定義の応答の例に出てきます)。
IntelliJ IDEA で、前回見たあとに変わったもの
Pull Request Inbox for Bitbucket は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。自分のレビューを待っている Bitbucket Cloud と Bitbucket Data Center のプルリクを IDE のツールウィンドウに並べ、前回見たあとに何が変わったかを示します。前回見たあとに変わったファイルには印が付き、既読にしたファイルは、あとのプッシュでそのファイルが変わった時だけ既読が外れます(プッシュが触らなかったファイルはそのまま)。差分はプルリク全体(マージベースから最新のコミットまで)です。1.0.48 からは、古くなったコメントを、今は別のコードがあるかもしれない古い行番号の位置には置きません。コメントの一覧に「古いコメント」の印を付けて残し、押すとそのファイルの先頭が開きます。受信箱・差分・既読は無料、承認・コメント・マージなどの操作は Pro(30日間の無料試用つき)です。画面は日本語です。
Bitbucket は Atlassian Pty Ltd の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Atlassian・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:コメントの解決 · 自分のレビューを待っているプルリク · 「変更を依頼」と Needs work · プルリクが古い情報に基づいている · English