Sync with 1.7.11-rc0

By Junio C Hamano (2) and others
* master:
  Git 1.7.11-rc0
  Git 1.7.10.3
  fmt-merge-message: add empty line between tag and signature verification
  config doc: remove confusion about relative GIT_DIR from FILES section
This commit is contained in:
Junio C Hamano
2012-05-25 12:21:03 -07:00
5 changed files with 43 additions and 26 deletions

View File

@@ -6,10 +6,6 @@ Fixes since v1.7.10.2
* The message file for German translation has been updated a bit.
* "git status --porcelain" ignored "--branch" option by mistake. The
output for "git status --branch -z" was also incorrect and did not
terminate the record for the current branch name with NUL as asked.
* Running "git checkout" on an unborn branch used to corrupt HEAD.
* When checking out another commit from an already detached state, we
@@ -21,6 +17,9 @@ Fixes since v1.7.10.2
"checkout" phase; when run without any "--quiet" option, it should
give progress to the lengthy operation.
* The directory path used in "git diff --no-index", when it recurses
down, was broken with a recent update after v1.7.10.1 release.
* "log -z --pretty=tformat:..." did not terminate each record with
NUL. The fix is not entirely correct when the output also asks for
--patch and/or --stat, though.
@@ -29,4 +28,16 @@ Fixes since v1.7.10.2
broken and gave undue precedence to configured log.date, causing
"git stash list" to show "stash@{time stamp string}".
* "git status --porcelain" ignored "--branch" option by mistake. The
output for "git status --branch -z" was also incorrect and did not
terminate the record for the current branch name with NUL as asked.
* When a submodule repository uses alternate object store mechanism,
some commands that were started from the superproject did not
notice it and failed with "No such object" errors. The subcommands
of "git submodule" command that recursed into the submodule in a
separate process were OK; only the ones that cheated and peeked
directly into the submodule's repository from the primary process
were affected.
Also contains minor fixes and documentation updates.

View File

@@ -79,6 +79,9 @@ Foreign Interface
Performance and Internal Implementation (please report possible regressions)
* Bash completion script (in contrib/) have been cleaned up to make
future work on it simpler.
* An experimental "version 4" format of the index file has been
introduced to reduce on-disk footprint and I/O overhead.
@@ -120,23 +123,26 @@ Unless otherwise noted, all the fixes since v1.7.10 in the maintenance
releases are contained in this release (see release notes to them for
details).
* When a submodule repository uses alternate object store mechanism,
some commands that were started from the superproject did not
notice it and failed with "No such object" errors. The subcommands
of "git submodule" command that properly recursed into the
submodule in a separate process were OK; only the ones that cheated
and peeked directly into the submodule's repository from the
primary process were affected.
(merge 5e73633 hv/submodule-alt-odb later to maint).
* The progress indicator for a large "git checkout" was sent to
stderr even if it is not a terminal.
(merge e9fc64c ap/checkout-no-progress-for-non-tty later to maint).
* The directory path used in "git diff --no-index", when it recurses
down, was broken with a recent update after v1.7.10.1 release.
(merge 176a335 bp/diff-no-index-strbuf-fix later to maint).
* A name taken from mailmap was copied into an internal buffer
incorrectly and could overun the buffer if it is too long.
(merge c9b4e9e jk/format-person-part-buffer-limit later to maint).
* "git status --porcelain" ignored "--branch" option by mistake. The
output for "git status --branch -z" was also incorrect and did not
terminate the record for the current branch name with NUL as asked.
(merge d4a6bf1 jk/maint-status-porcelain-z-b later to maint).
* A malformed commit object that has a header line chomped in the
middle could kill git with a NULL pointer dereference.
(merge a9c7a8a jk/pretty-commit-header-incomplete-line later to maint).
* An author/committer name that is a single character was mishandled
as an invalid name by mistake.
(merge d9955fd jk/ident-split-fix later to maint).
* "git grep -e '$pattern'", unlike the case where the patterns are
read from a file, did not treat individual lines in the given
pattern argument as separate regular expressions as it should.
(merge ec83061 rs/maint-grep-F later to maint).
* "git diff --stat" used to fully count a binary file with modified
execution bits whose contents is unmodified, which was not quite

View File

@@ -198,9 +198,7 @@ If not set explicitly with '--file', there are three files where
'git config' will search for configuration options:
$GIT_DIR/config::
Repository specific configuration file. (The filename is
of course relative to the repository root, not the working
directory.)
Repository specific configuration file.
~/.gitconfig::
User-specific configuration file. Also called "global"

View File

@@ -1,7 +1,7 @@
#!/bin/sh
GVF=GIT-VERSION-FILE
DEF_VER=v1.7.10.GIT
DEF_VER=v1.7.11-rc0
LF='
'

View File

@@ -462,7 +462,10 @@ static void fmt_tag_signature(struct strbuf *tagbuf,
strbuf_add(tagbuf, tag_body, buf + len - tag_body);
}
strbuf_complete_line(tagbuf);
strbuf_add_lines(tagbuf, "# ", sig->buf, sig->len);
if (sig->len) {
strbuf_addch(tagbuf, '\n');
strbuf_add_lines(tagbuf, "# ", sig->buf, sig->len);
}
}
static void fmt_merge_msg_sigs(struct strbuf *out)
@@ -627,8 +630,7 @@ int fmt_merge_msg(struct strbuf *in, struct strbuf *out,
rev.ignore_merges = 1;
rev.limited = 1;
if (suffixcmp(out->buf, "\n"))
strbuf_addch(out, '\n');
strbuf_complete_line(out);
for (i = 0; i < origins.nr; i++)
shortlog(origins.items[i].string,