ReviewStateUpdater clears ci_wait_started and ci_wait_sha with two flags that every caller must set together #595
Labels
No labels
agent-ready
bug
contract
documentation
duplicate
enhancement
good first issue
help wanted
invalid
needs-human
needs-input
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/iw-cli#595
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found in the composition review of IW-491 phase 1. Related: #568.
ReviewStateUpdaterhasclearCiWaitStartedandclearCiWaitSha. The two fields describe one wait and must be cleared together, but eight call sites (inPhasePr,PhaseMerge,PhaseMergedCard,CiGateCommand) set the pair by hand. A new call site that sets only one of them leaves a wait start without its head, or the reverse, and nothing catches it.PROPOSED FIX. Replace the pair with one flag (for example
clearCiWait) that clears both fields.Closed as a duplicate of #601, which takes this defect and three others as one investigation on one branch. This one is phase 1 there.
The four share a cause: the card and the CI reading do not agree on which head they speak about. Fixing them apart would read the same code four times.