The crucial problem with code review on GitHub is that it's 100% dependent on Git to store the history of a PR. This too closely couples what a developer does locally on their machine to the code review process. This in turn means that force pushing drops the history of their "Checks" system, which annotate the PR with CI job an lint/test results. It also means junk commits on PRs make the whole review process more difficult. The app Reviewable [2] works with GitHub and fixes some of these issues if you want to give it a try.
0 - https://twitter.com/natfriedman/status/1170804894241972224
When you've left a review, you also generally get a “View Changes” button in the conversation that takes you to the changes since you last viewed, if new changes are pushed. The issue with this particular link is it tends to be ephemeral.
And while not particularly ergonomic you can have PR against other PR since forever.
Github is built by devs for devs and has tons of hidden gems scattered in there. Do read their shortcuts help, blog and other dev sources and you might find tools for a lot of the task you can think of.
> force-pushed the aojea:affinity branch from 8eab3f7 to ee626e7 yesterday [0]
Where the "force pushed" links to a pretty decent UI [1], but it will include a bunch of non-import information if the person rebased and force pushed, which is a common reason for force pushing.
You can see that in this [2] long lived Kubernetes PR that was rebased, the resulting "helpful" link shows me 2094 changed files [3]. In a tool like Gerrit or Phabricator this is automatically handled and it would basically ignore this operation unless the rebase changed the code being reviewed.
0 - https://github.com/kubernetes/kubernetes/pull/88409
1 - https://github.com/kubernetes/kubernetes/compare/8eab3f73163...
2 - https://github.com/kubernetes/kubernetes/pull/85000
3 - https://github.com/kubernetes/kubernetes/compare/375873cb532...
If the issue is reviewing the code, stale reviews for code that was pushed over will be marked as stale.