|  | #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; | 
|  | } |