diff options
author | Brian Lyles <brianmlyles@gmail.com> | 2024-03-25 18:16:53 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-03-25 16:45:41 -0700 |
commit | bd2f9fd025e3aa2926f249e9c24f1f648e89d997 (patch) | |
tree | dd8c9b7ff9bb5d30c8a36d2e5dc97d04084d7e27 | |
parent | 661b671aec3683718fe58f78f85359a11f57a57a (diff) | |
download | git-bd2f9fd025e3aa2926f249e9c24f1f648e89d997.tar.gz |
cherry-pick: enforce `--keep-redundant-commits` incompatibility
When `--keep-redundant-commits` was added in b27cfb0d8d
(git-cherry-pick: Add keep-redundant-commits option, 2012-04-20), it was
not marked as incompatible with the various operations needed to
continue or exit a cherry-pick (`--continue`, `--skip`, `--abort`, and
`--quit`).
Enforce this incompatibility via `verify_opt_compatible` like we do for
the other various options.
Signed-off-by: Brian Lyles <brianmlyles@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/revert.c | 1 | ||||
-rwxr-xr-x | t/t3505-cherry-pick-empty.sh | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/builtin/revert.c b/builtin/revert.c index 89821bab95..a1936ef70e 100644 --- a/builtin/revert.c +++ b/builtin/revert.c @@ -167,6 +167,7 @@ static int run_sequencer(int argc, const char **argv, const char *prefix, "--ff", opts->allow_ff, "--rerere-autoupdate", opts->allow_rerere_auto == RERERE_AUTOUPDATE, "--no-rerere-autoupdate", opts->allow_rerere_auto == RERERE_NOAUTOUPDATE, + "--keep-redundant-commits", opts->keep_redundant_commits, NULL); } diff --git a/t/t3505-cherry-pick-empty.sh b/t/t3505-cherry-pick-empty.sh index eba3c38d5a..61f91aaa0a 100755 --- a/t/t3505-cherry-pick-empty.sh +++ b/t/t3505-cherry-pick-empty.sh @@ -99,4 +99,18 @@ test_expect_success 'cherry-pick a no-op with --keep-redundant' ' test_cmp expect actual ' +test_expect_success '--keep-redundant-commits is incompatible with operations' ' + test_must_fail git cherry-pick HEAD 2>output && + test_grep "The previous cherry-pick is now empty" output && + test_must_fail git cherry-pick --keep-redundant-commits --continue 2>output && + test_grep "fatal: cherry-pick: --keep-redundant-commits cannot be used with --continue" output && + test_must_fail git cherry-pick --keep-redundant-commits --skip 2>output && + test_grep "fatal: cherry-pick: --keep-redundant-commits cannot be used with --skip" output && + test_must_fail git cherry-pick --keep-redundant-commits --abort 2>output && + test_grep "fatal: cherry-pick: --keep-redundant-commits cannot be used with --abort" output && + test_must_fail git cherry-pick --keep-redundant-commits --quit 2>output && + test_grep "fatal: cherry-pick: --keep-redundant-commits cannot be used with --quit" output && + git cherry-pick --abort +' + test_done |