123456789101112131415161718192021222324252627282930313233343536 |
- #include "rebase.h"
- #include "config.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, "preserve") || !strcmp(value, "p"))
- return REBASE_PRESERVE;
- else if (!strcmp(value, "merges") || !strcmp(value, "m"))
- return REBASE_MERGES;
- else if (!strcmp(value, "interactive") || !strcmp(value, "i"))
- return REBASE_INTERACTIVE;
- /*
- * Please update _git_config() in git-completion.bash when you
- * add new rebase modes.
- */
- return REBASE_INVALID;
- }
|