Development record
A drain run in a checkout holding only an older release tag takes a record a person deferred past a newer one. liveDeferralAnchor (internal/core/capture/eligible.go) reads the checkout's newest local tag as the anchor, and eligibility compared deferred_after to it by equality, so a clone not fetched since the last cut (a stale worktree, a --no-tags remote) read a deferral past the newer tag as lapsed and made the record eligible. A deferred_after that is not a release tag at all (hand-written 'next') was let through the same way. Reproduced on b93f4cdd3 by reverify-drainOwnRule: clone holding v0.1.0 only, record deferred_after v0.2.0 reads eligible.
A drain run in a checkout holding only an older release tag takes a record a person deferred past a newer one. liveDeferralAnchor (internal/core/capture/eligible.go) reads the checkout's newest local tag as the anchor, and eligibility compared deferred_after to it by equality, so a clone not fetched since the last cut (a stale worktree, a --no-tags remote) read a deferral past the newer tag as lapsed and made the record eligible. A deferred_after that is not a release tag at all (hand-written 'next') was let through the same way. Reproduced on b93f4cdd3 by reverify-drainOwnRule: clone holding v0.1.0 only, record deferred_after v0.2.0 reads eligible.
Grounds
- pursued: a clone tagged v0.1.0 alone hands back a record deferred past v0.2.0 and the one deferred past v0.1.0 as well, and a different record deferred past v9.9.9 leaves the v0.1.0 deferral handed back (TestADeferralPastATagTheCheckoutLacksIsHandedBack, TestADeferralAtTheLocalAnchorIsNotLapsedByAnotherRecordsTag, TestDrainHandsBackADeferralPastATagTheCheckoutLacks); a record deferred past a tag the checkout lacks, or past the local tag while the anchor is stale, reading eligible would show it wrong
Frontmatter
| id | iss-2609300841407812 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2609300841407812-a-drain-run-in-a-checkout-holding-only.md
open on GitHub ↗ · commit history ↗