Revision 58696bfcaacc50323e596112124b41242fde23de authored by Junio C Hamano on 08 July 2024, 22:52:11 UTC, committed by Junio C Hamano on 08 July 2024, 23:23:05 UTC
Under ci/ hierarchy, we run scripts under either "sh" (any Bourne
compatible POSIX shell would work) or specifically "bash" (as they
require features from bash, e.g., ${parameter/pattern/string}
expansion).  As we have the CI environment under our control, we can
expect that /bin/sh will always be fine to run the scripts that only
require a Bourne shell, but we may not know where "bash" is
installed depending on the distro used.

So let's make sure we start these scripts with either one of these:

	#!/bin/sh
	#!/usr/bin/env bash

Yes, the latter has to assume that everybody installs "env" at that
path and not as /bin/env or /usr/local/bin/env, but this currently
is the best we could do.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 337b4d4
Raw File
rebase.c
#include "git-compat-util.h"
#include "rebase.h"
#include "parse.h"
#include "gettext.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, "merges") || !strcmp(value, "m"))
		return REBASE_MERGES;
	else if (!strcmp(value, "interactive") || !strcmp(value, "i"))
		return REBASE_INTERACTIVE;
	else if (!strcmp(value, "preserve") || !strcmp(value, "p"))
		error(_("%s: 'preserve' superseded by 'merges'"), value);
	/*
	 * Please update _git_config() in git-completion.bash when you
	 * add new rebase modes.
	 */

	return REBASE_INVALID;
}
back to top