SYNOPSIS
--------
[verse]
-'git-config' [--system | --global] [type] name [value [value_regex]]
-'git-config' [--system | --global] [type] --add name value
-'git-config' [--system | --global] [type] --replace-all name [value [value_regex]]
+'git-config' [--system | --global] name [value [value_regex]]
+'git-config' [--system | --global] --add name value
+'git-config' [--system | --global] --replace-all name [value [value_regex]]
'git-config' [--system | --global] [type] --get name [value_regex]
'git-config' [--system | --global] [type] --get-all name [value_regex]
-'git-config' [--system | --global] [type] --unset name [value_regex]
-'git-config' [--system | --global] [type] --unset-all name [value_regex]
-'git-config' [--system | --global] [type] --rename-section old_name new_name
-'git-config' [--system | --global] [type] --remove-section name
+'git-config' [--system | --global] --unset name [value_regex]
+'git-config' [--system | --global] --unset-all name [value_regex]
+'git-config' [--system | --global] --rename-section old_name new_name
+'git-config' [--system | --global] --remove-section name
'git-config' [--system | --global] -l | --list
DESCRIPTION
The type specifier can be either '--int' or '--bool', which will make
'git-config' ensure that the variable(s) are of the given type and
convert the value to the canonical form (simple decimal number for int,
-a "true" or "false" string for bool). If no type specifier is passed,
+a "true" or "false" string for bool). Type specifiers currently only
+take effect for reading operations. If no type specifier is passed,
no checks or transformations are performed on the value.
This command will fail if:
(rename && force_create))
usage(builtin_branch_usage);
- head = xstrdup(resolve_ref("HEAD", head_sha1, 0, NULL));
+ head = resolve_ref("HEAD", head_sha1, 0, NULL);
if (!head)
die("Failed to resolve HEAD as a valid ref.");
+ head = xstrdup(head);
if (!strcmp(head, "HEAD")) {
detached = 1;
}
return external_diff_cmd;
}
-#define TEMPFILE_PATH_LEN 50
-
static struct diff_tempfile {
const char *name; /* filename external diff should read from */
char hex[41];
char mode[10];
- char tmp_path[TEMPFILE_PATH_LEN];
+ char tmp_path[PATH_MAX];
} diff_temp[2];
static int count_lines(const char *data, int size)
{
int fd;
- fd = git_mkstemp(temp->tmp_path, TEMPFILE_PATH_LEN, ".diff_XXXXXX");
+ fd = git_mkstemp(temp->tmp_path, PATH_MAX, ".diff_XXXXXX");
if (fd < 0)
die("unable to create temp-file");
if (write_in_full(fd, blob, size) != size)
int option;
} commands[] = {
{ "add", cmd_add, RUN_SETUP | NOT_BARE },
- { "annotate", cmd_annotate, USE_PAGER },
+ { "annotate", cmd_annotate, RUN_SETUP | USE_PAGER },
{ "apply", cmd_apply },
{ "archive", cmd_archive },
{ "blame", cmd_blame, RUN_SETUP },
test z1048576 = "z$m"
'
+cat > expect << EOF
+true
+false
+true
+false
+true
+false
+true
+false
+EOF
+
+test_expect_success bool '
+
+ git-config bool.true1 01 &&
+ git-config bool.true2 -1 &&
+ git-config bool.true3 YeS &&
+ git-config bool.true4 true &&
+ git-config bool.false1 000 &&
+ git-config bool.false2 "" &&
+ git-config bool.false3 nO &&
+ git-config bool.false4 FALSE &&
+ rm -f result &&
+ for i in 1 2 3 4
+ do
+ git-config --bool --get bool.true$i >>result
+ git-config --bool --get bool.false$i >>result
+ done &&
+ cmp expect result'
+
+test_expect_failure 'invalid bool' '
+
+ git-config bool.nobool foobar &&
+ git-config --bool --get bool.nobool'
+
rm .git/config
git-config quote.leading " test"
return;
errno = 0;
}
- if (o->reset) {
- ce->ce_flags |= htons(CE_UPDATE);
- return;
- }
if (errno == ENOENT)
return;
die("Entry '%s' not uptodate. Cannot merge.", ce->name);