Skip to main content

Module patch

Module patch 

Source
Expand description

The typed patch: what a bulk operation is being asked to change (WP01 T003–T004).

A patch is a whitelist, and that is the whole point. A raw key=value map would let tix bulk --set priority=high --set number=99 through, and number: is not a field a bulk operation may touch. So every value is an enum over a named field, and the set of fields is closed by construction — there is no syntax by which a caller can name a key that is not in the contract (data-model §2, contract §1 and §7).

§unchanged is not None

PatchValue<T> is Unchanged | Set(T) | Clear. An Option cannot distinguish “the user did not mention this field” from “the user asked to empty it”, and those are different requests: the first must not touch the file at all, the second must. Collapsing them is how a bulk --clear-dates ends up clearing the assignee as well.

Structs§

ArchiveRequest
A request to delegate archiving to the #190 service.
IssuePatch
The complete set of bulk field operations.
PatchProblem
The outcome of a patch’s own structural validation.
RelationshipOp
The relationship half of a patch: one explicit pair operation.

Enums§

PatchValue
One field’s requested change.