diff --git a/Documentation/RelNotes/1.7.8.txt b/Documentation/RelNotes/1.7.8.txt index f53845f693..1da562e715 100644 --- a/Documentation/RelNotes/1.7.8.txt +++ b/Documentation/RelNotes/1.7.8.txt @@ -139,6 +139,10 @@ included in this release. credentials. (merge deba493 jk/http-auth later to maint). + * "git blame" was aborted if started from an uncommitted content and + the path had the textconv filter in effect. + (merge 8518088 ss/blame-textconv-fake-working-tree later to maint). + * "git branch -m/-M" advertised to update RENAME_REF ref in the commit log message that introduced the feature but not anywhere in the documentation, and never did update such a ref anyway. This @@ -170,7 +174,7 @@ included in this release. --- exec >/var/tmp/1 -O=v1.7.8-rc0-32-g8e3565f +O=v1.7.8-rc0-48-g92622e6 echo O=$(git describe --always master) git log --first-parent --oneline --reverse ^$O master echo diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index 56dc9d6683..cc8a3d27d5 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v1.7.8-rc0 +DEF_VER=v1.7.8-rc1 LF=' ' diff --git a/builtin/blame.c b/builtin/blame.c index 86c0537cbb..80febbe420 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -2096,6 +2096,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt, if (!contents_from || strcmp("-", contents_from)) { struct stat st; const char *read_from; + char *buf_ptr; unsigned long buf_len; if (contents_from) { @@ -2113,10 +2114,8 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt, switch (st.st_mode & S_IFMT) { case S_IFREG: if (DIFF_OPT_TST(opt, ALLOW_TEXTCONV) && - textconv_object(read_from, mode, null_sha1, &buf.buf, &buf_len)) { - buf.alloc = buf_len; - buf.len = buf_len; - } + textconv_object(read_from, mode, null_sha1, &buf_ptr, &buf_len)) + strbuf_attach(&buf, buf_ptr, buf_len, buf_len + 1); else if (strbuf_read_file(&buf, read_from, st.st_size) != st.st_size) die_errno("cannot open or read '%s'", read_from); break;