* Scripts can ask Git that wildcard patterns in pathspecs they give do
not have any significance, i.e. take them as literal strings.
+ * The pathspec code learned to grok "foo/**/bar" as a pattern that
+ matches "bar" in 0-or-more levels of subdirectory in "foo".
+
+ * "git blame" (and "git diff") learned the "--no-follow" option.
+
+ * "git cherry-pick" can be used to replay a root commit to an unborn
+ branch.
+
* "git fetch --mirror" and fetch that uses other forms of refspec
with wildcard used to attempt to update a symbolic ref that match
the wildcard on the receiving end, which made little sense (the
is being exported, and uses the description for the branch, when
asked to write a cover letter for the series.
+ * "git format-patch" learned "-v $count" option, and prepends a
+ string "v$count-" to the names of its output files, and also
+ automatically sets the subject prefix to "PATCH v$count". This
+ allows patches from rerolled series to be stored under different
+ names and makes it easier to reuse cover letter messsages.
+
* "git push" now requires "-f" to update a tag, even if it is a
fast-forward, as tags are meant to be fixed points.
+ * When "git rebase" fails to generate patches to be applied (e.g. due
+ to oom), it failed to detect the failure and instead behaved as if
+ there were nothing to do. A workaround to use a temporary file has
+ been applied, but we probably would want to revisit this later, as
+ it hurts the common case of not failing at all.
+
* "git submodule" started learning a new mode to integrate with the
tip of the remote branch (as opposed to integrating with the commit
recorded in the superproject's gitlink).
* The implementation of "imap-send" has been updated to reuse xml
quoting code from http-push codepath.
+ * There is a simple-minded checker for the test scripts in t/
+ directory to catch most common mistakes (it is not enabled by
+ default).
+
Also contains minor documentation updates and code clean-ups.
signal and die. We ignore these signals now.
(merge 1250857 pf/editor-ignore-sigint later to maint).
+ * A child process that was killed by a signal (e.g. SIGINT) was
+ reported in an inconsistent way depending on how the process was
+ spawned by us, with or without a shell in between.
+ (merge 709ca73 jk/unify-exit-code-by-receiving-signal later to maint).
+
* After failing to create a temporary file using mkstemp(), failing
pathname was not reported correctly on some platforms.
(merge f7be59b jc/mkstemp-more-careful-error-reporting later to maint).
excess trailing blank lines.
(merge 5de7166 jc/apply-trailing-blank-removal later to maint).
+ * A tar archive created by "git archive" recorded a directory in a
+ way that made NetBSD's implementation of "tar" sometimes unhappy.
+ (merge 22f0dcd rs/leave-base-name-in-name-field-of-tar later to maint).
+
+ * "git archive" did not record uncompressed size in the header when
+ streaming a zip archive, which confused some implementations of unzip.
+ (merge 5ea2c84 rs/zip-with-uncompressed-size-in-the-header later to maint).
+
+ * When "git clone --separate-git-dir=$over_there" is interrupted, it
+ failed to remove the real location of the $GIT_DIR it created.
+ This was most visible when interrupting a submodule update.
+ (merge 9be1980 jl/interrupt-clone-remove-separate-git-dir later to maint).
+
* The way "git svn" asked for password using SSH_ASKPASS and
GIT_ASKPASS was not in line with the rest of the system.
(merge e9263e4 ss/svn-prompt later to maint).
index, the cache-tree data structure got corrupted.
(merge eec3e7e nd/invalidate-i-t-a-cache-tree later to maint).
+ * "git merge --no-edit" computed who were involved in the work done
+ on the side branch, even though that information is to be discarded
+ without getting seen in the editor.
+ (merge 9bcbb1c jc/maint-fmt-merge-msg-no-edit-lose-credit later to maint).
+
* "git merge" started calling prepare-commit-msg hook like "git
commit" does some time ago, but forgot to pay attention to the exit
status of the hook.
(merge 3e4141d ap/merge-stop-at-prepare-commit-msg-failure later to maint).
+ * When users spell "cc:" in lowercase in the fake "header" in the
+ trailer part, "git send-email" failed to pick up the addresses from
+ there. As e-mail headers field names are case insensitive, this
+ script should follow suit and treat "cc:" and "Cc:" the same way.
+ (merge 6310071 nz/send-email-headers-are-case-insensitive later to maint).
+
+ * Output from "git status --ignored" showed an unexpected interaction
+ with "--untracked".
+ (merge a45fb69 ap/status-ignored-in-ignored-directory later to maint).
+
* "gitweb", when sorting by age to show repositories with new
activities first, used to sort repositories with absolutely
nothing in it early, which was not very useful.