//patches:audition --patch is not repeatable, so an A/B needs two invocations #88
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
bcox/tymbal#88
Loading…
Add table
Add a link
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?
--patchassigns rather than accumulates, so the second occurrence overwrites the first:renders only
ladder-kick, silently. No error, no warning — the first name is simply gone.Comparing two patches is the obvious thing to want from this tool, and it is exactly what the flag looks like it supports. Making it repeatable is a small change in
patches/audition.cc: accumulate into a vector and filter the registry against it, rather than holding one name.Found while auditioning
lpg-kickagainstladder-kickat the close ofladder-gate; worked around by running the tool twice.Fixed on
worktree-audition-flags, together with #69, #63 and #81.--patchaccumulates into astd::vector<std::string>and the registry is filtered against membership, so the command in this issue renders both:Two notes from doing it.
The file already disagreed with itself. Eight lines below the flag, a repeated positional argument gets
audition: one output directory, not two— an explicit refusal rather than last-one-wins.--patchsilently keeping its last occurrence was the outlier, so accumulating aligns it with the convention already in the file rather than inventing one.A typo now costs one run, not one run per name. With the flag repeatable, validating only the first selection would mean finding a second typo on the next run.
UnknownSelectionsreports every name the bank lacks, in the order given:The parse, the selection and the output directory moved to
patches/audition_options.hbehind acc_library, because acc_binaryis not testable and rendering the bank is the slowest possible way to find a mistyped name.//patches:audition_options_testcovers all of it; every assertion was verified by injecting the bug it names, including this one — the assigning parser failsRepeatedPatchFlagKeepsEveryNameGivenand nothing else, and fixing the parser alone leaves the first-unknown-only report failing for its own reason.