to be used in a rare event that merges histories of two projects
that started their lives independently.
+ * "git pull" has been taught to pass --allow-unrelated-histories
+ option to underlying "git merge".
+
* "git apply -v" learned to report paths in the patch that were
skipped via --include/--exclude mechanism or being outside the
current working directory.
formulating a message ID.
(merge f916ab0 ew/send-email-readable-message-id later to maint).
+ * "git rerere" can encounter two or more files with the same conflict
+ signature that have to be resolved in different ways, but there was
+ no way to record these separate resolutions.
+ (merge 890fca8 jc/rerere-multi later to maint).
+
Performance, Internal Implementation, Development Support etc.
Git repository.
(merge 274db84 jk/check-repository-format later to maint).
+ * Code restructuring around the "refs" area to prepare for pluggable
+ refs backends.
+
+ * Sources to many test helper binaries (and the generated helpers)
+ have been moved to t/helper/ subdirectory to reduce clutter at the
+ top level of the tree.
+
+ Note that this can break your tests if you check out revisions
+ across the merge boundary of this topic, e0b58519 (Merge branch
+ 'nd/test-helpers', 2016-04-29), as bin-wrappers/test-* are not
+ rebuilt to point the underlying executables. For now, "make
+ distclean" is your friend.
+
+ * Unify internal logic between "git tag -v" and "git verify-tag"
+ commands by making one directly call into the other.
+ (merge bef234b st/verify-tag later to maint).
+
Also contains various documentation updates and code clean-ups.
See http://thread.gmane.org/gmane.comp.version-control.git/291853
(merge e53a64b ad/cygwin-wants-rename later to maint).
+ * "merge-octopus" strategy did not ensure that the index is clean
+ when merge begins.
+
+ * When "git merge" notices that the merge can be resolved purely at
+ the tree level (without having to merge blobs) and the resulting
+ tree happens to already exist in the object store, it forgot to
+ update the index, which lead to an inconsistent state for later
+ operations.
+
+ * "git submodule" reports the paths of submodules the command
+ recurses into, but this was incorrect when the command was not run
+ from the root level of the superproject.
+ (merge 2ab5660 sb/submodule-path-misc-bugs later to maint).
+
+ * The "user.useConfigOnly" configuration variable makes it an error
+ if users do not explicitly set user.name and user.email. However,
+ its check was not done early enough and allowed another error to
+ trigger, reporting that the default value we guessed from the
+ system setting was unusable. This was a suboptimal end-user
+ experience as we want the users to set user.name/user.email without
+ relying on the auto-detection at all.
+ (merge d3c06c1 da/user-useconfigonly later to maint).
+
+ * "git mv old new" did not adjust the path for a submodule that lives
+ as a subdirectory inside old/ directory correctly.
+ (merge a127331 sb/mv-submodule-fix later to maint).
+
+ * "git replace -e" did not honour "core.editor" configuration.
+ (merge 36b1437 js/replace-edit-use-editor-configuration later to maint).
+
+ * "git push" from a corrupt repository that attempts to push a large
+ number of refs deadlocked; the thread to relay rejection notices
+ for these ref updates blocked on writing them to the main thread,
+ after the main thread at the receiving end notices that the push
+ failed and decides not to read these notices and return a failure.
+ (merge c4b2751 jk/push-client-deadlock-fix later to maint).
+
+ * mmap emulation on Windows has been optimized and work better without
+ consuming paging store when not needed.
+ (merge d5425d1 js/win32-mmap later to maint).
+
* Other minor clean-ups and documentation updates
(merge aed7480 mm/lockfile-error-message later to maint).
(merge bfee614 jc/index-pack later to maint).