Git fork

The fourth batch

Signed-off-by: Junio C Hamano <gitster@pobox.com>

+57
+57
Documentation/RelNotes/2.31.0.txt
··· 4 4 Updates since v2.30 5 5 ------------------- 6 6 7 + Backward incompatible and other important changes 8 + 9 + * The "pack-redundant" command, which has been left stale with almost 10 + unusable performance issues, now warns loudly when it gets used, as 11 + we no longer want to recommend its use (instead just "repack -d" 12 + instead). 13 + 14 + * The development community has adopted Contributor Covenant v2.0 to 15 + update from v1.4 that we have been using. 16 + 17 + 7 18 UI, Workflows & Features 8 19 9 20 * The "--format=%(trailers)" mechanism gets enhanced to make it ··· 29 40 * "git maintenance" learned to drive scheduled maintenance on 30 41 platforms whose native scheduling methods are not 'cron'. 31 42 43 + * After expiring a reflog and making a single commit, the reflog for 44 + the branch would record a single entry that knows both @{0} and 45 + @{1}, but we failed to answer "what commit were we on?", i.e. @{1} 46 + 47 + * "git bundle" learns "--stdin" option to read its refs from the 48 + standard input. Also, it now does not lose refs whey they point 49 + at the same object. 32 50 33 51 Performance, Internal Implementation, Development Support etc. 34 52 ··· 39 57 40 58 * The topological walk codepath is covered by new trace2 stats. 41 59 60 + * Update the Code-of-conduct to version 2.0 from the upstream (we've 61 + been using version 1.4). 62 + 63 + * "git mktag" validates its input using its own rules before writing 64 + a tag object---it has been updated to share the logic with "git 65 + fsck". 66 + 67 + * Two new ways to feed configuration variable-value pairs via 68 + environment variables have been introduced, and the way 69 + GIT_CONFIG_PARAMETERS encodes variable/value pairs has been tweaked 70 + to make it more robust. 71 + 72 + * Tests have been updated so that they do not to get affected by the 73 + name of the default branch "git init" creates. 74 + 75 + * "git fetch" learns to treat ref updates atomically in all-or-none 76 + fashion, just like "git push" does, with the new "--atomic" option. 77 + 42 78 43 79 Fixes since v2.30 44 80 ----------------- ··· 71 107 * Fix for procedure to building CI test environment for mac. 72 108 (merge 3831132ace jc/macos-install-dependencies-fix later to maint). 73 109 110 + * The implementation of "git branch --sort" wrt the detached HEAD 111 + display has always been hacky, which has been cleaned up. 112 + (merge 4045f659bd ab/branch-sort later to maint). 113 + 114 + * Newline characters in the host and path part of git:// URL are 115 + now forbidden. 116 + (merge 6aed56736b jk/forbid-lf-in-git-url later to maint). 117 + 118 + * "git diff" showed a submodule working tree with untracked cruft as 119 + "Submodule commit <objectname>-dirty", but a natural expectation is 120 + that the "-dirty" indicator would align with "git describe --dirty", 121 + which does not consider having untracked files in the working tree 122 + as source of dirtiness. The inconsistency has been fixed. 123 + 124 + * When more than one commit with the same patch ID appears on one 125 + side, "git log --cherry-pick A...B" did not exclude them all when a 126 + commit with the same patch ID appears on the other side. Now it 127 + does. 128 + (merge c9e3a4e76d jk/log-cherry-pick-duplicate-patches later to maint). 129 + 74 130 * Other code cleanup, docfix, build fix, etc. 75 131 (merge 505a276596 pk/subsub-fetch-fix-take-2 later to maint). 76 132 (merge 33fc56253b fc/t6030-bisect-reset-removes-auxiliary-files later to maint). ··· 89 145 (merge 52fc4f195c dl/p4-encode-after-kw-expansion later to maint). 90 146 (merge 4eb56b56e7 bc/doc-status-short later to maint). 91 147 (merge a4a1ca22ef tb/local-clone-race-doc later to maint). 148 + (merge 6a8c89d053 ma/more-opaque-lock-file later to maint).