diff options
| author | Junio C Hamano <gitster@pobox.com> | 2010-01-18 18:16:19 -0800 | 
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2010-01-18 18:16:19 -0800 | 
| commit | e33fd3c326831e70f6ca078e0f1c26ec147cb5b3 (patch) | |
| tree | af0d9467c65cc9cb2d71a93451057d239c14181c | |
| parent | 4a88fb7ffc32bdfdfab2605430514d92aba25b8a (diff) | |
| parent | 6f9752d2e29ecbd5d9489e57bfcd28fb030cba97 (diff) | |
| download | git-e33fd3c326831e70f6ca078e0f1c26ec147cb5b3.tar.gz | |
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
| -rw-r--r-- | Documentation/RelNotes-1.6.6.1.txt | 17 | ||||
| -rw-r--r-- | builtin-grep.c | 1 | ||||
| -rw-r--r-- | fast-import.c | 10 | 
3 files changed, 22 insertions, 6 deletions
diff --git a/Documentation/RelNotes-1.6.6.1.txt b/Documentation/RelNotes-1.6.6.1.txt index 4c88bebb90..406fbc4e0f 100644 --- a/Documentation/RelNotes-1.6.6.1.txt +++ b/Documentation/RelNotes-1.6.6.1.txt @@ -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 diff --git a/builtin-grep.c b/builtin-grep.c index 529461fb8f..cea973ba6b 100644 --- a/builtin-grep.c +++ b/builtin-grep.c @@ -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); diff --git a/fast-import.c b/fast-import.c index 52d33bcba8..25c3588385 100644 --- a/fast-import.c +++ b/fast-import.c @@ -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);  | 
