52f1e82178
In preparation for `git-rebase--preserve-merges.sh` entering its after life, we remove this (deprecated) option that would still rely on it. To help users transition who still did not receive the memo about the deprecation, we offer a helpful error message instead of throwing our hands in the air and saying that we don't know that option, never heard of it. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Reviewed-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
37 lines
1.1 KiB
C
37 lines
1.1 KiB
C
#include "rebase.h"
|
|
#include "config.h"
|
|
#include "gettext.h"
|
|
|
|
/*
|
|
* Parses textual value for pull.rebase, branch.<name>.rebase, etc.
|
|
* Unrecognised value yields REBASE_INVALID, which traditionally is
|
|
* treated the same way as REBASE_FALSE.
|
|
*
|
|
* The callers that care if (any) rebase is requested should say
|
|
* if (REBASE_TRUE <= rebase_parse_value(string))
|
|
*
|
|
* The callers that want to differenciate an unrecognised value and
|
|
* false can do so by treating _INVALID and _FALSE differently.
|
|
*/
|
|
enum rebase_type rebase_parse_value(const char *value)
|
|
{
|
|
int v = git_parse_maybe_bool(value);
|
|
|
|
if (!v)
|
|
return REBASE_FALSE;
|
|
else if (v > 0)
|
|
return REBASE_TRUE;
|
|
else if (!strcmp(value, "merges") || !strcmp(value, "m"))
|
|
return REBASE_MERGES;
|
|
else if (!strcmp(value, "interactive") || !strcmp(value, "i"))
|
|
return REBASE_INTERACTIVE;
|
|
else if (!strcmp(value, "preserve") || !strcmp(value, "p"))
|
|
error(_("%s: 'preserve' superseded by 'merges'"), value);
|
|
/*
|
|
* Please update _git_config() in git-completion.bash when you
|
|
* add new rebase modes.
|
|
*/
|
|
|
|
return REBASE_INVALID;
|
|
}
|