diff --git a/Documentation/RelNotes/1.7.10.3.txt b/Documentation/RelNotes/1.7.10.3.txt index 153bf14032..703fbf1d60 100644 --- a/Documentation/RelNotes/1.7.10.3.txt +++ b/Documentation/RelNotes/1.7.10.3.txt @@ -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. diff --git a/Documentation/RelNotes/1.7.11.txt b/Documentation/RelNotes/1.7.11.txt index 3f4c63ab30..7931f77076 100644 --- a/Documentation/RelNotes/1.7.11.txt +++ b/Documentation/RelNotes/1.7.11.txt @@ -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 diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt index 3f5d216a09..d9463cb387 100644 --- a/Documentation/git-config.txt +++ b/Documentation/git-config.txt @@ -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" diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index c92dbed2ec..ebbe873494 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v1.7.10.GIT +DEF_VER=v1.7.11-rc0 LF=' ' diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c index 4ee6a88d75..bf93b043b7 100644 --- a/builtin/fmt-merge-msg.c +++ b/builtin/fmt-merge-msg.c @@ -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,