@@ -110,6 +110,33 @@ UI, Workflows & Features
110
110
* You can now set http.[<url>.]pinnedpubkey to specify the pinned
111
111
public key when building with recent enough versions of libcURL.
112
112
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
+
113
140
114
141
Performance, Internal Implementation, Development Support etc.
115
142
@@ -179,6 +206,34 @@ Performance, Internal Implementation, Development Support etc.
179
206
* Help those who debug http(s) part of the system.
180
207
(merge 0054045 sp/remote-curl-ssl-strerror later to maint).
181
208
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
+
182
237
Also contains various documentation updates and code clean-ups.
183
238
184
239
@@ -320,4 +375,44 @@ notes for details).
320
375
broken in 2.6.0 timeframe when the command was rewritten in C.
321
376
(merge 708b8cc jc/am-i-v-fix later to maint).
322
377
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
+
323
413
* 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