зеркало из https://github.com/microsoft/git.git
Merge branch 'maint'
* maint: Update draft release notes to 1.6.6.1 grep: NUL terminate input from a file fast-import: tag may point to any object type
This commit is contained in:
Коммит
e33fd3c326
|
@ -4,12 +4,27 @@ Git v1.6.6.1 Release Notes
|
|||
Fixes since v1.6.6
|
||||
------------------
|
||||
|
||||
* "git branch -a name" wasn't diagnosed as an error.
|
||||
|
||||
* "git fast-import" choked when fed a tag that do not point at a
|
||||
commit.
|
||||
|
||||
* "git grep" finding from work tree files could have fed garbage to
|
||||
the underlying regexec(3).
|
||||
|
||||
* "git grep -L" didn't show empty files (they should never match, and
|
||||
they should always appear in -L output as unmatching).
|
||||
|
||||
* http-backend was not listed in the command list in the documentation.
|
||||
|
||||
* Building on FreeBSD (both 7 and 8) needs OLD_ICONV set in the Makefile
|
||||
|
||||
* "git checkout -m some-branch" while on an unborn branch crashed.
|
||||
|
||||
Other minor documentation updates are included.
|
||||
|
||||
--
|
||||
exec >/var/tmp/1
|
||||
O=v1.6.6-4-gd828fdb
|
||||
O=v1.6.6-39-g6304c40
|
||||
echo O=$(git describe maint)
|
||||
git shortlog --no-merges $O..maint
|
||||
|
|
|
@ -205,6 +205,7 @@ static int grep_file(struct grep_opt *opt, const char *filename)
|
|||
return 0;
|
||||
}
|
||||
close(i);
|
||||
data[sz] = 0;
|
||||
if (opt->relative && opt->prefix_length)
|
||||
filename = quote_path_relative(filename, -1, &buf, opt->prefix);
|
||||
i = grep_buffer(opt, filename, data, sz);
|
||||
|
|
|
@ -2356,6 +2356,7 @@ static void parse_new_tag(void)
|
|||
struct tag *t;
|
||||
uintmax_t from_mark = 0;
|
||||
unsigned char sha1[20];
|
||||
enum object_type type;
|
||||
|
||||
/* Obtain the new tag name from the rest of our command */
|
||||
sp = strchr(command_buf.buf, ' ') + 1;
|
||||
|
@ -2376,19 +2377,18 @@ static void parse_new_tag(void)
|
|||
s = lookup_branch(from);
|
||||
if (s) {
|
||||
hashcpy(sha1, s->sha1);
|
||||
type = OBJ_COMMIT;
|
||||
} else if (*from == ':') {
|
||||
struct object_entry *oe;
|
||||
from_mark = strtoumax(from + 1, NULL, 10);
|
||||
oe = find_mark(from_mark);
|
||||
if (oe->type != OBJ_COMMIT)
|
||||
die("Mark :%" PRIuMAX " not a commit", from_mark);
|
||||
type = oe->type;
|
||||
hashcpy(sha1, oe->sha1);
|
||||
} else if (!get_sha1(from, sha1)) {
|
||||
unsigned long size;
|
||||
char *buf;
|
||||
|
||||
buf = read_object_with_reference(sha1,
|
||||
commit_type, &size, sha1);
|
||||
buf = read_sha1_file(sha1, &type, &size);
|
||||
if (!buf || size < 46)
|
||||
die("Not a valid commit: %s", from);
|
||||
free(buf);
|
||||
|
@ -2413,7 +2413,7 @@ static void parse_new_tag(void)
|
|||
"object %s\n"
|
||||
"type %s\n"
|
||||
"tag %s\n",
|
||||
sha1_to_hex(sha1), commit_type, t->name);
|
||||
sha1_to_hex(sha1), typename(type), t->name);
|
||||
if (tagger)
|
||||
strbuf_addf(&new_data,
|
||||
"tagger %s\n", tagger);
|
||||
|
|
Загрузка…
Ссылка в новой задаче