Browse Source

Merge branch 'maint-1.5.1' into maint

* maint-1.5.1:
  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
maint
Junio C Hamano 18 years ago
parent
commit
7df6ddf51e
  1. 17
      Documentation/git-config.txt
  2. 3
      builtin-branch.c
  3. 6
      diff.c
  4. 2
      git.c
  5. 34
      t/t1300-repo-config.sh
  6. 4
      unpack-trees.c

17
Documentation/git-config.txt

@ -9,15 +9,15 @@ git-config - Get and set repository or global options @@ -9,15 +9,15 @@ git-config - Get and set repository or global options
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
@ -36,7 +36,8 @@ prepend a single exclamation mark in front (see EXAMPLES). @@ -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
'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:

3
builtin-branch.c

@ -623,9 +623,10 @@ int cmd_branch(int argc, const char **argv, const char *prefix) @@ -623,9 +623,10 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
(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;
}

6
diff.c

@ -186,13 +186,11 @@ static const char *external_diff(void) @@ -186,13 +186,11 @@ static const char *external_diff(void)
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)
@ -1561,7 +1559,7 @@ static void prep_temp_blob(struct diff_tempfile *temp, @@ -1561,7 +1559,7 @@ static void prep_temp_blob(struct diff_tempfile *temp,
{
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)

2
git.c

@ -225,7 +225,7 @@ static void handle_internal_command(int argc, const char **argv, char **envp) @@ -225,7 +225,7 @@ static void handle_internal_command(int argc, const char **argv, char **envp)
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 },

34
t/t1300-repo-config.sh

@ -436,6 +436,40 @@ test_expect_success numbers ' @@ -436,6 +436,40 @@ test_expect_success numbers '
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"

4
unpack-trees.c

@ -414,10 +414,6 @@ static void verify_uptodate(struct cache_entry *ce, @@ -414,10 +414,6 @@ static void verify_uptodate(struct cache_entry *ce,
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);

Loading…
Cancel
Save