Junio C Hamano <gitster@xxxxxxxxx> writes: > Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > >>> - else if (!strcmp(value, "preserve")) >>> + else if (!strcmp(value, "preserve") || !strcmp(value, "p")) >>> return REBASE_PRESERVE; >>> - else if (!strcmp(value, "merges")) >>> + else if (!strcmp(value, "merges") || !strcmp(value, "m")) >>> return REBASE_MERGES; >>> - else if (!strcmp(value, "interactive")) >>> + else if (!strcmp(value, "interactive") || !strcmp(value, "i")) >>> return REBASE_INTERACTIVE; >> >> Here 3 special cases are added... >> ... >>> +test_expect_success 'pull --rebase=i' ' >>> ... >>> +' >>> + >>> test_expect_success 'pull.rebase=invalid fails' ' >>> git reset --hard before-preserve-rebase && >>> test_config pull.rebase invalid && >> >> ...but this test is only for 1/3. I haven't run this, but it looks like >> the tests will still pass if we remove --rebase=p and --rebase=m. > > Good eyes. It's not like that parsing these three is implemented > with one thing; in other words, it is not hard to break one without > breaking the other two. Having said that, that can be done as a follow-up "oops, the original was sloppy" patch. It's not as bad compared to "oops, the original was totally borked and here is a fix", so I am OK with that ;-)