Repository navigation
fix(OMN-16502): pull-all.sh tolerates main-only repos at the fetch stage - #2877
Conversation
`_pull_one` ran `git fetch --prune origin main dev` unconditionally, which
fails WHOLESALE ("fatal: couldn't find remote ref dev") when either ref is
absent on origin -- so omnigemini, the one registry repo that never had a
dev branch cut, was marked FAILED on every pull-all.sh run (sole failure in
the OMN-16500 proof run, 2026-08-24T23:37Z).
Probe dev-branch existence with `git ls-remote --exit-code --heads origin
dev` before fetching. When dev is absent, fetch main only, fast-forward (or
converge, per the existing OMN-16500 release-synced-main path) main alone,
skip the dev leg entirely, and report OK naming the repo main-only -- the
repo is left on main instead of being switched to a dev that does not exist.
Regression coverage: tests/unit/scripts/test_pull_all.py::TestMainOnlyRepo
covers a main-only repo alone (OK, stays on main, no local dev branch
fabricated, PULL-ALL-RESULT overall=OK) and mixed with a normal main+dev
repo (full run exits 0). All 53 existing tests in the file still pass.
|
Warning Review limit reachedNext included review available in 14 minutes. View limit detailsLimit details: You’ve used the included review currently available. Your 125 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
Comment |
✅ Hostile Reviewer — PASSEDBlocking findings (critical): 0 Gate semantics (pilot phase)
Powered by omniintelligence.review_pairing.cli_review — multi-model adversarial review (OMN-8468/OMN-8524) |
#7045) * evidence: OCC companion pass 1 for OmniNode-ai/omnibase_infra#2877 * evidence: OCC companion self-bind for #7045 --------- Co-authored-by: node-occ-companion-effect <occ-companion-effect@omninode.ai>
Summary
_pull_onerangit fetch --prune origin main devunconditionally, which fails WHOLESALE (fatal: couldn't find remote ref dev) when either ref is absent on origin -- soomnigemini, the one registry repo that never had adevbranch cut, was marked FAILED on everypull-all.shrun (the sole failure in the OMN-16500 proof run, 2026-08-24T23:37Z:PULL-ALL-RESULT: overall=FAILED repos_ok=12 repos_failed=1 repos_absent=1).Probe
dev-branch existence withgit ls-remote --exit-code --heads origin devbefore fetching. Whendevis absent on origin: fetchmainonly, fast-forward (or converge, via the existing OMN-16500 release-synced-main path)mainalone, skip thedevleg entirely, and reportOKnaming the repo main-only. The repo is left onmaininstead of being switched to adevthat does not exist.pull-all.shrun on a machine with a main-only repo cloned exits 0 with that repo reportedOK (main-only repo).tests/unit/scripts/test_pull_all.py::TestMainOnlyRepo-- a main-only repo alone (OK, stays onmain, no localdevbranch fabricated,PULL-ALL-RESULT overall=OK) and mixed with a normal main+dev repo (full run exits 0, bothOK).test_pull_all.pystill pass unmodified (including the OMN-16500 non-ff-main convergence wiring tests, which cover the still-present dev-branch case).Ticket
OMN-16502
dod_evidence: governed pre-push impacted-test selector (scripts/hooks/prepush_smart_tests.sh, per CLAUDE.md Rule #4) ran the full impacted subset locally --1794 passed, 13 skipped in 406.28s-- includingtests/unit/scripts/test_pull_all.py(53/53 passed, both newTestMainOnlyRepotests included).pre-commit run --all-filespassed on the commit (ruff format/check, shellcheck, SPDX, architecture/duplication/aislop gates all green or no-files-to-check).Test plan
uv run pytest tests/unit/scripts/test_pull_all.py -m unit -q-- 53 passedbash -n scripts/pull-all.sh-- syntax OKshellcheck scripts/pull-all.sh-- no new findings (only pre-existing SC2329 info notices on indirectly-invoked functions, unrelated to this change)pre-commit run --all-files-- all hooks passedEvidence-Ticket: OMN-16502
Evidence-Source: OCC#7045