Phillip Wood <phillip.wood...@gmail.com> writes:

> Hi Junio
>
> On 21/03/2019 04:21, Junio C Hamano wrote:
>> Phillip Wood <phillip.wood...@gmail.com> writes:
>>
>>> +static struct replay_opts get_replay_opts(const struct rebase_options 
>>> *opts)
>>> +{
>>> +   struct replay_opts replay = REPLAY_OPTS_INIT;
>>> +
>>> +   sequencer_init_config(&replay);
>>> +
>>> +   replay.action = REPLAY_INTERACTIVE_REBASE;
>>> +   replay.signoff = opts->signoff;
>>> +   replay.allow_ff = !(opts->flags & REBASE_FORCE);
>>> +   if (opts->allow_rerere_autoupdate)
>>> +           replay.allow_rerere_auto = opts->allow_rerere_autoupdate;
>>> +   replay.allow_empty = 1;
>>> +   replay.allow_empty_message = opts->allow_empty_message;
>>> +   replay.verbose = opts->flags & REBASE_VERBOSE;
>>> +   replay.reschedule_failed_exec = opts->reschedule_failed_exec;
>>> +   replay.gpg_sign = xstrdup_or_null(opts->gpg_sign_opt);
>>> +   replay.strategy = opts->strategy;
>>> +
>>> +   return replay;
>>> +}
>>
>> This calls init_config() and then sets .action; does it revert to
>> what dl/merge-cleanup-scissors-fix wants to do, which flipped the
>> order to fix some bug?  It is a bit hard to tell.
>
> dl/merge-cleanup-scissors-fix changes sequencer_init_config() to
> depend on the value of action so action should to be set first. What
> is in pu at the moment in not quite right (though I'm not sure what
> the practical implications are as it looks like the rebase tests are
> passing[1]).
>
> [1] https://travis-ci.org/git/git/jobs/509332448

Yes, it actually is the reason why I left the seemingly-wrong merge
in 'pu' on purpose to see if we have enough test coverage.

> they'd both be in the same file. I think it would only need to share
> the definitions of struct rebase_options, enum rebase_action and the
> declaration of run_rebase_interactive(). Would you be happy with the
> addition of builtin/rebase.h (there don't seem to be another headers
> in that directory). We could leave rebase--interactive.c around until
> rebase--preserve-merges.sh is finally removed.

I think dl/merge-cleanup-scissors-fix is getting solid enough, so a
better alternative may be to base this on top of

        reset e902e9bcae ;# The second batch
        merge ag/sequencer-reduce-rewriting-todo
        merge dl/merge-cleanup-scissors-fix

instead of basing it only on ag/sequencer-reduce-rewriting-todo.

Thanks.

Reply via email to