rebase -m: cleanup --strategy-option handling

When handling "--strategy-option" rebase collects the commands into a
struct string_list, then concatenates them into a string, prepending "--"
to each one before splitting the string and removing the "--" prefix.
This is an artifact of the scripted rebase and the need to support
"rebase --preserve-merges". Now that "--preserve-merges" no-longer
exists we can cleanup the way the argument is handled.

The tests for a bad strategy option are adjusted now that
parse_strategy_opts() is no-longer called when starting a rebase. The
fact that it only errors out when running "git rebase --continue" is a
mixed blessing but the next commit will fix the root cause of the
parsing problem so lets not worry about that here.

Reviewed-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Phillip Wood
2023-04-10 10:08:29 +01:00
committed by Junio C Hamano
parent fb60b9f37f
commit 4a8bc9860a
4 changed files with 19 additions and 24 deletions

View File

@@ -2913,7 +2913,7 @@ static int populate_opts_cb(const char *key, const char *value, void *data)
return 0;
}
void parse_strategy_opts(struct replay_opts *opts, char *raw_opts)
static void parse_strategy_opts(struct replay_opts *opts, char *raw_opts)
{
int i;
int count;