Reject extra arguments to dolt_cherry_pick --abort - #2555
Conversation
dolt_cherry_pick('--abort', 'extra') discarded the extra argument and
still aborted, unlike dolt_merge('--abort', 'x') and dolt_rebase
('--abort', 'x'), which refuse with --abort does not take other
arguments. A refused abort must also leave the in-progress cherry-pick
untouched.
Check positional args first on --abort, matching merge/rebase. Native
tests cover the idle error and a conflicted cherry-pick that stays
conflicted until a bare --abort. The abort oracle now expects both
engines to error on extra args when no cherry-pick is active.
Fixes #2554
Co-Authored-By: Grok 4.6 <noreply@x.ai>
|
SummaryCoverage focused on safe handling of cherry-pick and abort workflows, including successful recovery, invalid arguments, multiple-commit rejection, active conflicts, constraint violations, rollback, reopening, and preserving repository state. These are primarily business-logic and edge-case checks, with clean behavior across the exercised scenarios. Safe to merge — the run found no PR-attributable regressions or failures, and all exercised recovery and error-handling behaviors completed as expected. The overall merge risk is low. Tests run by Ito
Tip Reply with @itoqa to send us feedback on this test run. |
DoltLite source coverage
Merged 202 pooled raw profiles from the distributed Linux correctness jobs. Per-file coverage (98 files)
|
DoltLite performance vs PR base
blobpk details
compositepk details
int details
textpk details
vc details
All relative performance gates passed. |

Fixes #2554.
dolt_cherry_pick('--abort', 'extra')silently discarded the extra argument and aborted.dolt_merge('--abort', 'x')anddolt_rebase('--abort', 'x')already refuse with--abort does not take other arguments.--abortnow rejects any positional argument with that same error and does not callmergeAbortInPlace, so an in-progress cherry-pick stays in place until a bare--abort.test/doltlite_cherry_pick.shcovers the idle error and a conflicted pick that remains conflicted through the refused abort.vc_oracle_cherry_pick_abort_test.shexpects both engines to error on extra args when no cherry-pick is active.Co-Authored-By: Grok 4.6 noreply@x.ai