Merge branch 'maint'
* maint: annotate: make it work from subdirectories. git-config: Correct asciidoc documentation for --int/--bool t1300: Add tests for git-config --bool --get unpack-trees.c: verify_uptodate: remove dead code Use PATH_MAX instead of TEMPFILE_PATH_LEN branch: fix segfault when resolving an invalid HEAD
This commit is contained in:
commit
738a1154db
@ -9,15 +9,15 @@ git-config - Get and set repository or global options
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git-config' [--system | --global] [type] name [value [value_regex]]
|
'git-config' [--system | --global] name [value [value_regex]]
|
||||||
'git-config' [--system | --global] [type] --add name value
|
'git-config' [--system | --global] --add name value
|
||||||
'git-config' [--system | --global] [type] --replace-all name [value [value_regex]]
|
'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 name [value_regex]
|
||||||
'git-config' [--system | --global] [type] --get-all 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] --unset name [value_regex]
|
||||||
'git-config' [--system | --global] [type] --unset-all name [value_regex]
|
'git-config' [--system | --global] --unset-all name [value_regex]
|
||||||
'git-config' [--system | --global] [type] --rename-section old_name new_name
|
'git-config' [--system | --global] --rename-section old_name new_name
|
||||||
'git-config' [--system | --global] [type] --remove-section name
|
'git-config' [--system | --global] --remove-section name
|
||||||
'git-config' [--system | --global] -l | --list
|
'git-config' [--system | --global] -l | --list
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
@ -36,7 +36,8 @@ prepend a single exclamation mark in front (see EXAMPLES).
|
|||||||
The type specifier can be either '--int' or '--bool', which will make
|
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
|
'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,
|
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.
|
no checks or transformations are performed on the value.
|
||||||
|
|
||||||
This command will fail if:
|
This command will fail if:
|
||||||
|
@ -623,9 +623,10 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
|
|||||||
(rename && force_create))
|
(rename && force_create))
|
||||||
usage(builtin_branch_usage);
|
usage(builtin_branch_usage);
|
||||||
|
|
||||||
head = xstrdup(resolve_ref("HEAD", head_sha1, 0, NULL));
|
head = resolve_ref("HEAD", head_sha1, 0, NULL);
|
||||||
if (!head)
|
if (!head)
|
||||||
die("Failed to resolve HEAD as a valid ref.");
|
die("Failed to resolve HEAD as a valid ref.");
|
||||||
|
head = xstrdup(head);
|
||||||
if (!strcmp(head, "HEAD")) {
|
if (!strcmp(head, "HEAD")) {
|
||||||
detached = 1;
|
detached = 1;
|
||||||
}
|
}
|
||||||
|
6
diff.c
6
diff.c
@ -186,13 +186,11 @@ static const char *external_diff(void)
|
|||||||
return external_diff_cmd;
|
return external_diff_cmd;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TEMPFILE_PATH_LEN 50
|
|
||||||
|
|
||||||
static struct diff_tempfile {
|
static struct diff_tempfile {
|
||||||
const char *name; /* filename external diff should read from */
|
const char *name; /* filename external diff should read from */
|
||||||
char hex[41];
|
char hex[41];
|
||||||
char mode[10];
|
char mode[10];
|
||||||
char tmp_path[TEMPFILE_PATH_LEN];
|
char tmp_path[PATH_MAX];
|
||||||
} diff_temp[2];
|
} diff_temp[2];
|
||||||
|
|
||||||
static int count_lines(const char *data, int size)
|
static int count_lines(const char *data, int size)
|
||||||
@ -1561,7 +1559,7 @@ static void prep_temp_blob(struct diff_tempfile *temp,
|
|||||||
{
|
{
|
||||||
int fd;
|
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)
|
if (fd < 0)
|
||||||
die("unable to create temp-file");
|
die("unable to create temp-file");
|
||||||
if (write_in_full(fd, blob, size) != size)
|
if (write_in_full(fd, blob, size) != size)
|
||||||
|
2
git.c
2
git.c
@ -225,7 +225,7 @@ static void handle_internal_command(int argc, const char **argv, char **envp)
|
|||||||
int option;
|
int option;
|
||||||
} commands[] = {
|
} commands[] = {
|
||||||
{ "add", cmd_add, RUN_SETUP | NOT_BARE },
|
{ "add", cmd_add, RUN_SETUP | NOT_BARE },
|
||||||
{ "annotate", cmd_annotate, USE_PAGER },
|
{ "annotate", cmd_annotate, RUN_SETUP | USE_PAGER },
|
||||||
{ "apply", cmd_apply },
|
{ "apply", cmd_apply },
|
||||||
{ "archive", cmd_archive },
|
{ "archive", cmd_archive },
|
||||||
{ "blame", cmd_blame, RUN_SETUP },
|
{ "blame", cmd_blame, RUN_SETUP },
|
||||||
|
@ -436,6 +436,40 @@ test_expect_success numbers '
|
|||||||
test z1048576 = "z$m"
|
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
|
rm .git/config
|
||||||
|
|
||||||
git-config quote.leading " test"
|
git-config quote.leading " test"
|
||||||
|
@ -414,10 +414,6 @@ static void verify_uptodate(struct cache_entry *ce,
|
|||||||
return;
|
return;
|
||||||
errno = 0;
|
errno = 0;
|
||||||
}
|
}
|
||||||
if (o->reset) {
|
|
||||||
ce->ce_flags |= htons(CE_UPDATE);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (errno == ENOENT)
|
if (errno == ENOENT)
|
||||||
return;
|
return;
|
||||||
die("Entry '%s' not uptodate. Cannot merge.", ce->name);
|
die("Entry '%s' not uptodate. Cannot merge.", ce->name);
|
||||||
|
Loading…
Reference in New Issue
Block a user