The third piece of #118. /{owner}/{repo}/compare/{base}...{head} (or ?base=&head= from the form on the refs page) shows the commits in base..head and the diff from their merge base, the range a merge request would show before it exists, so a base that moved on does not appear as removals. A writer gets a link that prefills a merge request. Missing refs are 404.
The capability lands over ssh first: repo diff <owner/name> <base> <head> prints the same patch (JSON carries base, head, merge_base, patch, truncated), is ReadOnly, has a CLI front-end, and has its row in the read-only e2e test. TestCompareView covers the page, a missing ref and the command.
Not in this batch from #118: global search and a notifications page. Search across repositories is the explore filter today and issue search is #114; a notifications page needs #113's in-app notifications first.
Stacked on !222; no code dependency.
Ref #118
retargeted from list-pagination to main: !222 merged
2026-09-04 04:18 UTC