Sync with Git 2.25.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/Documentation/RelNotes/2.25.2.txt b/Documentation/RelNotes/2.25.2.txt
new file mode 100644
index 0000000..303c53a
--- /dev/null
+++ b/Documentation/RelNotes/2.25.2.txt
@@ -0,0 +1,60 @@
+Git 2.25.2 Release Notes
+========================
+
+Fixes since v2.25.1
+-------------------
+
+ * Minor bugfixes to "git add -i" that has recently been rewritten in C.
+
+ * An earlier update to show the location of working tree in the error
+   message did not consider the possibility that a git command may be
+   run in a bare repository, which has been corrected.
+
+ * The "--recurse-submodules" option of various subcommands did not
+   work well when run in an alternate worktree, which has been
+   corrected.
+
+ * Running "git rm" on a submodule failed unnecessarily when
+   .gitmodules is only cache-dirty, which has been corrected.
+
+ * "git rebase -i" identifies existing commits in its todo file with
+   their abbreviated object name, which could become ambigous as it
+   goes to create new commits, and has a mechanism to avoid ambiguity
+   in the main part of its execution.  A few other cases however were
+   not covered by the protection against ambiguity, which has been
+   corrected.
+
+ * The index-pack code now diagnoses a bad input packstream that
+   records the same object twice when it is used as delta base; the
+   code used to declare a software bug when encountering such an
+   input, but it is an input error.
+
+ * The code to automatically shrink the fan-out in the notes tree had
+   an off-by-one bug, which has been killed.
+
+ * "git check-ignore" did not work when the given path is explicitly
+   marked as not ignored with a negative entry in the .gitignore file.
+
+ * The merge-recursive machinery failed to refresh the cache entry for
+   a merge result in a couple of places, resulting in an unnecessary
+   merge failure, which has been fixed.
+
+ * Fix for a bug revealed by a recent change to make the protocol v2
+   the default.
+
+ * "git merge signed-tag" while lacking the public key started to say
+   "No signature", which was utterly wrong.  This regression has been
+   reverted.
+
+ * MinGW's poll() emulation has been improved.
+
+ * "git show" and others gave an object name in raw format in its
+   error output, which has been corrected to give it in hex.
+
+ * Both "git ls-remote -h" and "git grep -h" give short usage help,
+   like any other Git subcommand, but it is not unreasonable to expect
+   that the former would behave the same as "git ls-remote --head"
+   (there is no other sensible behaviour for the latter).  The
+   documentation has been updated in an attempt to clarify this.
+
+Also contains various documentation updates, code clean-ups and minor fixups.
diff --git a/Documentation/RelNotes/2.26.0.txt b/Documentation/RelNotes/2.26.0.txt
index 98b2ed8..719750d 100644
--- a/Documentation/RelNotes/2.26.0.txt
+++ b/Documentation/RelNotes/2.26.0.txt
@@ -188,7 +188,6 @@
    of gcc and clang.
 
  * Minor bugfixes to "git add -i" that has recently been rewritten in C.
-   (merge 849e43cc18 js/builtin-add-i-cmds later to maint).
 
  * "git fetch --refmap=" option has got a better documentation.
 
@@ -211,17 +210,14 @@
  * The "--recurse-submodules" option of various subcommands did not
    work well when run in an alternate worktree, which has been
    corrected.
-   (merge a9472afb63 pb/recurse-submodule-in-worktree-fix later to maint).
 
  * Futureproofing a test not to depend on the current implementation
    detail.
 
  * Running "git rm" on a submodule failed unnecessarily when
    .gitmodules is only cache-dirty, which has been corrected.
-   (merge 7edee32985 dt/submodule-rm-with-stale-cache later to maint).
 
  * C pedantry ;-) fix.
-   (merge cf82bff73f jk/clang-sanitizer-fixes later to maint).
 
  * "git grep --no-index" should not get affected by the contents of
    the .gitmodules file but when "--recurse-submodules" is given or
@@ -238,7 +234,6 @@
    in the main part of its execution.  A few other cases however were
    not covered by the protection against ambiguity, which has been
    corrected.
-   (merge 26027625dd js/rebase-i-with-colliding-hash later to maint).
 
  * Allow the rebase.missingCommitsCheck configuration to kick in when
    "rebase --edit-todo" and "rebase --continue" restarts the procedure.
@@ -252,13 +247,12 @@
 
  * The code to automatically shrink the fan-out in the notes tree had
    an off-by-one bug, which has been killed.
-   (merge dbc27477ff jh/notes-fanout-fix later to maint).
 
  * The index-pack code now diagnoses a bad input packstream that
    records the same object twice when it is used as delta base; the
    code used to declare a software bug when encountering such an
    input, but it is an input error.
-   (merge a21781011f jk/index-pack-dupfix later to maint).
+
 
  * The code to compute the commit-graph has been taught to use a more
    robust way to tell if two object directories refer to the same
@@ -270,23 +264,18 @@
    branch.<name>.pushRemote is now also updated.
 
  * Update to doc-diff.
-   (merge 2607d39da3 jk/doc-diff-parallel later to maint).
 
  * Doc markup fix.
-   (merge 0aa6ce3094 jk/push-option-doc-markup-fix later to maint).
 
  * "git check-ignore" did not work when the given path is explicitly
    marked as not ignored with a negative entry in the .gitignore file.
-   (merge 7ec8125fba en/check-ignore later to maint).
 
  * The merge-recursive machinery failed to refresh the cache entry for
    a merge result in a couple of places, resulting in an unnecessary
    merge failure, which has been fixed.
-   (merge fb1c18fc46 en/t3433-rebase-stat-dirty-failure later to maint).
 
  * Fix for a bug revealed by a recent change to make the protocol v2
    the default.
-   (merge 3e96c66805 ds/partial-clone-fixes later to maint).
 
  * In rare cases "git worktree add <path>" could think that <path>
    was already a registered worktree even when it wasn't and refuse
@@ -311,14 +300,11 @@
  * "git merge signed-tag" while lacking the public key started to say
    "No signature", which was utterly wrong.  This regression has been
    reverted.
-   (merge 0106b1d4be hi/gpg-use-check-signature later to maint).
 
  * MinGW's poll() emulation has been improved.
-   (merge 94f4d01932 am/mingw-poll-fix later to maint).
 
  * "git show" and others gave an object name in raw format in its
    error output, which has been corrected to give it in hex.
-   (merge 237a28173f hd/show-one-mergetag-fix later to maint).
 
  * "git fetch" over HTTP walker protocol did not show any progress
    output.  We inherently do not know how much work remains, but still
@@ -330,10 +316,8 @@
    that the former would behave the same as "git ls-remote --head"
    (there is no other sensible behaviour for the latter).  The
    documentation has been updated in an attempt to clarify this.
-   (merge 1ff466c018 jc/doc-single-h-is-for-help later to maint).
 
  * Other code cleanup, docfix, build fix, etc.
-   (merge 26f924d50e en/simplify-check-updates-in-unpack-trees later to maint).
    (merge d0d0a357a1 am/update-pathspec-f-f-tests later to maint).
    (merge f94f7bd00d am/test-pathspec-f-f-error-cases later to maint).
    (merge c513a958b6 ss/t6025-modernize later to maint).
@@ -344,20 +328,13 @@
    (merge 7a9f8ca805 rs/parse-options-concat-dup later to maint).
    (merge 517b60564e rs/strbuf-insertstr later to maint).
    (merge f696a2b1c8 jk/mailinfo-cleanup later to maint).
-   (merge 076ee3e8a2 js/test-write-junit-xml-fix later to maint).
    (merge de26f02db1 js/test-avoid-pipe later to maint).
-   (merge bfe2bbb47f js/test-unc-fetch later to maint).
-   (merge 08809c09aa js/mingw-open-in-gdb later to maint).
-   (merge cc4f2eb828 jk/doc-credential-helper later to maint).
-   (merge e0020b2f82 es/outside-repo-errmsg-hints later to maint).
    (merge a2dc43414c es/doc-mentoring later to maint).
-   (merge 539052f42f jk/run-command-formatfix later to maint).
    (merge 02bbbe9df9 es/worktree-cleanup later to maint).
    (merge 2ce6d075fa rs/micro-cleanups later to maint).
    (merge 27f182b3fc rs/blame-typefix-for-fingerprint later to maint).
    (merge 3c29e21eb0 ma/test-cleanup later to maint).
    (merge 240fc04f81 ag/rebase-remove-redundant-code later to maint).
-   (merge 7f487ce062 js/ci-windows-update later to maint).
    (merge d68ce906c7 rs/commit-graph-code-simplification later to maint).
    (merge a51d9e8f07 rj/t1050-use-test-path-is-file later to maint).
    (merge fd0bc17557 kk/complete-diff-color-moved later to maint).
diff --git a/unicode-width.h b/unicode-width.h
index c9d0276..b50e686 100644
--- a/unicode-width.h
+++ b/unicode-width.h
@@ -59,7 +59,7 @@
 { 0x0B3F, 0x0B3F },
 { 0x0B41, 0x0B44 },
 { 0x0B4D, 0x0B4D },
-{ 0x0B56, 0x0B56 },
+{ 0x0B55, 0x0B56 },
 { 0x0B62, 0x0B63 },
 { 0x0B82, 0x0B82 },
 { 0x0BC0, 0x0BC0 },
@@ -82,6 +82,7 @@
 { 0x0D41, 0x0D44 },
 { 0x0D4D, 0x0D4D },
 { 0x0D62, 0x0D63 },
+{ 0x0D81, 0x0D81 },
 { 0x0DCA, 0x0DCA },
 { 0x0DD2, 0x0DD4 },
 { 0x0DD6, 0x0DD6 },
@@ -139,7 +140,7 @@
 { 0x1A65, 0x1A6C },
 { 0x1A73, 0x1A7C },
 { 0x1A7F, 0x1A7F },
-{ 0x1AB0, 0x1ABE },
+{ 0x1AB0, 0x1AC0 },
 { 0x1B00, 0x1B03 },
 { 0x1B34, 0x1B34 },
 { 0x1B36, 0x1B3A },
@@ -182,6 +183,7 @@
 { 0xA806, 0xA806 },
 { 0xA80B, 0xA80B },
 { 0xA825, 0xA826 },
+{ 0xA82C, 0xA82C },
 { 0xA8C4, 0xA8C5 },
 { 0xA8E0, 0xA8F1 },
 { 0xA8FF, 0xA8FF },
@@ -223,6 +225,7 @@
 { 0x10A3F, 0x10A3F },
 { 0x10AE5, 0x10AE6 },
 { 0x10D24, 0x10D27 },
+{ 0x10EAB, 0x10EAC },
 { 0x10F46, 0x10F50 },
 { 0x11001, 0x11001 },
 { 0x11038, 0x11046 },
@@ -238,6 +241,7 @@
 { 0x11180, 0x11181 },
 { 0x111B6, 0x111BE },
 { 0x111C9, 0x111CC },
+{ 0x111CF, 0x111CF },
 { 0x1122F, 0x11231 },
 { 0x11234, 0x11234 },
 { 0x11236, 0x11237 },
@@ -273,6 +277,9 @@
 { 0x11727, 0x1172B },
 { 0x1182F, 0x11837 },
 { 0x11839, 0x1183A },
+{ 0x1193B, 0x1193C },
+{ 0x1193E, 0x1193E },
+{ 0x11943, 0x11943 },
 { 0x119D4, 0x119D7 },
 { 0x119DA, 0x119DB },
 { 0x119E0, 0x119E0 },
@@ -305,6 +312,7 @@
 { 0x16B30, 0x16B36 },
 { 0x16F4F, 0x16F4F },
 { 0x16F8F, 0x16F92 },
+{ 0x16FE4, 0x16FE4 },
 { 0x1BC9D, 0x1BC9E },
 { 0x1BCA0, 0x1BCA3 },
 { 0x1D167, 0x1D169 },
@@ -376,8 +384,7 @@
 { 0x3099, 0x30FF },
 { 0x3105, 0x312F },
 { 0x3131, 0x318E },
-{ 0x3190, 0x31BA },
-{ 0x31C0, 0x31E3 },
+{ 0x3190, 0x31E3 },
 { 0x31F0, 0x321E },
 { 0x3220, 0x3247 },
 { 0x3250, 0x4DBF },
@@ -392,9 +399,11 @@
 { 0xFE68, 0xFE6B },
 { 0xFF01, 0xFF60 },
 { 0xFFE0, 0xFFE6 },
-{ 0x16FE0, 0x16FE3 },
+{ 0x16FE0, 0x16FE4 },
+{ 0x16FF0, 0x16FF1 },
 { 0x17000, 0x187F7 },
-{ 0x18800, 0x18AF2 },
+{ 0x18800, 0x18CD5 },
+{ 0x18D00, 0x18D08 },
 { 0x1B000, 0x1B11E },
 { 0x1B150, 0x1B152 },
 { 0x1B164, 0x1B167 },
@@ -429,20 +438,22 @@
 { 0x1F680, 0x1F6C5 },
 { 0x1F6CC, 0x1F6CC },
 { 0x1F6D0, 0x1F6D2 },
-{ 0x1F6D5, 0x1F6D5 },
+{ 0x1F6D5, 0x1F6D7 },
 { 0x1F6EB, 0x1F6EC },
-{ 0x1F6F4, 0x1F6FA },
+{ 0x1F6F4, 0x1F6FC },
 { 0x1F7E0, 0x1F7EB },
-{ 0x1F90D, 0x1F971 },
-{ 0x1F973, 0x1F976 },
-{ 0x1F97A, 0x1F9A2 },
-{ 0x1F9A5, 0x1F9AA },
-{ 0x1F9AE, 0x1F9CA },
+{ 0x1F90C, 0x1F93A },
+{ 0x1F93C, 0x1F945 },
+{ 0x1F947, 0x1F978 },
+{ 0x1F97A, 0x1F9CB },
 { 0x1F9CD, 0x1F9FF },
-{ 0x1FA70, 0x1FA73 },
+{ 0x1FA70, 0x1FA74 },
 { 0x1FA78, 0x1FA7A },
-{ 0x1FA80, 0x1FA82 },
-{ 0x1FA90, 0x1FA95 },
+{ 0x1FA80, 0x1FA86 },
+{ 0x1FA90, 0x1FAA8 },
+{ 0x1FAB0, 0x1FAB6 },
+{ 0x1FAC0, 0x1FAC2 },
+{ 0x1FAD0, 0x1FAD6 },
 { 0x20000, 0x2FFFD },
 { 0x30000, 0x3FFFD }
 };