@@ -110,6 +110,33 @@ UI, Workflows & Features
110110 * You can now set http.[<url>.]pinnedpubkey to specify the pinned
111111 public key when building with recent enough versions of libcURL.
112112
113+ * The configuration system has been taught to phrase where it found a
114+ bad configuration variable in a better way in its error messages.
115+ "git config" learnt a new "--show-origin" option to indicate where
116+ the values come from.
117+
118+ * The "credential-cache" daemon process used to run in whatever
119+ directory it happened to start in, but this made umount(2)ing the
120+ filesystem that houses the repository harder; now the process
121+ chdir()s to the directory that house its own socket on startup.
122+
123+ * When "git submodule update" did not result in fetching the commit
124+ object in the submodule that is referenced by the superproject, the
125+ command learned to retry another fetch, specifically asking for
126+ that commit that may not be connected to the refs it usually
127+ fetches.
128+
129+ * "git merge-recursive" learned "--no-renames" option to disable its
130+ rename detection logic.
131+
132+ * Across the transition at around Git version 2.0, the user used to
133+ get a pretty loud warning when running "git push" without setting
134+ push.default configuration variable. We no longer warn, given that
135+ the transition is over long time ago.
136+
137+ * README has been renamed to README.md and its contents got tweaked
138+ slightly to make it easier on the eyes.
139+
113140
114141Performance, Internal Implementation, Development Support etc.
115142
@@ -179,6 +206,34 @@ Performance, Internal Implementation, Development Support etc.
179206 * Help those who debug http(s) part of the system.
180207 (merge 0054045 sp/remote-curl-ssl-strerror later to maint).
181208
209+ * The internal API to interact with "remote.*" configuration
210+ variables has been streamlined.
211+
212+ * The ref-filter's format-parsing code has been refactored, in
213+ preparation for "branch --format" and friends.
214+
215+ * Traditionally, the tests that try commands that work on the
216+ contents in the working tree were named with "worktree" in their
217+ filenames, but with the recent addition of "git worktree"
218+ subcommand, whose tests are also named similarly, it has become
219+ harder to tell them apart. The traditional tests have been renamed
220+ to use "work-tree" instead in an attempt to differentiate them.
221+ (merge 5549029 mg/work-tree-tests later to maint).
222+
223+ * Many codepaths forget to check return value from git_config_set();
224+ the function is made to die() to make sure we do not proceed when
225+ setting a configuration variable failed.
226+ (merge 3d18064 ps/config-error later to maint).
227+
228+ * Handling of errors while writing into our internal asynchronous
229+ process has been made more robust, which reduces flakiness in our
230+ tests.
231+ (merge 43f3afc jk/epipe-in-async later to maint).
232+
233+ * There is a new DEVELOPER knob that enables many compiler warning
234+ options in the Makefile.
235+
236+
182237Also contains various documentation updates and code clean-ups.
183238
184239
@@ -320,4 +375,44 @@ notes for details).
320375 broken in 2.6.0 timeframe when the command was rewritten in C.
321376 (merge 708b8cc jc/am-i-v-fix later to maint).
322377
378+ * "git merge-tree" used to mishandle "both sides added" conflict with
379+ its own "create a fake ancestor file that has the common parts of
380+ what both sides have added and do a 3-way merge" logic; this has
381+ been updated to use the usual "3-way merge with an empty blob as
382+ the fake common ancestor file" approach used in the rest of the
383+ system.
384+ (merge 907681e jk/no-diff-emit-common later to maint).
385+
386+ * The memory ownership rule of fill_textconv() API, which was a bit
387+ tricky, has been documented a bit better.
388+ (merge a64e6a4 jk/more-comments-on-textconv later to maint).
389+
390+ * Update various codepaths to avoid manually-counted malloc().
391+ (merge 08c95df jk/tighten-alloc later to maint).
392+
393+ * The documentation did not clearly state that the 'simple' mode is
394+ now the default for "git push" when push.default configuration is
395+ not set.
396+ (merge f6b1fb3 mm/push-simple-doc later to maint).
397+
398+ * Recent versions of GNU grep are pickier when their input contains
399+ arbitrary binary data, which some of our tests uses. Rewrite the
400+ tests to sidestep the problem.
401+ (merge 3b1442d jk/grep-binary-workaround-in-test later to maint).
402+
403+ * A helper function "git submodule" uses since v2.7.0 to list the
404+ modules that match the pathspec argument given to its subcommands
405+ (e.g. "submodule add <repo> <path>") has been fixed.
406+ (merge 2b56bb7 sb/submodule-module-list-fix later to maint).
407+
408+ * "git config section.var value" to set a value in per-repository
409+ configuration file failed when it was run outside any repository,
410+ but didn't say the reason correctly.
411+ (merge 638fa62 js/config-set-in-non-repository later to maint).
412+
323413 * Other minor clean-ups and documentation updates
414+ (merge f459823 ak/extract-argv0-last-dir-sep later to maint).
415+ (merge 63ca1c0 ak/git-strip-extension-from-dashed-command later to maint).
416+ (merge 4867f11 ps/plug-xdl-merge-leak later to maint).
417+ (merge 4938686 dt/initial-ref-xn-commit-doc later to maint).
418+ (merge 9537f21 ma/update-hooks-sample-typofix later to maint).
0 commit comments