What's cooking (2021/05 #02)
Junio C Hamano committed
May 12, 2021 at 15:08 UTC
4e475162e431aada7a525bda5189519976104f07
1 file changed
+520
-619
whats-cooking.txt
+520
-619
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (May 2021, #01; Thu, 6)
4
-X-master-at: 7e391989789db82983665667013a46eabc6fc570
5
-X-next-at: 1ce651569ca7e0a65f24af9c9548363d83d99866
3
+Subject: What's cooking in git.git (May 2021, #02; Wed, 12)
4
+X-master-at: df6c4f722c94641d5a9ea5496511f7043433abc2
5
+X-next-at: a26e31b5bc8c25bf0f70407da361b41b06153806
6
7
-What's cooking in git.git (May 2021, #01; Thu, 6)
7
+What's cooking in git.git (May 2021, #02; Wed, 12)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -43,162 +43,45 @@ Release tarballs are available at:
43
--------------------------------------------------
44
[Graduated to 'master']
45
46
-* ab/pathname-encoding-doc (2021-04-20) 1 commit
47
- (merged to 'next' on 2021-04-20 at a90562c59f)
48
- + doc: clarify the filename encoding in git diff
49
-
50
- Clarify that pathnames recorded in Git trees are most often (but
51
- not necessarily) encoded in UTF-8.
52
-
53
-
54
-* ds/maintenance-prefetch-fix (2021-04-16) 4 commits
55
- (merged to 'next' on 2021-04-16 at 0a1818e235)
56
- + maintenance: respect remote.*.skipFetchAll
57
- + maintenance: use 'git fetch --prefetch'
58
- + fetch: add --prefetch option
59
- + maintenance: simplify prefetch logic
60
-
61
- The prefetch task in "git maintenance" assumed that "git fetch"
62
- from any remote would fetch all its local branches, which would
63
- fetch too much if the user is interested in only a subset of
64
- branches there.
65
-
66
-
67
-* ds/sparse-index (2021-03-30) 21 commits
68
- (merged to 'next' on 2021-04-07 at f1290a7929)
69
- + p2000: add sparse-index repos
70
- + sparse-index: loose integration with cache_tree_verify()
71
- + cache-tree: integrate with sparse directory entries
72
- + sparse-checkout: disable sparse-index
73
- + sparse-checkout: toggle sparse index from builtin
74
- + sparse-index: add index.sparse config option
75
- + sparse-index: check index conversion happens
76
- + unpack-trees: allow sparse directories
77
- + submodule: sparse-index should not collapse links
78
- + sparse-index: convert from full to sparse
79
- + sparse-index: add 'sdir' index extension
80
- + sparse-checkout: hold pattern list in index
81
- + unpack-trees: ensure full index
82
- + test-tool: don't force full index
83
- + test-read-cache: print cache entries with --table
84
- + t1092: compare sparse-checkout to sparse-index
85
- + sparse-index: implement ensure_full_index()
86
- + sparse-index: add guard to ensure full index
87
- + t1092: clean up script quoting
88
- + t/perf: add performance test for sparse operations
89
- + sparse-index: design doc and format update
90
- (this branch is used by ds/sparse-index-protections and ds/status-with-sparse-index.)
91
-
92
- Both in-core and on-disk index has been updated to optionally omit
93
- individual entries and replace them with the tree object that
94
- corresponds to the directory that contains them when the "cone"
95
- mode of sparse checkout is in use.
96
-
97
-
98
-* ds/sparse-index-protections (2021-04-14) 26 commits
99
- (merged to 'next' on 2021-04-17 at f1c40f89ba)
100
- + name-hash: use expand_to_path()
101
- + sparse-index: expand_to_path()
102
- + name-hash: don't add directories to name_hash
103
- + revision: ensure full index
104
- + resolve-undo: ensure full index
105
- + read-cache: ensure full index
106
- + pathspec: ensure full index
107
- + merge-recursive: ensure full index
108
- + entry: ensure full index
109
- + dir: ensure full index
110
- + update-index: ensure full index
111
- + stash: ensure full index
112
- + rm: ensure full index
113
- + merge-index: ensure full index
114
- + ls-files: ensure full index
115
- + grep: ensure full index
116
- + fsck: ensure full index
117
- + difftool: ensure full index
118
- + commit: ensure full index
119
- + checkout: ensure full index
120
- + checkout-index: ensure full index
121
- + add: ensure full index
122
- + cache: move ensure_full_index() to cache.h
123
- + read-cache: expand on query into sparse-directory entry
124
- + *: remove 'const' qualifier for struct index_state
125
- + sparse-index: API protection strategy
126
- (this branch is used by ds/status-with-sparse-index; uses ds/sparse-index.)
127
-
128
- Builds on top of the sparse-index infrastructure to mark operations
129
- that are not ready to mark with the sparse index, causing them to
130
- fall back on fully-populated index that they always have worked with.
131
-
132
-
133
-* hn/refs-trace-errno (2021-04-12) 1 commit
134
- (merged to 'next' on 2021-04-20 at 0816e49d22)
135
- + refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
136
-
137
- Show errno in the trace output in the error codepath that calls
138
- read_raw_ref method.
139
-
140
-
141
-* jk/promisor-optim (2021-04-13) 3 commits
142
- (merged to 'next' on 2021-04-15 at 41f303ef9b)
143
- + revision: avoid parsing with --exclude-promisor-objects
144
- + lookup_unknown_object(): take a repository argument
145
- + is_promisor_object(): free tree buffer after parsing
146
- (this branch is used by rs/repack-without-loosening-promised-objects.)
147
-
148
- Handling of "promisor packs" that allows certain objects to be
149
- missing and lazily retrievable has been optimized (a bit).
150
-
151
-
152
-* mt/parallel-checkout-part-2 (2021-04-19) 5 commits
153
- (merged to 'next' on 2021-04-20 at d4779b8864)
154
- + parallel-checkout: add design documentation
155
- + parallel-checkout: support progress displaying
156
- + parallel-checkout: add configuration options
157
- + parallel-checkout: make it truly parallel
158
- + unpack-trees: add basic support for parallel checkout
159
- (this branch is used by mt/parallel-checkout-part-3.)
160
-
161
- The checkout machinery has been taught to perform the actual
162
- write-out of the files in parallel when able.
163
-
164
-
165
-* mt/pkt-write-errors (2021-04-15) 1 commit
166
- (merged to 'next' on 2021-04-16 at 4a82d89ff3)
167
- + pkt-line: do not report packet write errors twice
168
-
169
- When packet_write() fails, we gave an extra error message
170
- unnecessarily, which has been corrected.
171
-
172
-
173
-* ow/push-quiet-set-upstream (2021-04-15) 1 commit
174
- (merged to 'next' on 2021-04-16 at 9466d4ef38)
175
- + transport: respect verbosity when setting upstream
176
-
177
- "git push --quiet --set-upstream" was not quiet when setting the
178
- upstream branch configuration, which has been corrected.
179
-
180
-
181
-* so/log-diff-merge (2021-04-16) 5 commits
182
- (merged to 'next' on 2021-04-17 at 6c1eba8ee3)
183
- + doc/diff-options: document new --diff-merges features
184
- + diff-merges: introduce log.diffMerges config variable
185
- + diff-merges: adapt -m to enable default diff format
186
- + diff-merges: refactor set_diff_merges()
187
- + diff-merges: introduce --diff-merges=on
188
-
189
- "git log" learned "--diff-merges=<style>" option, with an
190
- associated configuration variable log.diffMerges.
191
-
192
-
193
-* vs/completion-with-set-u (2021-04-16) 1 commit
194
- (merged to 'next' on 2021-04-20 at 179933f961)
195
- + completion: avoid aliased command lookup error in nounset mode
196
-
197
- Effort to make the command line completion (in contrib/) safe with
198
- "set -u" continues.
46
+* ab/doc-lint (2021-04-10) 7 commits
47
+ (merged to 'next' on 2021-04-30 at 285b9c4d64)
48
+ + docs: fix linting issues due to incorrect relative section order
49
+ + doc lint: lint relative section order
50
+ + doc lint: lint and fix missing "GIT" end sections
51
+ + doc lint: fix bugs in, simplify and improve lint script
52
+ + doc lint: Perl "strict" and "warnings" in lint-gitlink.perl
53
+ + Documentation/Makefile: make doc.dep dependencies a variable again
54
+ + Documentation/Makefile: make $(wildcard howto/*.txt) a var
55
+
56
+ Dev support.
57
+
58
+
59
+* ab/pretty-date-format-tests (2021-04-27) 2 commits
60
+ (merged to 'next' on 2021-04-30 at bd2d680c23)
61
+ + pretty tests: give --date/format tests a better description
62
+ + pretty tests: simplify %aI/%cI date format test
63
+ (this branch is used by zh/pretty-date-human.)
64
+
65
+ Tweak a few tests for "log --format=..." that show timestamps in
66
+ various formats.
67
+
68
+
69
+* ab/rebase-no-reschedule-failed-exec (2021-04-10) 2 commits
70
+ (merged to 'next' on 2021-04-30 at 97d56cc674)
71
+ + rebase: don't override --no-reschedule-failed-exec with config
72
+ + rebase tests: camel-case rebase.rescheduleFailedExec consistently
73
+
74
+ "git rebase --[no-]reschedule-failed-exec" did not work well with
75
+ its configuration variable, which has been corrected.
76
+
77
+
78
+* ab/svn-tests-set-e-fix (2021-04-12) 2 commits
79
+ (merged to 'next' on 2021-04-30 at 41f7907187)
80
+ + svn tests: refactor away a "set -e" in test body
81
+ + svn tests: remove legacy re-setup from init-clone test
82
+
83
+ Test clean-up.
84
200
---------------------------------------------------
201
-[New Topics]
85
86
* ad/cygwin-no-backslashes-in-paths (2021-04-30) 1 commit
87
(merged to 'next' on 2021-04-30 at e2cf03a8aa)
@@ -206,23 +89,72 @@ Release tarballs are available at:
89
90
Cygwin pathname handling fix.
91
209
- Will merge to 'master'.
92
93
+* ah/plugleaks (2021-04-28) 12 commits
94
+ (merged to 'next' on 2021-04-30 at ccb3984029)
95
+ + builtin/rm: avoid leaking pathspec and seen
96
+ + builtin/rebase: release git_format_patch_opt too
97
+ + builtin/for-each-ref: free filter and UNLEAK sorting.
98
+ + mailinfo: also free strbuf lists when clearing mailinfo
99
+ + builtin/checkout: clear pending objects after diffing
100
+ + builtin/check-ignore: clear_pathspec before returning
101
+ + builtin/bugreport: don't leak prefixed filename
102
+ + branch: FREE_AND_NULL instead of NULL'ing real_ref
103
+ + bloom: clear each bloom_key after use
104
+ + ls-files: free max_prefix when done
105
+ + wt-status: fix multiple small leaks
106
+ + revision: free remainder of old commit list in limit_list
107
212
-* hn/refs-errno-cleanup (2021-04-30) 8 commits
213
- - refs: explicitly propagate errno from refs_read_raw_ref
214
- - refs: stop setting EINVAL and ELOOP in symref resolution
215
- - refs: clear errno return in refs_resolve_ref_unsafe()
216
- - refs: add failure_errno to refs_read_raw_ref() signature
217
- - refs: make errno output explicit for refs_resolve_ref_unsafe
218
- - refs: make errno output explicit for read_raw_ref_fn
219
- - refs/files-backend: stop setting errno from lock_ref_oid_basic
220
- - refs: remove EINVAL specification from the errno sideband in read_raw_ref_fn
108
+ Plug various leans reported by LSAN.
109
222
- Futz with the way 'errno' is relied on in the refs API to carry the
223
- failure modes up the callchain.
110
225
- Waiting for reviews.
111
+* bc/hash-transition-interop-part-1 (2021-04-27) 13 commits
112
+ (merged to 'next' on 2021-05-03 at 19dba33d17)
113
+ + hex: print objects using the hash algorithm member
114
+ + hex: default to the_hash_algo on zero algorithm value
115
+ + builtin/pack-objects: avoid using struct object_id for pack hash
116
+ + commit-graph: don't store file hashes as struct object_id
117
+ + builtin/show-index: set the algorithm for object IDs
118
+ + hash: provide per-algorithm null OIDs
119
+ + hash: set, copy, and use algo field in struct object_id
120
+ + builtin/pack-redundant: avoid casting buffers to struct object_id
121
+ + Use the final_oid_fn to finalize hashing of object IDs
122
+ + hash: add a function to finalize object IDs
123
+ + http-push: set algorithm when reading object ID
124
+ + Always use oidread to read into struct object_id
125
+ + hash: add an algo member to struct object_id
126
+
127
+ SHA-256 transition.
128
+
129
+
130
+* dl/complete-stash (2021-03-24) 3 commits
131
+ (merged to 'next' on 2021-03-24 at ce573a99cc)
132
+ + git-completion.bash: use __gitcomp_builtin() in _git_stash()
133
+ + git-completion.bash: extract from else in _git_stash()
134
+ + git-completion.bash: pass $__git_subcommand_idx from __git_main()
135
+ (this branch is used by dl/complete-stash-updates.)
136
+
137
+ The command line completion (in contrib/) for "git stash" has been
138
+ updated.
139
+
140
+
141
+* dl/complete-stash-updates (2021-04-27) 4 commits
142
+ (merged to 'next' on 2021-05-03 at 8901a9c431)
143
+ + git-completion.bash: consolidate cases in _git_stash()
144
+ + git-completion.bash: use $__git_cmd_idx in more places
145
+ + git-completion.bash: rename to $__git_cmd_idx
146
+ + git-completion.bash: separate some commands onto their own line
147
+ (this branch uses dl/complete-stash.)
148
+
149
+ Further update the command line completion (in contrib/) for "git
150
+ stash".
151
+
152
+
153
+* hn/trace-reflog-expiry (2021-04-27) 1 commit
154
+ (merged to 'next' on 2021-04-30 at 6bc9a79b61)
155
+ + refs/debug: trace into reflog expiry too
156
+
157
+ The reflog expiry machinery has been taught to emit trace events.
158
159
160
* jc/test-allows-local (2021-05-03) 1 commit
@@ -231,8 +163,6 @@ Release tarballs are available at:
163
164
Document that our test can use "local" keyword.
165
234
- Will merge to 'master'.
235
-
166
167
* jk/doc-format-patch-skips-merges (2021-05-03) 1 commit
168
(merged to 'next' on 2021-05-04 at cac68f7193)
@@ -240,8 +170,6 @@ Release tarballs are available at:
170
171
Document that "format-patch" skips merges.
172
243
- Will merge to 'master'.
244
-
173
174
* jk/pack-objects-negative-options-fix (2021-05-03) 5 commits
175
(merged to 'next' on 2021-05-04 at 4a61f68cf0)
@@ -255,7 +183,16 @@ Release tarballs are available at:
183
--window and --depth should not accept negative values; the input
184
validation has been tightened.
185
258
- Will merge to 'master'.
186
+
187
+* jk/prune-with-bitmap-fix (2021-04-29) 2 commits
188
+ (merged to 'next' on 2021-04-30 at bede558f31)
189
+ + prune: save reachable-from-recent objects with bitmaps
190
+ + pack-bitmap: clean up include_check after use
191
+
192
+ When the reachability bitmap is in effect, the "do not lose
193
+ recently created objects and those that are reachable from them"
194
+ safety to protect us from races were disabled by mistake, which has
195
+ been corrected.
196
197
198
* jk/symlinked-dotgitx-cleanup (2021-05-04) 9 commits
@@ -273,7 +210,82 @@ Release tarballs are available at:
210
Various test and documentation updates about .gitsomething paths
211
that are symlinks.
212
276
- Will merge to 'master'.
213
+
214
+* js/merge-already-up-to-date-message-reword (2021-05-03) 2 commits
215
+ (merged to 'next' on 2021-05-04 at b2e696ecd7)
216
+ + merge: fix swapped "up to date" message components
217
+ + merge(s): apply consistent punctuation to "up to date" messages
218
+
219
+ A few variants of informational message "Already up-to-date" has
220
+ been rephrased.
221
+
222
+
223
+* jz/apply-3way-first-message-fix (2021-04-29) 1 commit
224
+ (merged to 'next' on 2021-04-30 at 829167e135)
225
+ + apply: adjust messages to account for --3way changes
226
+
227
+ When we swapped the order of --3way fallback, we forgot to adjust
228
+ the message we give when the first method fails and the second
229
+ method is attempted (which used to be "direct application failed
230
+ hence we try 3way", now it is the other way around).
231
+
232
+
233
+* ll/clone-reject-shallow (2021-05-05) 1 commit
234
+ (merged to 'next' on 2021-05-06 at 4a165ffc96)
235
+ + t5601: mark protocol v2-only test
236
+
237
+ Fix tests when forced to use v0 protocol.
238
+
239
+
240
+* ls/subtree (2021-04-28) 30 commits
241
+ (merged to 'next' on 2021-05-03 at 12c5fe8677)
242
+ + subtree: be stricter about validating flags
243
+ + subtree: push: allow specifying a local rev other than HEAD
244
+ + subtree: allow 'split' flags to be passed to 'push'
245
+ + subtree: allow --squash to be used with --rejoin
246
+ + subtree: give the docs a once-over
247
+ + subtree: have $indent actually affect indentation
248
+ + subtree: don't let debug and progress output clash
249
+ + subtree: add comments and sanity checks
250
+ + subtree: remove duplicate check
251
+ + subtree: parse revs in individual cmd_ functions
252
+ + subtree: use "^{commit}" instead of "^0"
253
+ + subtree: don't fuss with PATH
254
+ + subtree: use "$*" instead of "$@" as appropriate
255
+ + subtree: use more explicit variable names for cmdline args
256
+ + subtree: use git-sh-setup's `say`
257
+ + subtree: use `git merge-base --is-ancestor`
258
+ + subtree: drop support for git < 1.7
259
+ + subtree: more consistent error propagation
260
+ + subtree: don't have loose code outside of a function
261
+ + subtree: t7900: add porcelain tests for 'pull' and 'push'
262
+ + subtree: t7900: add a test for the -h flag
263
+ + subtree: t7900: rename last_commit_message to last_commit_subject
264
+ + subtree: t7900: fix 'verify one file change per commit'
265
+ + subtree: t7900: delete some dead code
266
+ + subtree: t7900: use 'test' for string equality
267
+ + subtree: t7900: comment subtree_test_create_repo
268
+ + subtree: t7900: use consistent formatting
269
+ + subtree: t7900: use test-lib.sh's test_count
270
+ + subtree: t7900: update for having the default branch name be 'main'
271
+ + .gitignore: ignore 'git-subtree' as a build artifact
272
+
273
+ "git subtree" updates.
274
+
275
+
276
+* mt/add-rm-in-sparse-checkout (2021-04-08) 7 commits
277
+ (merged to 'next' on 2021-04-30 at ddead90eaf)
278
+ + rm: honor sparse checkout patterns
279
+ + add: warn when asked to update SKIP_WORKTREE entries
280
+ + refresh_index(): add flag to ignore SKIP_WORKTREE entries
281
+ + pathspec: allow to ignore SKIP_WORKTREE entries on index matching
282
+ + add: make --chmod and --renormalize honor sparse checkouts
283
+ + t3705: add tests for `git add` in sparse checkouts
284
+ + add: include magic part of pathspec on --refresh error
285
+ (this branch is used by ds/status-with-sparse-index.)
286
+
287
+ "git add" and "git rm" learned not to touch those paths that are
288
+ outside of sparse checkout.
289
290
291
* nc/submodule-update-quiet (2021-05-03) 1 commit
@@ -283,28 +295,69 @@ Release tarballs are available at:
295
"git submodule update --quiet" did not propagate the quiet option
296
down to underlying "git fetch", which has been corrected.
297
286
- Will merge to 'master'.
298
299
+* po/diff-patch-doc (2021-04-28) 1 commit
300
+ (merged to 'next' on 2021-04-30 at 58af0f4b5e)
301
+ + doc: point to diff attribute in patch format docs
302
289
-* en/ort-perf-batch-11 (2021-05-04) 13 commits
290
- - merge-ort, diffcore-rename: employ cached renames when possible
291
- - merge-ort: handle interactions of caching and rename/rename(1to1) cases
292
- - merge-ort: add helper functions for using cached renames
293
- - merge-ort: preserve cached renames for the appropriate side
294
- - merge-ort: avoid accidental API mis-use
295
- - merge-ort: add code to check for whether cached renames can be reused
296
- - merge-ort: populate caches of rename detection results
297
- - merge-ort: add data structures for in-memory caching of rename detection
298
- - t6429: testcases for remembering renames
299
- - fast-rebase: write conflict state to working tree, index, and HEAD
300
- - fast-rebase: change assert() to BUG()
301
- - Documentation/technical: describe remembering renames optimization
302
- - t6423: rename file within directory that other side renamed
303
+ Doc update.
304
304
- Optimize out repeated rename detection in a sequence of mergy
305
- operations.
305
307
- Waiting for reviews.
306
+* ps/config-env-option-with-separate-value (2021-04-30) 2 commits
307
+ (merged to 'next' on 2021-04-30 at 46fbcd08c1)
308
+ + git: support separate arg for `--config-env`'s value
309
+ + git.txt: fix synopsis of `--config-env` missing the equals sign
310
+
311
+ "git --config-env var=val cmd" weren't accepted (only
312
+ --config-env=var=val was).
313
+
314
+
315
+* ps/config-global-override (2021-04-27) 4 commits
316
+ (merged to 'next' on 2021-04-30 at 5ce435d98f)
317
+ + t1300: fix unset of GIT_CONFIG_NOSYSTEM leaking into subsequent tests
318
+ (merged to 'next' on 2021-04-20 at 82578c696d)
319
+ + config: allow overriding of global and system configuration
320
+ + config: unify code paths to get global config paths
321
+ + config: rename `git_etc_config()`
322
+
323
+ Replace GIT_CONFIG_NOSYSTEM mechanism to decline from reading the
324
+ system-wide configuration file with GIT_CONFIG_SYSTEM that lets
325
+ users specify from which file to read the system-wide configuration
326
+ (setting it to an empty file would essentially be the same as
327
+ setting NOSYSTEM), and introduce GIT_CONFIG_GLOBAL to override the
328
+ per-user configuration in $HOME/.gitconfig.
329
+
330
+
331
+* ps/rev-list-object-type-filter (2021-04-19) 8 commits
332
+ (merged to 'next' on 2021-04-30 at fa0ceacde4)
333
+ + rev-list: allow filtering of provided items
334
+ + pack-bitmap: implement combined filter
335
+ + pack-bitmap: implement object type filter
336
+ + list-objects: implement object type filter
337
+ + list-objects: support filtering by tag and commit
338
+ + list-objects: move tag processing into its own function
339
+ + revision: mark commit parents as NOT_USER_GIVEN
340
+ + uploadpack.txt: document implication of `uploadpackfilter.allow`
341
+
342
+ "git rev-list" learns the "--filter=object:type=<type>" option,
343
+ which can be used to exclude objects of the given kind from the
344
+ packfile generated by pack-objects.
345
+
346
+
347
+* rj/bisect-skip-honor-terms (2021-04-30) 1 commit
348
+ (merged to 'next' on 2021-05-04 at f7c11bba06)
349
+ + bisect--helper: use BISECT_TERMS in 'bisect skip' command
350
+
351
+ "git bisect skip" when custom words are used for new/old did not
352
+ work, which has been corrected.
353
+
354
+
355
+* rs/repack-without-loosening-promised-objects (2021-04-28) 1 commit
356
+ (merged to 'next' on 2021-05-03 at 6681b49209)
357
+ + repack: avoid loosening promisor objects in partial clones
358
+
359
+ "git repack -A -d" in a partial clone unnecessarily loosened
360
+ objects in promisor pack.
361
362
363
* si/zsh-complete-comment-fix (2021-05-04) 1 commit
@@ -313,109 +366,195 @@ Release tarballs are available at:
366
367
Portability fix for command line completion script (in contrib/).
368
369
+
370
+* zh/format-ref-array-optim (2021-04-20) 2 commits
371
+ (merged to 'next' on 2021-04-30 at b6c835cc51)
372
+ + ref-filter: reuse output buffer
373
+ + ref-filter: get rid of show_ref_array_item
374
+
375
+ "git (branch|tag) --format=..." has been micro-optimized.
376
+
377
+
378
+* zh/pretty-date-human (2021-04-27) 1 commit
379
+ (merged to 'next' on 2021-04-30 at 2320ad8fb0)
380
+ + pretty: provide human date format
381
+ (this branch uses ab/pretty-date-format-tests.)
382
+
383
+ "git log --format=..." placeholders learned %ah/%ch placeholders to
384
+ request the --date=human output.
385
+
386
+
387
+* zh/trailer-cmd (2021-05-04) 2 commits
388
+ (merged to 'next' on 2021-05-04 at fb677877f7)
389
+ + trailer: add new .cmd config option
390
+ + docs: correct descript of trailer.<token>.command
391
+
392
+ The way the command line specified by the trailer.<token>.command
393
+ configuration variable receives the end-user supplied value was
394
+ both error prone and misleading. An alternative to achieve the
395
+ same goal in a safer and more intuitive way has been added, as
396
+ the trailer.<token>.cmd configuration variable, to replace it.
397
+
398
+--------------------------------------------------
399
+[New Topics]
400
+
401
+* mt/clean-clean (2021-05-07) 1 commit
402
+ (merged to 'next' on 2021-05-07 at 51e40b7ddd)
403
+ + clean: remove unnecessary variable
404
+
405
+ Code clean-up.
406
+
407
+ Will merge to 'master'.
408
+
409
+
410
+* ah/merge-ort-i18n (2021-05-11) 1 commit
411
+ (merged to 'next' on 2021-05-12 at bda497af01)
412
+ + merge-ort: split "distinct types" message into two translatable messages
413
+
414
+ An i18n fix.
415
+
416
Will merge to 'master'.
417
418
319
-* dd/mailinfo-quoted-cr (2021-05-05) 5 commits
320
- - am: learn to process quoted lines that ends with CRLF
321
- - mailinfo: strip quoted CR on users' wish
322
- - mailinfo: skip quoted CR on user's wish
323
- - mailinfo: warn if CR found in base64/quoted-printable email
324
- - mailinfo: avoid magic number in option parsing
419
+* en/dir-traversal (2021-05-12) 8 commits
420
+ - dir: update stale description of treat_directory()
421
+ - dir: traverse into untracked directories if they may have ignored subfiles
422
+ - dir: avoid unnecessary traversal into ignored directory
423
+ - t3001, t7300: add testcase showcasing missed directory traversal
424
+ - t7300: add testcase showing unnecessary traversal into ignored directory
425
+ - ls-files: error out on -i unless -o or -c are specified
426
+ - dir: report number of visited directories and paths with trace2
427
+ - dir: convert trace calls to trace2 equivalents
428
+
429
+ "git clean" and "git ls-files -i" had confusion around working on
430
+ or showing ignored paths inside an ignored directory, which has
431
+ been corrected.
432
+
433
+ Will merge to 'next'?
434
+
435
326
- "git mailinfo" (hence "git am") learned the "--quoted-cr" option to
327
- control how lines ending with CRLF wrapped in base64 or qp are
328
- handled.
436
+* ma/typofixes (2021-05-10) 2 commits
437
+ (merged to 'next' on 2021-05-12 at 99cc0d265e)
438
+ + pretty-formats.txt: add missing space
439
+ + git-repack.txt: remove spurious ")"
440
330
- Expecting a reroll.
331
- cf. <YJK/ieA7fzB+h01t@danh.dev>
441
+ A couple of trivial typofixes.
442
443
+ Will merge to 'master'.
444
334
-* ll/clone-reject-shallow (2021-05-05) 1 commit
335
- (merged to 'next' on 2021-05-06 at 4a165ffc96)
336
- + t5601: mark protocol v2-only test
445
338
- Fix tests when forced to use v0 protocol.
446
+* zh/ref-filter-push-remote-fix (2021-05-12) 1 commit
447
+ - ref-filter: fix read invalid union member bug
448
340
- Will merge to 'master'.
449
+ The handling of "%(push)" formatting element of "for-each-ref" and
450
+ friends was broken when the same codepath started handling
451
+ "%(push:<what>)", which has been corrected.
452
453
+ Will merge to 'next'?
454
343
-* ab/perl-makefile-cleanup (2021-05-06) 4 commits
344
- - perl: use mock i18n functions under NO_GETTEXT=Y
345
- - Makefile: regenerate *.pm on NO_PERL_CPAN_FALLBACKS change
346
- - Makefile: regenerate perl/build/* if GIT-PERL-DEFINES changes
347
- - Makefile: don't re-define PERL_DEFINES
455
349
- Build procedure clean-up.
456
+* lh/maintenance-leakfix (2021-05-12) 1 commit
457
+ - maintenance: fix two memory leaks
458
459
Will merge to 'next'.
460
461
354
-* ab/sparse-index-cleanup (2021-05-06) 1 commit
355
- - sparse-index.c: remove set_index_sparse_config()
462
+* so/log-m-implies-p (2021-05-11) 7 commits
463
+ - diff-merges: let -m imply -p
464
+ - diff-merges: rename "combined_imply_patch" to "merges_imply_patch"
465
+ - stash list: stop passing "-m" to "git list"
466
+ - git-svn: stop passing "-m" to "git rev-list"
467
+ - t4062: diff-index -S can take its string as a separate arg
468
+ - diff-merges: move specific diff-index "-m" handling to diff-index
469
+ - t4013: add test for "git diff-index -m"
470
357
- Code clean-up.
471
+ The "-m" option in "git log -m" that does not specify which format,
472
+ if any, of diff is desired did not have any visible effect; it now
473
+ implies some form of diff (by default "--patch") is produced.
474
359
- Will merge to 'next'.
475
+ Expecting a reroll.
476
+ cf. <871radwfl7.fsf@osv.gnss.ru>
477
478
362
-* ab/streaming-simplify (2021-05-06) 5 commits
363
- - streaming.c: move {open,close,read} from vtable to "struct git_istream"
364
- - streaming.c: stop passing around "object_info *" to open()
365
- - streaming.c: remove {open,close,read}_method_decl() macros
366
- - streaming.c: remove enum/function/vtbl indirection
367
- - streaming.c: avoid forward declarations
479
+* wc/packed-ref-removal-cleanup (2021-05-11) 1 commit
480
+ - refs: cleanup directories when deleting packed ref
481
369
- Code clean-up.
482
+ When "git update-ref -d" removes a ref that is packed, it left
483
+ empty directories under $GIT_DIR/refs/ for
484
485
Will merge to 'next'.
486
487
374
-* ab/trace2-squelch-bcc-warning (2021-05-05) 1 commit
375
- - trace2: refactor to avoid gcc warning under -O3
488
+* ew/sha256-clone-remote-curl-fix (2021-05-12) 1 commit
489
+ - remote-curl: fix clone on sha256 repos
490
377
- Workaround compiler warnings.
491
+ "git clone" from SHA256 repository by Git built with SHA-1 as the
492
+ default hash algorithm over the dumb HTTP protocol did not
493
+ correctly set up the resulting repository, which has been corrected.
494
495
+ Will merge to 'next'.
496
380
-* jk/p4-locate-branch-point-optim (2021-05-06) 2 commits
381
- - git-p4: speed up search for branch parent
382
- - git-p4: ensure complex branches are cloned correctly
497
384
- "git p4" learned to find branch points more efficiently.
498
+* bc/doc-asciidoctor-to-man-wo-xmlto (2021-05-12) 2 commits
499
+ - doc: remove GNU_ROFF option
500
+ - doc: add an option to have Asciidoctor build man pages directly
501
386
- Will merge to 'next'.
502
+ An option to render the manual pages via AsciiDoctor bypassing
503
+ xmlto has been introduced.
504
505
+ Will merge to 'next'?
506
389
-* ow/no-dryrun-in-add-i (2021-05-06) 1 commit
390
- - add: die if both --dry-run and --interactive are given
507
+--------------------------------------------------
508
+[Stalled]
509
392
- "git add -i --dry-run" does not dry-run, which was surprising. The
393
- combination of options has taught to error out.
510
+* ag/merge-strategies-in-c (2021-03-17) 15 commits
511
+ - sequencer: use the "octopus" merge strategy without forking
512
+ - sequencer: use the "resolve" strategy without forking
513
+ - merge: use the "octopus" strategy without forking
514
+ - merge: use the "resolve" strategy without forking
515
+ - merge-octopus: rewrite in C
516
+ - merge-recursive: move better_branch_name() to merge.c
517
+ - merge-resolve: rewrite in C
518
+ - merge-one-file: rewrite in C
519
+ - update-index: move add_cacheinfo() to read-cache.c
520
+ - merge-index: add a new way to invoke `git-merge-one-file'
521
+ - merge-index: drop the index
522
+ - merge-index: libify merge_one_path() and merge_all()
523
+ - t6060: add tests for removed files
524
+ - t6060: modify multiple files to expose a possible issue with merge-index
525
+ - t6407: modernise tests
526
395
- Will merge to 'next'.
527
+ The resolve and octopus merge strategy backends have been rewritten
528
+ in C.
529
530
+ Expecting a (hopefully final) reroll.
531
+ cf. <nycvar.QRO.7.76.6.2103241142220.50@tvgsbejvaqbjf.bet>
532
398
-* pw/patience-diff-clean-up (2021-05-05) 2 commits
399
- (merged to 'next' on 2021-05-06 at 1ce651569c)
400
- + patience diff: remove unused variable
401
- + patience diff: remove unnecessary string comparisons
533
403
- Code clean-up.
534
+* tv/p4-fallback-encoding (2021-04-30) 1 commit
535
+ - git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset
536
405
- Will merge to 'master'.
537
+ "git p4" learns the fallbackEncoding configuration variable to
538
+ safely accept changeset descriptions that aren't written in UTF-8.
539
540
408
-* pw/word-diff-zero-width-matches (2021-05-05) 1 commit
409
- (merged to 'next' on 2021-05-06 at e5653da568)
410
- + word diff: handle zero length matches
541
+* ds/status-with-sparse-index (2021-04-28) 10 commits
542
+ - fsmonitor: test with sparse index
543
+ - status: use sparse-index throughout
544
+ - status: skip sparse-checkout percentage with sparse-index
545
+ - dir.c: accept a directory as part of cone-mode patterns
546
+ - unpack-trees: stop recursing into sparse directories
547
+ - unpack-trees: compare sparse directories correctly
548
+ - unpack-trees: preserve cache_bottom
549
+ - t1092: add tests for status/add and sparse files
550
+ - Merge branch 'mt/add-rm-in-sparse-checkout' into ds/status-with-sparse-index
551
+ - Merge branch 'ds/sparse-index-protections' into ds/status-with-sparse-index
552
412
- The word-diff mode has been taught to work better with a word
413
- regexp that can match an empty string.
553
+ "git status" codepath learned to work with sparsely populated index
554
+ without hydrating it fully.
555
415
- Will merge to 'master'.
556
+ What's the status of this thing?
557
417
---------------------------------------------------
418
-[Stalled]
558
559
* jh/rfc-builtin-fsmonitor (2021-05-04) 24 commits
560
- fsmonitor: only enable it in non-bare repositories
@@ -447,31 +586,7 @@ Release tarballs are available at:
586
for our use.
587
588
450
-* ag/merge-strategies-in-c (2021-03-17) 15 commits
451
- - sequencer: use the "octopus" merge strategy without forking
452
- - sequencer: use the "resolve" strategy without forking
453
- - merge: use the "octopus" strategy without forking
454
- - merge: use the "resolve" strategy without forking
455
- - merge-octopus: rewrite in C
456
- - merge-recursive: move better_branch_name() to merge.c
457
- - merge-resolve: rewrite in C
458
- - merge-one-file: rewrite in C
459
- - update-index: move add_cacheinfo() to read-cache.c
460
- - merge-index: add a new way to invoke `git-merge-one-file'
461
- - merge-index: drop the index
462
- - merge-index: libify merge_one_path() and merge_all()
463
- - t6060: add tests for removed files
464
- - t6060: modify multiple files to expose a possible issue with merge-index
465
- - t6407: modernise tests
466
-
467
- The resolve and octopus merge strategy backends have been rewritten
468
- in C.
469
-
470
- Expecting a (hopefully final) reroll.
471
- cf. <nycvar.QRO.7.76.6.2103241142220.50@tvgsbejvaqbjf.bet>
472
-
473
-
474
-* ab/describe-tests-fix (2021-04-29) 5 commits
589
+* ab/describe-tests-fix (2021-05-11) 5 commits
590
- describe tests: support -C in "check_describe"
591
- describe tests: fix nested "test_expect_success" call
592
- describe tests: don't rely on err.actual from "check_describe"
@@ -484,7 +599,7 @@ Release tarballs are available at:
599
Waiting for the base topic to solidify.
600
601
487
-* ab/pickaxe-pcre2 (2021-04-29) 22 commits
602
+* ab/pickaxe-pcre2 (2021-05-11) 22 commits
603
- xdiff-interface: replace discard_hunk_line() with a flag
604
- xdiff users: use designated initializers for out_line
605
- pickaxe -G: don't special-case create/delete
@@ -558,227 +673,178 @@ Release tarballs are available at:
673
--------------------------------------------------
674
[Cooking]
675
561
-* dl/complete-stash-updates (2021-04-27) 4 commits
562
- (merged to 'next' on 2021-05-03 at 8901a9c431)
563
- + git-completion.bash: consolidate cases in _git_stash()
564
- + git-completion.bash: use $__git_cmd_idx in more places
565
- + git-completion.bash: rename to $__git_cmd_idx
566
- + git-completion.bash: separate some commands onto their own line
567
- (this branch uses dl/complete-stash.)
568
-
569
- Further update the command line completion (in contrib/) for "git
570
- stash".
571
-
572
- Will merge to 'master'.
573
-
574
-
575
-* ab/pretty-date-format-tests (2021-04-27) 2 commits
576
- (merged to 'next' on 2021-04-30 at bd2d680c23)
577
- + pretty tests: give --date/format tests a better description
578
- + pretty tests: simplify %aI/%cI date format test
579
- (this branch is used by zh/pretty-date-human.)
580
-
581
- Tweak a few tests for "log --format=..." that show timestamps in
582
- various formats.
583
-
584
- Will merge to 'master'.
585
-
586
-
587
-* ds/status-with-sparse-index (2021-04-28) 10 commits
588
- - fsmonitor: test with sparse index
589
- - status: use sparse-index throughout
590
- - status: skip sparse-checkout percentage with sparse-index
591
- - dir.c: accept a directory as part of cone-mode patterns
592
- - unpack-trees: stop recursing into sparse directories
593
- - unpack-trees: compare sparse directories correctly
594
- - unpack-trees: preserve cache_bottom
595
- - t1092: add tests for status/add and sparse files
596
- - Merge branch 'mt/add-rm-in-sparse-checkout' into ds/status-with-sparse-index
597
- - Merge branch 'ds/sparse-index-protections' into ds/status-with-sparse-index
598
- (this branch uses mt/add-rm-in-sparse-checkout.)
599
-
600
- "git status" codepath learned to work with sparsely populated index
601
- without hydrating it fully.
602
-
603
-
604
-* hn/trace-reflog-expiry (2021-04-27) 1 commit
605
- (merged to 'next' on 2021-04-30 at 6bc9a79b61)
606
- + refs/debug: trace into reflog expiry too
607
-
608
- The reflog expiry machinery has been taught to emit trace events.
609
-
610
- Will merge to 'master'.
611
-
612
-
613
-* jk/prune-with-bitmap-fix (2021-04-29) 2 commits
614
- (merged to 'next' on 2021-04-30 at bede558f31)
615
- + prune: save reachable-from-recent objects with bitmaps
616
- + pack-bitmap: clean up include_check after use
617
-
618
- When the reachability bitmap is in effect, the "do not lose
619
- recently created objects and those that are reachable from them"
620
- safety to protect us from races were disabled by mistake, which has
621
- been corrected.
622
-
623
- Will merge to 'master'.
624
-
676
+* ab/trace2-squelch-gcc-warning (2021-05-11) 1 commit
677
+ - trace2: refactor to avoid gcc warning under -O3
678
626
-* js/merge-already-up-to-date-message-reword (2021-05-03) 2 commits
627
- (merged to 'next' on 2021-05-04 at b2e696ecd7)
628
- + merge: fix swapped "up to date" message components
629
- + merge(s): apply consistent punctuation to "up to date" messages
679
+ Workaround compiler warnings.
680
631
- A few variants of informational message "Already up-to-date" has
632
- been rephrased.
681
+ cf. <YJrIMbr6VkYGQMfs@coredump.intra.peff.net>
682
634
- Will merge to 'master'.
683
684
+* hn/refs-errno-cleanup (2021-04-30) 8 commits
685
+ - refs: explicitly propagate errno from refs_read_raw_ref
686
+ - refs: stop setting EINVAL and ELOOP in symref resolution
687
+ - refs: clear errno return in refs_resolve_ref_unsafe()
688
+ - refs: add failure_errno to refs_read_raw_ref() signature
689
+ - refs: make errno output explicit for refs_resolve_ref_unsafe
690
+ - refs: make errno output explicit for read_raw_ref_fn
691
+ - refs/files-backend: stop setting errno from lock_ref_oid_basic
692
+ - refs: remove EINVAL specification from the errno sideband in read_raw_ref_fn
693
637
-* jz/apply-3way-first-message-fix (2021-04-29) 1 commit
638
- (merged to 'next' on 2021-04-30 at 829167e135)
639
- + apply: adjust messages to account for --3way changes
694
+ Futz with the way 'errno' is relied on in the refs API to carry the
695
+ failure modes up the callchain.
696
641
- When we swapped the order of --3way fallback, we forgot to adjust
642
- the message we give when the first method fails and the second
643
- method is attempted (which used to be "direct application failed
644
- hence we try 3way", now it is the other way around).
697
+ Waiting for reviews.
698
646
- Will merge to 'master'.
699
700
+* en/ort-perf-batch-11 (2021-05-04) 13 commits
701
+ - merge-ort, diffcore-rename: employ cached renames when possible
702
+ - merge-ort: handle interactions of caching and rename/rename(1to1) cases
703
+ - merge-ort: add helper functions for using cached renames
704
+ - merge-ort: preserve cached renames for the appropriate side
705
+ - merge-ort: avoid accidental API mis-use
706
+ - merge-ort: add code to check for whether cached renames can be reused
707
+ - merge-ort: populate caches of rename detection results
708
+ - merge-ort: add data structures for in-memory caching of rename detection
709
+ - t6429: testcases for remembering renames
710
+ - fast-rebase: write conflict state to working tree, index, and HEAD
711
+ - fast-rebase: change assert() to BUG()
712
+ - Documentation/technical: describe remembering renames optimization
713
+ - t6423: rename file within directory that other side renamed
714
649
-* ls/fast-export-signed (2021-05-03) 5 commits
650
- - fast-export, fast-import: add support for signed-commits
651
- - fast-export: do not modify memory from get_commit_buffer
652
- - git-fast-export.txt: clarify why 'verbatim' may not be a good idea
653
- - fast-export: rename --signed-tags='warn' to 'warn-verbatim'
654
- - git-fast-import.txt: add missing LF in the BNF
715
+ Optimize out repeated rename detection in a sequence of mergy
716
+ operations.
717
656
- "git fast-export" offers a way to control how signed tags are
657
- handled; the mechanism has been extended to allow specifying how
658
- signed commits are handled as well.
718
+ Waiting for reviews.
719
660
- Expecting a reroll.
661
- cf. <xmqqa6pca0pv.fsf@gitster.g>, <xmqq1rao9zev.fsf@gitster.g>
720
721
+* dd/mailinfo-quoted-cr (2021-05-10) 6 commits
722
+ (merged to 'next' on 2021-05-12 at a4bcfd18b9)
723
+ + am: learn to process quoted lines that ends with CRLF
724
+ + mailinfo: allow stripping quoted CR without warning
725
+ + mailinfo: allow squelching quoted CRLF warning
726
+ + mailinfo: warn if CRLF found in decoded base64/QP email
727
+ + mailinfo: stop parsing options manually
728
+ + mailinfo: load default metainfo_charset lazily
729
664
-* ls/subtree (2021-04-28) 30 commits
665
- (merged to 'next' on 2021-05-03 at 12c5fe8677)
666
- + subtree: be stricter about validating flags
667
- + subtree: push: allow specifying a local rev other than HEAD
668
- + subtree: allow 'split' flags to be passed to 'push'
669
- + subtree: allow --squash to be used with --rejoin
670
- + subtree: give the docs a once-over
671
- + subtree: have $indent actually affect indentation
672
- + subtree: don't let debug and progress output clash
673
- + subtree: add comments and sanity checks
674
- + subtree: remove duplicate check
675
- + subtree: parse revs in individual cmd_ functions
676
- + subtree: use "^{commit}" instead of "^0"
677
- + subtree: don't fuss with PATH
678
- + subtree: use "$*" instead of "$@" as appropriate
679
- + subtree: use more explicit variable names for cmdline args
680
- + subtree: use git-sh-setup's `say`
681
- + subtree: use `git merge-base --is-ancestor`
682
- + subtree: drop support for git < 1.7
683
- + subtree: more consistent error propagation
684
- + subtree: don't have loose code outside of a function
685
- + subtree: t7900: add porcelain tests for 'pull' and 'push'
686
- + subtree: t7900: add a test for the -h flag
687
- + subtree: t7900: rename last_commit_message to last_commit_subject
688
- + subtree: t7900: fix 'verify one file change per commit'
689
- + subtree: t7900: delete some dead code
690
- + subtree: t7900: use 'test' for string equality
691
- + subtree: t7900: comment subtree_test_create_repo
692
- + subtree: t7900: use consistent formatting
693
- + subtree: t7900: use test-lib.sh's test_count
694
- + subtree: t7900: update for having the default branch name be 'main'
695
- + .gitignore: ignore 'git-subtree' as a build artifact
730
+ "git mailinfo" (hence "git am") learned the "--quoted-cr" option to
731
+ control how lines ending with CRLF wrapped in base64 or qp are
732
+ handled.
733
697
- "git subtree" updates.
734
+ Will merge to 'master'.
735
+
736
+
737
+* ab/perl-makefile-cleanup (2021-05-06) 4 commits
738
+ (merged to 'next' on 2021-05-10 at 23b48398e6)
739
+ + perl: use mock i18n functions under NO_GETTEXT=Y
740
+ + Makefile: regenerate *.pm on NO_PERL_CPAN_FALLBACKS change
741
+ + Makefile: regenerate perl/build/* if GIT-PERL-DEFINES changes
742
+ + Makefile: don't re-define PERL_DEFINES
743
+
744
+ Build procedure clean-up.
745
746
Will merge to 'master'.
747
748
702
-* mt/parallel-checkout-part-3 (2021-05-05) 8 commits
703
- - ci: run test round with parallel-checkout enabled
704
- - parallel-checkout: add tests related to .gitattributes
705
- - t0028: extract encoding helpers to lib-encoding.sh
706
- - parallel-checkout: add tests related to path collisions
707
- - parallel-checkout: add tests for basic operations
708
- - checkout-index: add parallel checkout support
709
- - builtin/checkout.c: complete parallel checkout support
710
- - make_transient_cache_entry(): optionally alloc from mem_pool
749
+* ab/sparse-index-cleanup (2021-05-06) 1 commit
750
+ (merged to 'next' on 2021-05-10 at bbb0239571)
751
+ + sparse-index.c: remove set_index_sparse_config()
752
712
- The final part of "parallel checkout".
753
+ Code clean-up.
754
714
- Will merge to 'next'.
755
+ Will merge to 'master'.
756
757
717
-* po/diff-patch-doc (2021-04-28) 1 commit
718
- (merged to 'next' on 2021-04-30 at 58af0f4b5e)
719
- + doc: point to diff attribute in patch format docs
758
+* ab/streaming-simplify (2021-05-06) 5 commits
759
+ (merged to 'next' on 2021-05-07 at 0992a78c75)
760
+ + streaming.c: move {open,close,read} from vtable to "struct git_istream"
761
+ + streaming.c: stop passing around "object_info *" to open()
762
+ + streaming.c: remove {open,close,read}_method_decl() macros
763
+ + streaming.c: remove enum/function/vtbl indirection
764
+ + streaming.c: avoid forward declarations
765
721
- Doc update.
766
+ Code clean-up.
767
768
Will merge to 'master'.
769
770
726
-* rj/bisect-skip-honor-terms (2021-04-30) 1 commit
727
- (merged to 'next' on 2021-05-04 at f7c11bba06)
728
- + bisect--helper: use BISECT_TERMS in 'bisect skip' command
771
+* jk/p4-locate-branch-point-optim (2021-05-06) 2 commits
772
+ (merged to 'next' on 2021-05-07 at 0fa60c3af3)
773
+ + git-p4: speed up search for branch parent
774
+ + git-p4: ensure complex branches are cloned correctly
775
730
- "git bisect skip" when custom words are used for new/old did not
731
- work, which has been corrected.
776
+ "git p4" learned to find branch points more efficiently.
777
778
Will merge to 'master'.
779
780
736
-* tv/p4-fallback-encoding (2021-04-30) 1 commit
737
- - git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset
781
+* ow/no-dryrun-in-add-i (2021-05-07) 1 commit
782
+ (merged to 'next' on 2021-05-07 at e822750e3a)
783
+ + add: die if both --dry-run and --interactive are given
784
739
- "git p4" learns the fallbackEncoding configuration variable to
740
- safely accept changeset descriptions that aren't written in UTF-8.
785
+ "git add -i --dry-run" does not dry-run, which was surprising. The
786
+ combination of options has taught to error out.
787
788
+ Will merge to 'master'.
789
743
-* zh/pretty-date-human (2021-04-27) 1 commit
744
- (merged to 'next' on 2021-04-30 at 2320ad8fb0)
745
- + pretty: provide human date format
746
- (this branch uses ab/pretty-date-format-tests.)
790
748
- "git log --format=..." placeholders learned %ah/%ch placeholders to
749
- request the --date=human output.
791
+* pw/patience-diff-clean-up (2021-05-05) 2 commits
792
+ (merged to 'next' on 2021-05-06 at 1ce651569c)
793
+ + patience diff: remove unused variable
794
+ + patience diff: remove unnecessary string comparisons
795
+
796
+ Code clean-up.
797
798
Will merge to 'master'.
799
800
754
-* dl/complete-stash (2021-03-24) 3 commits
755
- (merged to 'next' on 2021-03-24 at ce573a99cc)
756
- + git-completion.bash: use __gitcomp_builtin() in _git_stash()
757
- + git-completion.bash: extract from else in _git_stash()
758
- + git-completion.bash: pass $__git_subcommand_idx from __git_main()
759
- (this branch is used by dl/complete-stash-updates.)
801
+* pw/word-diff-zero-width-matches (2021-05-05) 1 commit
802
+ (merged to 'next' on 2021-05-06 at e5653da568)
803
+ + word diff: handle zero length matches
804
761
- The command line completion (in contrib/) for "git stash" has been
762
- updated.
805
+ The word-diff mode has been taught to work better with a word
806
+ regexp that can match an empty string.
807
808
Will merge to 'master'.
809
810
767
-* ba/object-info (2021-04-20) 1 commit
768
- - object-info: support for retrieving object info
811
+* ls/fast-export-signed (2021-05-03) 5 commits
812
+ - fast-export, fast-import: add support for signed-commits
813
+ - fast-export: do not modify memory from get_commit_buffer
814
+ - git-fast-export.txt: clarify why 'verbatim' may not be a good idea
815
+ - fast-export: rename --signed-tags='warn' to 'warn-verbatim'
816
+ - git-fast-import.txt: add missing LF in the BNF
817
770
- Over-the-wire protocol learns a new request type to ask for object
771
- sizes given a list of object names.
818
+ "git fast-export" offers a way to control how signed tags are
819
+ handled; the mechanism has been extended to allow specifying how
820
+ signed commits are handled as well.
821
773
- Will merge to 'next'.
822
+ Expecting a reroll.
823
+ cf. <xmqqa6pca0pv.fsf@gitster.g>, <xmqq1rao9zev.fsf@gitster.g>
824
825
776
-* zh/format-ref-array-optim (2021-04-20) 2 commits
777
- (merged to 'next' on 2021-04-30 at b6c835cc51)
778
- + ref-filter: reuse output buffer
779
- + ref-filter: get rid of show_ref_array_item
826
+* mt/parallel-checkout-part-3 (2021-05-05) 8 commits
827
+ (merged to 'next' on 2021-05-07 at 0393d61c0c)
828
+ + ci: run test round with parallel-checkout enabled
829
+ + parallel-checkout: add tests related to .gitattributes
830
+ + t0028: extract encoding helpers to lib-encoding.sh
831
+ + parallel-checkout: add tests related to path collisions
832
+ + parallel-checkout: add tests for basic operations
833
+ + checkout-index: add parallel checkout support
834
+ + builtin/checkout.c: complete parallel checkout support
835
+ + make_transient_cache_entry(): optionally alloc from mem_pool
836
781
- "git (branch|tag) --format=..." has been micro-optimized.
837
+ The final part of "parallel checkout".
838
+
839
+ Will merge to 'master'.
840
+
841
+
842
+* ba/object-info (2021-04-20) 1 commit
843
+ (merged to 'next' on 2021-05-07 at e2cb0e4ef1)
844
+ + object-info: support for retrieving object info
845
+
846
+ Over-the-wire protocol learns a new request type to ask for object
847
+ sizes given a list of object names.
848
849
Will merge to 'master'.
850
@@ -812,27 +878,6 @@ Release tarballs are available at:
878
Waiting for reviews.
879
880
815
-* ps/config-env-option-with-separate-value (2021-04-30) 2 commits
816
- (merged to 'next' on 2021-04-30 at 46fbcd08c1)
817
- + git: support separate arg for `--config-env`'s value
818
- + git.txt: fix synopsis of `--config-env` missing the equals sign
819
-
820
- "git --config-env var=val cmd" weren't accepted (only
821
- --config-env=var=val was).
822
-
823
- Will merge to 'master'.
824
-
825
-
826
-* rs/repack-without-loosening-promised-objects (2021-04-28) 1 commit
827
- (merged to 'next' on 2021-05-03 at 6681b49209)
828
- + repack: avoid loosening promisor objects in partial clones
829
-
830
- "git repack -A -d" in a partial clone unnecessarily loosened
831
- objects in promisor pack.
832
-
833
- Will merge to 'master'.
834
-
835
-
881
* jt/push-negotiation (2021-05-05) 6 commits
882
(merged to 'next' on 2021-05-06 at 644a1bc4ee)
883
+ send-pack: support push negotiation
@@ -848,91 +893,6 @@ Release tarballs are available at:
893
Will merge to 'master'.
894
895
851
-* ab/doc-lint (2021-04-10) 7 commits
852
- (merged to 'next' on 2021-04-30 at 285b9c4d64)
853
- + docs: fix linting issues due to incorrect relative section order
854
- + doc lint: lint relative section order
855
- + doc lint: lint and fix missing "GIT" end sections
856
- + doc lint: fix bugs in, simplify and improve lint script
857
- + doc lint: Perl "strict" and "warnings" in lint-gitlink.perl
858
- + Documentation/Makefile: make doc.dep dependencies a variable again
859
- + Documentation/Makefile: make $(wildcard howto/*.txt) a var
860
-
861
- Dev support.
862
-
863
- Will merge to 'master'.
864
-
865
-
866
-* ab/rebase-no-reschedule-failed-exec (2021-04-10) 2 commits
867
- (merged to 'next' on 2021-04-30 at 97d56cc674)
868
- + rebase: don't override --no-reschedule-failed-exec with config
869
- + rebase tests: camel-case rebase.rescheduleFailedExec consistently
870
-
871
- "git rebase --[no-]reschedule-failed-exec" did not work well with
872
- its configuration variable, which has been corrected.
873
-
874
- Will merge to 'master'.
875
-
876
-
877
-* ah/plugleaks (2021-04-28) 12 commits
878
- (merged to 'next' on 2021-04-30 at ccb3984029)
879
- + builtin/rm: avoid leaking pathspec and seen
880
- + builtin/rebase: release git_format_patch_opt too
881
- + builtin/for-each-ref: free filter and UNLEAK sorting.
882
- + mailinfo: also free strbuf lists when clearing mailinfo
883
- + builtin/checkout: clear pending objects after diffing
884
- + builtin/check-ignore: clear_pathspec before returning
885
- + builtin/bugreport: don't leak prefixed filename
886
- + branch: FREE_AND_NULL instead of NULL'ing real_ref
887
- + bloom: clear each bloom_key after use
888
- + ls-files: free max_prefix when done
889
- + wt-status: fix multiple small leaks
890
- + revision: free remainder of old commit list in limit_list
891
-
892
- Plug various leans reported by LSAN.
893
-
894
- Will merge to 'master'.
895
-
896
-
897
-* bc/hash-transition-interop-part-1 (2021-04-27) 13 commits
898
- (merged to 'next' on 2021-05-03 at 19dba33d17)
899
- + hex: print objects using the hash algorithm member
900
- + hex: default to the_hash_algo on zero algorithm value
901
- + builtin/pack-objects: avoid using struct object_id for pack hash
902
- + commit-graph: don't store file hashes as struct object_id
903
- + builtin/show-index: set the algorithm for object IDs
904
- + hash: provide per-algorithm null OIDs
905
- + hash: set, copy, and use algo field in struct object_id
906
- + builtin/pack-redundant: avoid casting buffers to struct object_id
907
- + Use the final_oid_fn to finalize hashing of object IDs
908
- + hash: add a function to finalize object IDs
909
- + http-push: set algorithm when reading object ID
910
- + Always use oidread to read into struct object_id
911
- + hash: add an algo member to struct object_id
912
-
913
- SHA-256 transition.
914
-
915
- Will merge to 'master'.
916
-
917
-
918
-* ps/rev-list-object-type-filter (2021-04-19) 8 commits
919
- (merged to 'next' on 2021-04-30 at fa0ceacde4)
920
- + rev-list: allow filtering of provided items
921
- + pack-bitmap: implement combined filter
922
- + pack-bitmap: implement object type filter
923
- + list-objects: implement object type filter
924
- + list-objects: support filtering by tag and commit
925
- + list-objects: move tag processing into its own function
926
- + revision: mark commit parents as NOT_USER_GIVEN
927
- + uploadpack.txt: document implication of `uploadpackfilter.allow`
928
-
929
- "git rev-list" learns the "--filter=object:type=<type>" option,
930
- which can be used to exclude objects of the given kind from the
931
- packfile generated by pack-objects.
932
-
933
- Will merge to 'master'.
934
-
935
-
896
* tb/multi-pack-bitmaps (2021-04-10) 23 commits
897
- p5326: perf tests for MIDX bitmaps
898
- p5310: extract full and partial bitmap tests
@@ -966,17 +926,7 @@ Release tarballs are available at:
926
cf. <cover.1617991824.git.me@ttaylorr.com>
927
928
969
-* ab/svn-tests-set-e-fix (2021-04-12) 2 commits
970
- (merged to 'next' on 2021-04-30 at 41f7907187)
971
- + svn tests: refactor away a "set -e" in test body
972
- + svn tests: remove legacy re-setup from init-clone test
973
-
974
- Test clean-up.
975
-
976
- Will merge to 'master'.
977
-
978
-
979
-* ab/test-lib-updates (2021-04-29) 11 commits
929
+* ab/test-lib-updates (2021-05-11) 11 commits
930
- test-lib: split up and deprecate test_create_repo()
931
- test-lib: do not show advice about init.defaultBranch under --verbose
932
- test-lib: reformat argument list in test_create_repo()
@@ -1014,24 +964,6 @@ Release tarballs are available at:
964
cf. <YHYZTLl90rkWWVOr@google.com>, <87a6q22dei.fsf@evledraar.gmail.com>
965
966
1017
-* ps/config-global-override (2021-04-27) 4 commits
1018
- (merged to 'next' on 2021-04-30 at 5ce435d98f)
1019
- + t1300: fix unset of GIT_CONFIG_NOSYSTEM leaking into subsequent tests
1020
- (merged to 'next' on 2021-04-20 at 82578c696d)
1021
- + config: allow overriding of global and system configuration
1022
- + config: unify code paths to get global config paths
1023
- + config: rename `git_etc_config()`
1024
-
1025
- Replace GIT_CONFIG_NOSYSTEM mechanism to decline from reading the
1026
- system-wide configuration file with GIT_CONFIG_SYSTEM that lets
1027
- users specify from which file to read the system-wide configuration
1028
- (setting it to an empty file would essentially be the same as
1029
- setting NOSYSTEM), and introduce GIT_CONFIG_GLOBAL to override the
1030
- per-user configuration in $HOME/.gitconfig.
1031
-
1032
- Will merge to 'master'.
1033
-
1034
-
967
* mr/bisect-in-c-4 (2021-04-11) 4 commits
968
- bisect--helper: retire `--bisect-next-check` subcommand
969
- bisect--helper: reimplement `bisect_run` shell function in C
@@ -1047,37 +979,6 @@ Release tarballs are available at:
979
May want to boost the test coverage.
980
981
1050
-* mt/add-rm-in-sparse-checkout (2021-04-08) 7 commits
1051
- (merged to 'next' on 2021-04-30 at ddead90eaf)
1052
- + rm: honor sparse checkout patterns
1053
- + add: warn when asked to update SKIP_WORKTREE entries
1054
- + refresh_index(): add flag to ignore SKIP_WORKTREE entries
1055
- + pathspec: allow to ignore SKIP_WORKTREE entries on index matching
1056
- + add: make --chmod and --renormalize honor sparse checkouts
1057
- + t3705: add tests for `git add` in sparse checkouts
1058
- + add: include magic part of pathspec on --refresh error
1059
- (this branch is used by ds/status-with-sparse-index.)
1060
-
1061
- "git add" and "git rm" learned not to touch those paths that are
1062
- outside of sparse checkout.
1063
-
1064
- Will merge to 'master'.
1065
-
1066
-
1067
-* zh/trailer-cmd (2021-05-04) 2 commits
1068
- (merged to 'next' on 2021-05-04 at fb677877f7)
1069
- + trailer: add new .cmd config option
1070
- + docs: correct descript of trailer.<token>.command
1071
-
1072
- The way the command line specified by the trailer.<token>.command
1073
- configuration variable receives the end-user supplied value was
1074
- both error prone and misleading. An alternative to achieve the
1075
- same goal in a safer and more intuitive way has been added, as
1076
- the trailer.<token>.cmd configuration variable, to replace it.
1077
-
1078
- Will merge to 'master'.
1079
-
1080
-
982
* hn/reftable (2021-04-20) 28 commits
983
- t1404: annotate test cases with REFFILES
984
- t1401,t2011: parameterize HEAD.lock for REFTABLE