#include "rebase.h" #include "config.h" /* * Parses textual value for pull.rebase, branch..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; }