Hi Phillip, On Wed, 13 Mar 2019, Phillip Wood wrote: > From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> > > Remember --allow-empty, --allow-empty-message and > --keep-redundant-commits when cherry-pick stops for a conflict > resolution. > > Signed-off-by: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> This whole patch series makes sense to me. And it is especially nice that you make it easy to verify that there is a bug in the first place, by separating the concern of demonstrating it from the concern to fix it. Thanks, Dscho > --- > sequencer.c | 18 ++++++++++++++++++ > t/t3507-cherry-pick-conflict.sh | 4 ++-- > 2 files changed, 20 insertions(+), 2 deletions(-) > > diff --git a/sequencer.c b/sequencer.c > index 5e19b22f8f..1ad51aa498 100644 > --- a/sequencer.c > +++ b/sequencer.c > @@ -2307,6 +2307,15 @@ static int populate_opts_cb(const char *key, const char *value, void *data) > opts->no_commit = git_config_bool_or_int(key, value, &error_flag); > else if (!strcmp(key, "options.edit")) > opts->edit = git_config_bool_or_int(key, value, &error_flag); > + else if (!strcmp(key, "options.allow-empty")) > + opts->allow_empty = > + git_config_bool_or_int(key, value, &error_flag); > + else if (!strcmp(key, "options.allow-empty-message")) > + opts->allow_empty_message = > + git_config_bool_or_int(key, value, &error_flag); > + else if (!strcmp(key, "options.keep-redundant-commits")) > + opts->keep_redundant_commits = > + git_config_bool_or_int(key, value, &error_flag); > else if (!strcmp(key, "options.signoff")) > opts->signoff = git_config_bool_or_int(key, value, &error_flag); > else if (!strcmp(key, "options.record-origin")) > @@ -2705,6 +2714,15 @@ static int save_opts(struct replay_opts *opts) > if (opts->edit) > res |= git_config_set_in_file_gently(opts_file, > "options.edit", "true"); > + if (opts->allow_empty) > + res |= git_config_set_in_file_gently(opts_file, > + "options.allow-empty", "true"); > + if (opts->allow_empty_message) > + res |= git_config_set_in_file_gently(opts_file, > + "options.allow-empty-message", "true"); > + if (opts->keep_redundant_commits) > + res |= git_config_set_in_file_gently(opts_file, > + "options.keep-redundant-commits", "true"); > if (opts->signoff) > res |= git_config_set_in_file_gently(opts_file, > "options.signoff", "true"); > diff --git a/t/t3507-cherry-pick-conflict.sh b/t/t3507-cherry-pick-conflict.sh > index 79e994cffa..1ef8e9d534 100755 > --- a/t/t3507-cherry-pick-conflict.sh > +++ b/t/t3507-cherry-pick-conflict.sh > @@ -410,7 +410,7 @@ test_expect_success 'cherry-pick preserves sparse-checkout' ' > test_i18ngrep ! "Changes not staged for commit:" actual > ' > > -test_expect_failure 'cherry-pick --continue remembers --keep-redundant-commits' ' > +test_expect_success 'cherry-pick --continue remembers --keep-redundant-commits' ' > test_when_finished "git cherry-pick --abort || :" && > pristine_detach initial && > test_must_fail git cherry-pick --keep-redundant-commits picked redundant && > @@ -419,7 +419,7 @@ test_expect_failure 'cherry-pick --continue remembers --keep-redundant-commits' > git cherry-pick --continue > ' > > -test_expect_failure 'cherry-pick --continue remembers --allow-empty and --allow-empty-message' ' > +test_expect_success 'cherry-pick --continue remembers --allow-empty and --allow-empty-message' ' > test_when_finished "git cherry-pick --abort || :" && > pristine_detach initial && > test_must_fail git cherry-pick --allow-empty --allow-empty-message \ > -- > 2.21.0 > >