Line | Count | Source (jump to first uncovered line) |
1 | | #include "git-compat-util.h" |
2 | | #include "rebase.h" |
3 | | #include "parse.h" |
4 | | #include "gettext.h" |
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 | 0 | { |
19 | 0 | int v = git_parse_maybe_bool(value); |
20 | |
|
21 | 0 | if (!v) |
22 | 0 | return REBASE_FALSE; |
23 | 0 | else if (v > 0) |
24 | 0 | return REBASE_TRUE; |
25 | 0 | else if (!strcmp(value, "merges") || !strcmp(value, "m")) |
26 | 0 | return REBASE_MERGES; |
27 | 0 | else if (!strcmp(value, "interactive") || !strcmp(value, "i")) |
28 | 0 | return REBASE_INTERACTIVE; |
29 | 0 | else if (!strcmp(value, "preserve") || !strcmp(value, "p")) |
30 | 0 | error(_("%s: 'preserve' superseded by 'merges'"), value); |
31 | | /* |
32 | | * Please update _git_config() in git-completion.bash when you |
33 | | * add new rebase modes. |
34 | | */ |
35 | | |
36 | 0 | return REBASE_INVALID; |
37 | 0 | } |