Skip to content

Cover every fork's reimpl/ branches from the rollup tooling itself - #394

Merged
gynt merged 1 commit into
mainfrom
tooling/fork-branch-rollup
Nov 11, 2026
Merged

gynt merged 1 commit into
mainfrom
tooling/fork-branch-rollup

Conversation

@gynt

@gynt gynt commented Nov 11, 2026

Copy link
Copy Markdown
Contributor

status_rollup.py gains --fetch-forks (or REIMPL_FETCH_FORKS=1): it enumerates the root repository's forks with gh, adds each as a remote and shallow-fetches its reimpl/ branches before scanning, so a local run covers what CI covers. It also reports per-fork branch counts and says so when nothing but the local repo is fetched. Fork identity comes from the remote's url rather than its name, since an owner-name remote cannot be split unambiguously.

status_regression.py understands the same two variables. The touched-file list is now settled before the fetch: a shallow fork fetch grafts the commit under test as parentless when the PR comes from one of those branches, which would turn the normal case into the script's "no merge base" hard error.

The three workflows drop their fetch_fork_branches.sh step in favour of that flag, so the fetch and the scan cannot drift apart. The script stays as a standalone utility, with a PowerShell port beside it; both now default to sourcehold/OpenSHC.

pick_work.py reports where to get each pick: the URL of the file behind the rollup's best_source, and with --all-sources every fork branch that has the function, collapsed by blob so the dozens of branches cut from one another show as one entry. New --format urls.

Tested locally against the live repository: 9 forks enumerated, 198 branch tips fetched, 3704 rollup rows (unchanged totals); the regression check verified on all four paths (touched-list, no-fetch default, merge-base-before-fetch, and a seeded 3-entry regression exiting 2).

🤖 Generated with Claude Code

status_rollup.py gains --fetch-forks (REIMPL_FETCH_FORKS=1): it enumerates the
root repository's forks with gh, adds each as a remote and shallow-fetches its
reimpl/ branches before scanning, so a local run covers what CI covers. It also
reports per-fork branch counts, and says so when nothing but the local repo is
fetched. Fork identity comes from the remote's url rather than its name, since
an 'owner-name' remote cannot be split unambiguously.

status_regression.py understands the same two variables. The touched-file list
is now settled before the fetch: a shallow fork fetch grafts the commit under
test as parentless when the PR comes from one of those branches, which would
turn the normal case into the script's "no merge base" hard error.

The three workflows drop their fetch_fork_branches.sh step in favour of that
flag, so the fetch and the scan cannot drift apart. The script stays as a
standalone utility, with a PowerShell port beside it; both now default to
sourcehold/OpenSHC.

pick_work.py reports where to get each pick: the URL of the file behind the
rollup's best_source, and with --all-sources every fork branch that has the
function, collapsed by blob so the dozens of branches cut from one another show
as one entry. New --format urls.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@gynt
gynt merged commit 087c33d into main Nov 11, 2026
5 checks passed
@gynt
gynt deleted the tooling/fork-branch-rollup branch November 11, 2026 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant