]>
Commit | Line | Data |
---|---|---|
8bff5ca0 | 1 | #include "git-compat-util.h" |
88f8576e | 2 | #include "rebase.h" |
b1bda751 | 3 | #include "parse.h" |
52f1e821 | 4 | #include "gettext.h" |
88f8576e BW |
5 | |
6 | /* | |
7 | * Parses textual value for pull.rebase, branch.<name>.rebase, etc. | |
8 | * Unrecognised value yields REBASE_INVALID, which traditionally is | |
9 | * treated the same way as REBASE_FALSE. | |
10 | * | |
11 | * The callers that care if (any) rebase is requested should say | |
12 | * if (REBASE_TRUE <= rebase_parse_value(string)) | |
13 | * | |
14 | * The callers that want to differenciate an unrecognised value and | |
15 | * false can do so by treating _INVALID and _FALSE differently. | |
16 | */ | |
17 | enum rebase_type rebase_parse_value(const char *value) | |
18 | { | |
19 | int v = git_parse_maybe_bool(value); | |
20 | ||
21 | if (!v) | |
22 | return REBASE_FALSE; | |
23 | else if (v > 0) | |
24 | return REBASE_TRUE; | |
88f8576e BW |
25 | else if (!strcmp(value, "merges") || !strcmp(value, "m")) |
26 | return REBASE_MERGES; | |
27 | else if (!strcmp(value, "interactive") || !strcmp(value, "i")) | |
28 | return REBASE_INTERACTIVE; | |
52f1e821 JS |
29 | else if (!strcmp(value, "preserve") || !strcmp(value, "p")) |
30 | error(_("%s: 'preserve' superseded by 'merges'"), value); | |
88f8576e BW |
31 | /* |
32 | * Please update _git_config() in git-completion.bash when you | |
33 | * add new rebase modes. | |
34 | */ | |
35 | ||
36 | return REBASE_INVALID; | |
37 | } |