Repository navigation
Fixes the devcontainer update failing on any real WordPress repo.
- Only
.devcontainer/is listed now, not the whole repository. 3.0.0 fetched the target repo's entire file tree in one recursive call to work out what to delete. GitHub caps that response at 100,000 entries / ~7 MB and flags ittruncated— which any real WordPress repo (core, every plugin, every theme, vendor trees) exceeds, so the update aborted with "GitHub truncated the file listing for the repository." The listing now walks the root tree to the.devcontainerentry and recurses only into that, which stays at ~45 entries no matter how large the repo is. Costs one extra request per repo; the truncation guard stays in place as a backstop. The same fix applies to the template listing. - Refuses to commit a deletion-only tree. As a safety net for the class of bug above, the update now asserts that the replacement adds at least one file before it creates the commit. If the template listing ever comes back empty or with unexpected paths, the run stops instead of opening a PR that deletes
.devcontainer/and puts nothing back. - Four more tests covering the subtree path handling — a wrong prefix there is silent and would produce exactly that deletion-only PR.