diff --git a/Documentation/RelNotes/1.7.10.3.txt b/Documentation/RelNotes/1.7.10.3.txt index 153bf14032e81886229ee2d8ae8338cf4613804b..703fbf1d60a7c2689af98bd368cd870fc954ea09 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/git-config.txt b/Documentation/git-config.txt index 3f5d216a09e4c6bf6ed3351d074a72e782f005ed..d9463cb3874181456138d4ca54da4e3540bbeb4f 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/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c index a517f1794a1c1bcc0939ad8b81d482356c20d2ba..d42015d8672d7a929758f69371eacbbc59c92888 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,