f4609b896f
This also bumps the stable nixpkgs to 20.09 as of 2020-11-21, because there is some breakage in the git build related to the netrc credentials helper which someone has taken care of in nixpkgs. The stable channel is not used for anything other than git, so this should be fine. Change-Id: I3575a19dab09e1e9556cf8231d717de9890484fb
35 lines
1 KiB
C
35 lines
1 KiB
C
#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;
|
|
}
|