Junio C Hamano  committed 2cd900f Merge with conflicts

Merge branch 'maint'

* maint:
Prepare for
Fix false positives in t3404 due to SHELL=/bin/false
close file on error in read_mmfile()


  • Participants
  • Parent commits d2559f7, 1736793
  • Branches master

Comments (0)

Files changed (3)

File Documentation/RelNotes/

+Git Release Notes
+ * The xfuncname pattern used by "git diff" and "git grep" to show the
+   last notable line in context were broken for python and ruby for a long
+   time.
+ * "git merge" into an unborn branch removed an untracked file "foo" from
+   the working tree when merged branch had "foo" (this fix was already in
+ but was omitted from the release notes by mistake).
+ * "git status -s" did not quote unprintable characters in paths as
+   documented.
+ * "git am --abort" used to always reset to the commit at the beginning of
+   the last "am" invocation that has stopped, losing any unrelated commits
+   that may have been made since then.  Now it refrains from doing so and
+   instead issues a warning.
+ * "git blame" incorrectly reused bogusly cached result of textconv
+   filter for files from the working tree.
+ * "git commit" used to abort after the user edited the log message
+   when the committer information was not correctly set up.  It now
+   aborts before starting the editor.
+ * "git commit --date=invalid" used to silently ignore the incorrectly
+   specified date; it is now diagnosed as an error.
+ * "git rebase --skip" to skip the last commit in a series used to fail
+   to run post-rewrite hook and to copy notes from old commits that have
+   successfully been rebased so far.  Now it do (backmerge ef88ad2).

File t/

 # "exec" commands are ran with the user shell by default, but this may
 # be non-POSIX. For example, if SHELL=zsh then ">file" doesn't work
 # to create a file. Unseting SHELL avoids such non-portable behavior
-# in tests.
+# in tests. It must be exported for it to take effect where needed.
+export SHELL
 test_expect_success 'rebase -i with the exec command' '
 	git checkout master &&

File xdiff-interface.c

 		return error("Could not open %s", filename);
 	sz = xsize_t(st.st_size);
 	ptr->ptr = xmalloc(sz ? sz : 1);
-	if (sz && fread(ptr->ptr, sz, 1, f) != 1)
+	if (sz && fread(ptr->ptr, sz, 1, f) != 1) {
+		fclose(f);
 		return error("Could not read %s", filename);
+	}
 	ptr->size = sz;
 	return 0;