Show conflicts to parent branch

This commit is contained in:
2026-07-28 11:46:43 +02:00
parent 0e880fa9b0
commit f93c2c517a
8 changed files with 509 additions and 41 deletions

View File

@@ -2,9 +2,10 @@
A terminal UI for people receiving GitHub pull-request reviews. It
shows open PRs and a scrollable PR dashboard with the description, branches,
review state, checks, people, labels, milestone, activity, change statistics,
thread totals, submitted reviews, and the PR conversation. Review threads and
comments are paginated rather than silently stopping at the first page. The
review state, merge conflicts and affected files, checks, people, labels,
milestone, activity, change statistics, thread totals, submitted reviews, and
the PR conversation. Review threads and comments are paginated rather than
silently stopping at the first page. The
thread viewer includes highlighted diff hunks and comment authors. Resolved
threads start folded. GitHub suggestion blocks are shown as
syntax-highlighted remove/add previews. Comments and PR descriptions render
@@ -14,7 +15,7 @@ alerts. The current PR is refreshed in the background.
## Install and run
Requires Go 1.24+ and an authenticated GitHub CLI:
Requires Go 1.24+, Git 2.38+, and an authenticated GitHub CLI:
```sh
go install .
@@ -110,6 +111,15 @@ files. Their modification time is touched at most once per day (or half the
configured maximum age, when shorter) so recently validated snapshots remain
usable without writing on every poll. Changed files are replaced atomically.
GitHub's public APIs report whether a PR conflicts but do not expose its
conflicting file paths. For conflicting PRs only, `gh-threads` performs a
read-only `git merge-tree` analysis in a temporary bare repository. It never
touches or inspects the current checkout, so Git, Jujutsu (`jj`), and directories
without a local repository behave identically. The analysis fetches the exact
remote base branch and pull-request head ref using the existing GitHub
credential. Results are memoized by the base and head commit, and failed scans
are retried after one minute.
Command-line flags override the configuration. `GH_REPO` overrides the
configured repository when `--repo` is not provided. The corresponding flags
include `--config`, `--theme`, `--poll`, `--fold-resolved`,