Sync with 1.7.10.3
authorJunio C Hamano <gitster@pobox.com>
Fri, 25 May 2012 18:36:25 +0000 (11:36 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 25 May 2012 18:36:25 +0000 (11:36 -0700)
Documentation/RelNotes/1.7.10.3.txt
Documentation/git-config.txt
builtin/fmt-merge-msg.c
index 153bf14032e81886229ee2d8ae8338cf4613804b..703fbf1d60a7c2689af98bd368cd870fc954ea09 100644 (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.
index 3f5d216a09e4c6bf6ed3351d074a72e782f005ed..d9463cb3874181456138d4ca54da4e3540bbeb4f 100644 (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"
index a517f1794a1c1bcc0939ad8b81d482356c20d2ba..d42015d8672d7a929758f69371eacbbc59c92888 100644 (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,