Coverage Report

Created: 2024-09-08 06:24

/src/git/rebase.c
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
}