What's cooking (2020/01 #01)
Junio C Hamano committed
Jan 2, 2020 at 15:02 UTC
6707daf50aa8285eef21e9cd527dec519e0474f6
1 file changed
+339
-422
whats-cooking.txt
+339
-422
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Dec 2019, #05; Thu, 26)
4
-X-master-at: 0a76bd7381ec0dbb7c43776eb6d1ac906bca29e6
5
-X-next-at: ca9f1ec99ff3ed584eec58c085a342c9c37d2919
3
+Subject: What's cooking in git.git (Jan 2020, #01; Thu, 2)
4
+X-master-at: 8679ef24ed64018bb62170c43ce73e0261c0600a
5
+X-next-at: 88dfdc41939891b16a5f8d00053e9c81d6d73f4e
6
7
-What's cooking in git.git (Dec 2019, #05; Thu, 26)
7
+What's cooking in git.git (Jan 2020, #01; Thu, 2)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,7 +12,8 @@ Here are the topics that have been cooking. Commits prefixed with
12
'+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
-The early preview for the upcoming Git 2.25 has been tagged.
15
+The first release candidate for this cycle v2.25.0-rc1 has been
16
+tagged.
17
18
You can find the changes described here in the integration branches
19
of the repositories listed at
@@ -22,340 +23,19 @@ of the repositories listed at
23
--------------------------------------------------
24
[Graduated to "master"]
25
25
-* am/pathspec-f-f-checkout (2019-12-04) 7 commits
26
- (merged to 'next' on 2019-12-10 at 6b018bd997)
27
- + checkout, restore: support the --pathspec-from-file option
28
- + doc: restore: synchronize <pathspec> description
29
- + doc: checkout: synchronize <pathspec> description
30
- + doc: checkout: fix broken text reference
31
- + doc: checkout: remove duplicate synopsis
32
- + add: support the --pathspec-from-file option
33
- + cmd_add: prepare for next patch
34
-
35
- A few more commands learned the "--pathspec-from-file" command line
36
- option.
37
-
38
-
39
-* am/pathspec-from-file (2019-12-18) 1 commit
40
- (merged to 'next' on 2019-12-19 at e250cc9b88)
41
- + commit: forbid --pathspec-from-file --all
42
-
43
- An earlier series to teach "--pathspec-from-file" to "git commit"
44
- forgot to make the option incompatible with "--all", which has been
45
- corrected.
46
-
47
-
48
-* dl/format-patch-notes-config-fixup (2019-12-18) 8 commits
49
- (merged to 'next' on 2019-12-19 at 1abc6941e0)
50
- + notes.h: fix typos in comment
51
- (merged to 'next' on 2019-12-16 at e4da5b93bb)
52
- + notes: break set_display_notes() into smaller functions
53
- + config/format.txt: clarify behavior of multiple format.notes
54
- (merged to 'next' on 2019-12-10 at 2d8830090f)
55
- + format-patch: move git_config() before repo_init_revisions()
56
- + format-patch: use --notes behavior for format.notes
57
- + notes: extract logic into set_display_notes()
58
- + notes: create init_display_notes() helper
59
- + notes: rename to load_display_notes()
60
-
61
- "git format-patch" can take a set of configured format.notes values
62
- to specify which notes refs to use in the log message part of the
63
- output. The behaviour of this was not consistent with multiple
64
- --notes command line options, which has been corrected.
65
-
66
-
67
-* ds/sparse-cone (2019-12-20) 21 commits
68
- (merged to 'next' on 2019-12-20 at 4f33a10613)
69
- + sparse-checkout: improve OS ls compatibility
70
- (merged to 'next' on 2019-12-16 at c840c1d816)
71
- + sparse-checkout: respect core.ignoreCase in cone mode
72
- + sparse-checkout: check for dirty status
73
- + sparse-checkout: update working directory in-process for 'init'
74
- + sparse-checkout: cone mode should not interact with .gitignore
75
- + sparse-checkout: write using lockfile
76
- + sparse-checkout: use in-process update for disable subcommand
77
- + sparse-checkout: update working directory in-process
78
- + sparse-checkout: sanitize for nested folders
79
- + unpack-trees: add progress to clear_ce_flags()
80
- + unpack-trees: hash less in cone mode
81
- + sparse-checkout: init and set in cone mode
82
- + sparse-checkout: use hashmaps for cone patterns
83
- + sparse-checkout: add 'cone' mode
84
- + trace2: add region in clear_ce_flags
85
- + sparse-checkout: create 'disable' subcommand
86
- + sparse-checkout: add '--stdin' option to set subcommand
87
- + sparse-checkout: 'set' subcommand
88
- + clone: add --sparse mode
89
- + sparse-checkout: create 'init' subcommand
90
- + sparse-checkout: create builtin with 'list' subcommand
91
-
92
- Management of sparsely checked-out working tree has gained a
93
- dedicated "sparse-checkout" command.
94
-
95
-
96
-* en/fill-directory-fixes (2019-12-20) 9 commits
97
- (merged to 'next' on 2019-12-20 at 671cf755f4)
98
- + dir.c: use st_add3() for allocation size
99
- (merged to 'next' on 2019-12-19 at 80ad3150d6)
100
- + dir: consolidate similar code in treat_directory()
101
- + dir: synchronize treat_leading_path() and read_directory_recursive()
102
- + dir: fix checks on common prefix directory
103
- + dir: break part of read_directory_recursive() out for reuse
104
- + dir: exit before wildcard fall-through if there is no wildcard
105
- + dir: remove stray quote character in comment
106
- + Revert "dir.c: make 'git-status --ignored' work within leading directories"
107
- + t3011: demonstrate directory traversal failures
108
-
109
- Assorted fixes to the directory traversal API.
110
-
111
-
112
-* ja/doc-markup-cleanup (2019-12-13) 2 commits
113
- (merged to 'next' on 2019-12-19 at 61abb4a06d)
114
- + doc: indent multi-line items in list
115
- + doc: remove non pure ASCII characters
116
-
117
- Doc cleanup.
118
-
119
-
120
-* jc/drop-gen-hdrs (2019-12-13) 1 commit
121
- (merged to 'next' on 2019-12-19 at 4867cc601b)
122
- + Makefile: drop GEN_HDRS
123
-
124
- Code cleanup.
125
-
126
-
127
-* js/add-p-in-c (2019-12-13) 19 commits
128
- (merged to 'next' on 2019-12-19 at c0deed90ab)
129
- + built-in add -p: show helpful hint when nothing can be staged
130
- + built-in add -p: only show the applicable parts of the help text
131
- + built-in add -p: implement the 'q' ("quit") command
132
- + built-in add -p: implement the '/' ("search regex") command
133
- + built-in add -p: implement the 'g' ("goto") command
134
- + built-in add -p: implement hunk editing
135
- + strbuf: add a helper function to call the editor "on an strbuf"
136
- + built-in add -p: coalesce hunks after splitting them
137
- + built-in add -p: implement the hunk splitting feature
138
- + built-in add -p: show different prompts for mode changes and deletions
139
- + built-in app -p: allow selecting a mode change as a "hunk"
140
- + built-in add -p: handle deleted empty files
141
- + built-in add -p: support multi-file diffs
142
- + built-in add -p: offer a helpful error message when hunk navigation failed
143
- + built-in add -p: color the prompt and the help text
144
- + built-in add -p: adjust hunk headers as needed
145
- + built-in add -p: show colored hunks by default
146
- + built-in add -i: wire up the new C code for the `patch` command
147
- + built-in add -i: start implementing the `patch` functionality in C
148
- (this branch is used by js/patch-mode-in-others-in-c.)
149
-
150
- The effort to move "git-add--interactive" to C continues.
151
-
152
-
153
-* ln/userdiff-elixir (2019-12-13) 1 commit
154
- (merged to 'next' on 2019-12-17 at fcd1f5f18b)
155
- + userdiff: remove empty subexpression from elixir regex
156
-
157
- Hotfix.
158
-
159
-
160
-* mr/bisect-save-pointer-to-const-string (2019-12-17) 1 commit
161
- (merged to 'next' on 2019-12-19 at 03bb33ae74)
162
- + bisect--helper: convert `*_warning` char pointers to char arrays.
163
-
164
- Code cleanup.
165
-
166
-
167
-* mr/bisect-use-after-free (2019-12-11) 1 commit
168
- (merged to 'next' on 2019-12-17 at 64cd5c4622)
169
- + bisect--helper: avoid use-after-free
170
-
171
- Use-after-free fix.
172
-
173
-
174
-* pb/submodule-doc-xref (2019-12-11) 1 commit
175
- (merged to 'next' on 2019-12-19 at 3b52089f77)
176
- + gitmodules: link to gitsubmodules guide
177
-
178
- Doc update.
179
-
180
-
181
-* ra/t5150-depends-on-perl (2019-11-27) 1 commit
182
- (merged to 'next' on 2019-12-16 at 69bb280692)
183
- + t5150: skip request-pull test if Perl is disabled
184
-
185
- Some Porcelain commands are written in Perl, and tests on them are
186
- expected not to work when the platform lacks a working perl.
187
-
188
-
189
-* rb/p4-lfs (2019-12-11) 1 commit
190
- (merged to 'next' on 2019-12-19 at 0e6e76a524)
191
- + git-p4: honor lfs.storage configuration variable
192
-
193
- "git p4" used to ignore lfs.storage configuration variable, which
194
- has been corrected.
195
-
196
-
197
-* rs/ref-read-cleanup (2019-12-11) 2 commits
198
- (merged to 'next' on 2019-12-19 at 9eb61e8d53)
199
- + remote: pass NULL to read_ref_full() because object ID is not needed
200
- + refs: pass NULL to refs_read_ref_full() because object ID is not needed
201
-
202
- Code cleanup.
203
-
204
-
205
-* rs/test-cleanup (2019-12-18) 5 commits
206
- (merged to 'next' on 2019-12-19 at 116f80bacd)
207
- + t6030: don't create unused file
208
- + t5580: don't create unused file
209
- + t3501: don't create unused file
210
- + t7004: don't create unused file
211
- + t4256: don't create unused file
212
-
213
- Test cleanup.
214
-
215
-
216
-* rs/xdiff-ignore-ws-w-func-context (2019-12-19) 1 commit
217
- (merged to 'next' on 2019-12-19 at 9e0cb7aa55)
218
- + t4015: improve coverage of function context test
219
-
220
- Extend test coverage for a recent fix.
221
-
222
-
223
-* sg/name-rev-wo-recursion (2019-12-09) 14 commits
224
- (merged to 'next' on 2019-12-16 at ce57cd054f)
225
- + name-rev: cleanup name_ref()
226
- + name-rev: eliminate recursion in name_rev()
227
- + name-rev: use 'name->tip_name' instead of 'tip_name'
228
- + name-rev: drop name_rev()'s 'generation' and 'distance' parameters
229
- + name-rev: restructure creating/updating 'struct rev_name' instances
230
- + name-rev: restructure parsing commits and applying date cutoff
231
- + name-rev: pull out deref handling from the recursion
232
- + name-rev: extract creating/updating a 'struct name_rev' into a helper
233
- + t6120: add a test to cover inner conditions in 'git name-rev's name_rev()
234
- + name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation
235
- + name-rev: avoid unnecessary cast in name_ref()
236
- + name-rev: use strbuf_strip_suffix() in get_rev_name()
237
- + t6120-describe: modernize the 'check_describe' helper
238
- + t6120-describe: correct test repo history graph in comment
239
-
240
- Redo "git name-rev" to avoid recursive calls.
241
-
242
---------------------------------------------------
243
-[New Topics]
244
-
245
-* hw/commit-advise-while-rejecting (2019-12-19) 1 commit
246
- - commit: honor advice.statusHints when rejecting an empty commit
247
-
248
- "git commit" gives output similar to "git status" when there is
249
- nothing to commit, but without honoring the advise.statusHints
250
- configuration variable, which has been corrected.
251
-
252
-
253
-* yz/p4-py3 (2019-12-17) 14 commits
254
- - ci: also run linux-gcc pipeline with python3.5 environment
255
- - git-p4: use python3's input() everywhere
256
- - git-p4: simplify regex pattern generation for parsing diff-tree
257
- - git-p4: use dict.items() iteration for python3 compatibility
258
- - git-p4: use functools.reduce instead of reduce
259
- - git-p4: fix freezing while waiting for fast-import progress
260
- - git-p4: use marshal format version 2 when sending to p4
261
- - git-p4: open .gitp4-usercache.txt in text mode
262
- - git-p4: convert path to unicode before processing them
263
- - git-p4: encode/decode communication with git for python3
264
- - git-p4: encode/decode communication with p4 for python3
265
- - git-p4: remove string type aliasing
266
- - git-p4: change the expansion test from basestring to list
267
- - git-p4: make python2.7 the oldest supported version
268
-
269
- Update "git p4" to work with Python 3.
270
-
271
-
272
-* hi/gpg-mintrustlevel (2019-12-24) 1 commit
273
- - gpg-interface: add minTrustLevel as a configuration option
274
-
275
- gpg.minTrustLevel configuration variable has been introduced to
276
- tell various signature verification codepaths the required minimum
277
- trust level.
278
-
279
- Will merge to 'next'.
280
-
281
-
282
-* sg/completion-worktree (2019-12-19) 6 commits
283
- (merged to 'next' on 2019-12-25 at 42c895ab3b)
284
- + completion: list paths and refs for 'git worktree add'
285
- + completion: list existing working trees for 'git worktree' subcommands
286
- + completion: simplify completing 'git worktree' subcommands and options
287
- + completion: return the index of found word from __git_find_on_cmdline()
288
- + completion: clean up the __git_find_on_cmdline() helper function
289
- + t9902-completion: add tests for the __git_find_on_cmdline() helper
290
-
291
- The command line completion (in contrib/) learned to complete
292
- subcommands and arguments to "git worktree".
293
-
294
- Will cook in 'next'.
295
-
296
-
297
-* dl/credential-netrc (2019-12-20) 2 commits
298
- (merged to 'next' on 2019-12-25 at 1fd27f81ac)
299
- + contrib/credential/netrc: work outside a repo
300
- + contrib/credential/netrc: make PERL_PATH configurable
301
-
302
- Sample credential helper for using .netrc has been updated to work
303
- out of the box.
304
-
305
- Will cook in 'next'.
306
-
307
-
308
-* dl/test-must-fail-fixes (2019-12-20) 15 commits
309
- (merged to 'next' on 2019-12-25 at 3ef7c70bc5)
310
- + t1507: inline full_name()
311
- + t1507: run commands within test_expect_success
312
- + t1507: stop losing return codes of git commands
313
- + t1501: remove use of `test_might_fail cp`
314
- + t1409: use test_path_is_missing()
315
- + t1409: let sed open its own input file
316
- + t1307: reorder `nongit test_must_fail`
317
- + t1306: convert `test_might_fail rm` to `rm -f`
318
- + t0020: use ! check_packed_refs_marked
319
- + t0020: don't use `test_must_fail has_cr`
320
- + t0003: don't use `test_must_fail attr_check`
321
- + t0003: use test_must_be_empty()
322
- + t0003: use named parameters in attr_check()
323
- + t0000: replace test_must_fail with run_sub_test_lib_test_err()
324
- + t/lib-git-p4: use test_path_is_missing()
325
-
326
- Test clean-up.
26
+* bk/p4-misc-usability (2019-12-16) 2 commits
27
+ (merged to 'next' on 2019-12-25 at b4789bcb08)
28
+ + git-p4: show detailed help when parsing options fail
29
+ + git-p4: yes/no prompts should sanitize user text
30
+ (this branch is used by bk/p4-exception-cleanup.)
31
328
- Will cook in 'next'.
32
+ Miscellaneous small UX improvements on "git-p4".
33
34
35
* em/freebsd-cirrus-ci (2019-12-20) 1 commit
36
(merged to 'next' on 2019-12-25 at b6b609fbf0)
37
+ CI: add FreeBSD CI support via Cirrus-CI
38
335
- Will merge to 'master'.
336
-
337
-
338
-* en/rebase-backend (2019-12-26) 15 commits
339
- - rebase: change the default backend from "am" to "merge"
340
- - rebase: make the backend configurable via config setting
341
- - rebase tests: repeat some tests using the merge backend instead of am
342
- - rebase tests: mark tests specific to the am-backend with --am
343
- - git-prompt: change the prompt for interactive-based rebases
344
- - rebase: add an --am option
345
- - rebase: move incompatibility checks between backend options a bit earlier
346
- - git-rebase.txt: add more details about behavioral differences of backends
347
- - rebase: allow more types of rebases to fast-forward
348
- - t3432: make these tests work with either am or merge backends
349
- - rebase: fix handling of restrict_revision
350
- - rebase: make sure to pass along the quiet flag to the sequencer
351
- - rebase, sequencer: remove the broken GIT_QUIET handling
352
- - t3406: simplify an already simple test
353
- - rebase: extend the options for handling of empty commits
354
-
355
- "git rebase" has learned to use the sequencer backend by default,
356
- while allowing "--am" option to go back to the traditional "am"
357
- backend.
358
-
39
40
* en/rebase-signoff-fix (2019-12-20) 1 commit
41
(merged to 'next' on 2019-12-25 at 96d84920b5)
@@ -364,103 +44,134 @@ of the repositories listed at
44
"git rebase --signoff" stopped working when the command was written
45
in C, which has been corrected.
46
367
- Will merge to 'master'.
47
48
+* js/mingw-reserved-filenames (2019-12-21) 2 commits
49
+ (merged to 'next' on 2019-12-30 at 5b814fd785)
50
+ + mingw: refuse paths containing reserved names
51
+ + mingw: short-circuit the conversion of `/dev/null` to UTF-16
52
370
-* bc/hash-independent-tests-part-7 (2019-12-24) 20 commits
371
- - t5604: make hash independent
372
- - t5601: switch into repository to hash object
373
- - t5562: use $ZERO_OID
374
- - t5540: make hash size independent
375
- - t5537: make hash size independent
376
- - t5530: compute results based on object length
377
- - t5512: abstract away SHA-1-specific constants
378
- - t5510: make hash size independent
379
- - t5504: make hash algorithm independent
380
- - t5324: make hash size independent
381
- - t5319: make test work with SHA-256
382
- - t5319: change invalid offset for SHA-256 compatibility
383
- - t5318: update for SHA-256
384
- - t4300: abstract away SHA-1-specific constants
385
- - t4204: make hash size independent
386
- - t4202: abstract away SHA-1-specific constants
387
- - t4200: make hash size independent
388
- - t4134: compute appropriate length constant
389
- - t4066: compute index line in diffs
390
- - t4054: make hash-size independent
53
+ Forbid pathnames that the platform's filesystem cannot represent on
54
+ MinGW.
55
392
- Preparation of test scripts for the day when the object names will
393
- use SHA-256 continues.
56
395
- Will merge to 'next'.
57
+* js/use-test-tool-on-path (2019-12-27) 1 commit
58
+ (merged to 'next' on 2019-12-30 at fe59c1996d)
59
+ + t3008: find test-tool through path lookup
60
61
+ Test fix.
62
398
-* js/mingw-reserved-filenames (2019-12-21) 2 commits
399
- - mingw: refuse paths containing reserved names
400
- - mingw: short-circuit the conversion of `/dev/null` to UTF-16
63
+--------------------------------------------------
64
+[New Topics]
65
402
- Forbid pathnames that the platform's filesystem cannot represent on
403
- MinGW.
66
+* dl/merge-autostash (2019-12-26) 17 commits
67
+ - pull: pass --autostash to merge
68
+ - t5520: make test_pull_autostash() accept expect_parent_num
69
+ - merge: teach --autostash option
70
+ - sequencer: unlink autostash in apply_autostash()
71
+ - sequencer: extract perform_autostash() from rebase
72
+ - rebase: generify create_autostash()
73
+ - rebase: extract create_autostash()
74
+ - reset: extract reset_head() from rebase
75
+ - rebase: generify reset_head()
76
+ - rebase: use apply_autostash() from sequencer.c
77
+ - sequencer: make apply_rebase() accept a path
78
+ - rebase: use read_oneliner()
79
+ - sequencer: make read_oneliner() extern
80
+ - sequencer: configurably warn on non-existent files
81
+ - sequencer: use file strbuf for read_oneliner()
82
+ - t7600: use test_write_lines()
83
+ - Makefile: alphabetically sort += lists
84
+
85
+ "git merge" learns the "--autostash" option.
86
+
87
+
88
+* dl/test-must-fail-fixes-2 (2019-12-27) 16 commits
89
+ - t4124: let sed open its own files
90
+ - t4124: only mark git command with test_must_fail
91
+ - t3507: use test_path_is_missing()
92
+ - t3507: fix indentation
93
+ - t3504: do check for conflict marker after failed cherry-pick
94
+ - t3419: stop losing return code of git command
95
+ - t3415: increase granularity of test_auto_{fixup,squash}()
96
+ - t3415: stop losing return codes of git commands
97
+ - t3310: extract common no_notes_merge_left()
98
+ - t3030: use test_path_is_missing()
99
+ - t2018: replace "sha" with "oid"
100
+ - t2018: don't lose return code of git commands
101
+ - t2018: teach do_checkout() to accept `!` arg
102
+ - t2018: use test_must_fail for failing git commands
103
+ - t2018: add space between function name and ()
104
+ - t2018: remove trailing space from test description
105
+
106
+ Test updates.
107
+
108
+ Not quite.
109
+ cf. <CAPig+cQo1nbRo=n8-XOtycGijj3k1y_Zozu7VW-WTSBB9LncqQ@mail.gmail.com>
110
+ cf. <86lfqt36ah.fsf@gmail.com>
111
+
112
+
113
+* jn/promote-proto2-to-default (2019-12-27) 5 commits
114
+ - fetch: default to protocol version 2
115
+ - protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION
116
+ - test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate
117
+ - config doc: protocol.version is not experimental
118
+ - fetch test: use more robust test for filtered objects
119
+ (this branch uses jn/test-lint-one-shot-export-to-shell-function.)
120
+
121
+ The transport protocol version 2 becomes the default one.
122
+
123
+
124
+* ds/sparse-list-in-cone-mode (2019-12-30) 2 commits
125
+ - sparse-checkout: document interactions with submodules
126
+ - sparse-checkout: list directories in cone mode
127
+
128
+ "git sparse-checkout list" subcommand learned to give its output in
129
+ a more concise form when the "cone" mode is in effect.
130
405
- Will merge to 'next' and then to 'master'.
131
+ Will merge to 'next'.
132
133
408
-* bk/p4-exception-cleanup (2019-12-16) 2 commits
409
- - git-p4: failure because of RCS keywords should show help
410
- - git-p4: wrap patchRCSKeywords test to revert changes on failure
411
- (this branch uses bk/p4-misc-usability.)
134
+* am/test-pathspec-f-f-error-cases (2020-01-02) 1 commit
135
+ - t: add tests for error conditions with --pathspec-from-file
136
137
+ More tests.
138
414
-* ew/packfile-syscall-optim (2019-12-26) 2 commits
415
- - packfile: replace lseek+read with pread
416
- - packfile: remove redundant fcntl F_GETFD/F_SETFD
139
+ Will merge to 'next'.
140
418
- Code cleanup.
141
420
- Will merge to 'next'.
142
+* ds/sparse-cone (2020-01-02) 1 commit
143
+ - sparse-checkout: use extern for global variables
144
145
+ Code cleanup.
146
423
-* jn/test-lint-one-shot-export-to-shell-function (2019-12-26) 2 commits
424
- - t/check-non-portable-shell: detect "FOO= shell_func", too
425
- - fetch test: avoid use of "VAR= cmd" with a shell function
426
- (this branch is used by jn/promote-proto2-to-default.)
147
+ Will merge to 'next' and then to 'master'.
148
428
- The test-lint machinery knew to check "VAR=VAL shell_function"
429
- construct, but did not check "VAR= shell_funciton", which has been
430
- corrected.
149
432
- Will merge to 'next'.
150
+* en/merge-recursive-oid-eq-simplify (2020-01-02) 1 commit
151
+ - merge-recursive: remove unnecessary oid_eq function
152
153
+ Code cleanup.
154
435
-* js/add-p-leftover-bits (2019-12-24) 9 commits
436
- - ci: include the built-in `git add -i` in the `linux-gcc` job
437
- - built-in add -p: handle Escape sequences more efficiently
438
- - built-in add -p: handle Escape sequences in interactive.singlekey mode
439
- - built-in add -p: respect the `interactive.singlekey` config setting
440
- - terminal: add a new function to read a single keystroke
441
- - terminal: accommodate Git for Windows' default terminal
442
- - terminal: make the code of disable_echo() reusable
443
- - built-in add -p: handle diff.algorithm
444
- - built-in add -p: support interactive.diffFilter
445
- (this branch uses js/patch-mode-in-others-in-c.)
155
+ Will merge to 'next'.
156
157
448
-* js/mingw-loosen-overstrict-tree-entry-checks (2019-12-26) 1 commit
449
- - mingw: only test index entries for backslashes, not tree entries
158
+* jt/sha1-file-remove-oi-skip-cached (2020-01-02) 1 commit
159
+ - sha1-file: remove OBJECT_INFO_SKIP_CACHED
160
451
- An earlier update to Git for Windows declared that a tree object is
452
- invalid if it has a path component with backslash in it, which was
453
- overly strict, which has been corrected. The only protection the
454
- Windows users need is to prevent such path (or any path that their
455
- filesystem cannot check out) from entering the index.
161
+ has_object_file() said "no" given an object registered to the
162
+ system via pretend_object_file(), making it inconsistent with
163
+ read_object_file(), causing lazy fetch to attempt fetching an
164
+ empty tree from promisor remotes.
165
166
+ Will merge to 'next'.
167
168
459
-* pb/clarify-line-log-doc (2019-12-26) 2 commits
460
- - doc: log, gitk: line-log arguments must exist in starting revision
461
- - doc: log, gitk: document accepted line-log diff formats
169
+* ds/commit-graph-set-size-mult (2020-01-02) 1 commit
170
+ - commit-graph: prefer default size_mult when given zero
171
463
- Doc update.
172
+ The code to write split commit-graph file(s) upon fetching computed
173
+ bogus value for the parameter used in splitting the resulting
174
+ files, which has been corrected.
175
176
Will merge to 'next'.
177
@@ -608,6 +319,220 @@ of the repositories listed at
319
--------------------------------------------------
320
[Cooking]
321
322
+* hw/commit-advise-while-rejecting (2019-12-19) 1 commit
323
+ (merged to 'next' on 2019-12-30 at e26700d582)
324
+ + commit: honor advice.statusHints when rejecting an empty commit
325
+
326
+ "git commit" gives output similar to "git status" when there is
327
+ nothing to commit, but without honoring the advise.statusHints
328
+ configuration variable, which has been corrected.
329
+
330
+ Will cook in 'next'.
331
+
332
+
333
+* yz/p4-py3 (2019-12-17) 14 commits
334
+ (merged to 'next' on 2019-12-30 at cd67de932d)
335
+ + ci: also run linux-gcc pipeline with python3.5 environment
336
+ + git-p4: use python3's input() everywhere
337
+ + git-p4: simplify regex pattern generation for parsing diff-tree
338
+ + git-p4: use dict.items() iteration for python3 compatibility
339
+ + git-p4: use functools.reduce instead of reduce
340
+ + git-p4: fix freezing while waiting for fast-import progress
341
+ + git-p4: use marshal format version 2 when sending to p4
342
+ + git-p4: open .gitp4-usercache.txt in text mode
343
+ + git-p4: convert path to unicode before processing them
344
+ + git-p4: encode/decode communication with git for python3
345
+ + git-p4: encode/decode communication with p4 for python3
346
+ + git-p4: remove string type aliasing
347
+ + git-p4: change the expansion test from basestring to list
348
+ + git-p4: make python2.7 the oldest supported version
349
+
350
+ Update "git p4" to work with Python 3.
351
+
352
+ Will cook in 'next'.
353
+
354
+
355
+* hi/gpg-mintrustlevel (2019-12-27) 1 commit
356
+ (merged to 'next' on 2019-12-30 at 6c790280d2)
357
+ + gpg-interface: add minTrustLevel as a configuration option
358
+
359
+ gpg.minTrustLevel configuration variable has been introduced to
360
+ tell various signature verification codepaths the required minimum
361
+ trust level.
362
+
363
+ Will cook in 'next'.
364
+
365
+
366
+* sg/completion-worktree (2019-12-19) 6 commits
367
+ (merged to 'next' on 2019-12-25 at 42c895ab3b)
368
+ + completion: list paths and refs for 'git worktree add'
369
+ + completion: list existing working trees for 'git worktree' subcommands
370
+ + completion: simplify completing 'git worktree' subcommands and options
371
+ + completion: return the index of found word from __git_find_on_cmdline()
372
+ + completion: clean up the __git_find_on_cmdline() helper function
373
+ + t9902-completion: add tests for the __git_find_on_cmdline() helper
374
+
375
+ The command line completion (in contrib/) learned to complete
376
+ subcommands and arguments to "git worktree".
377
+
378
+ Will cook in 'next'.
379
+
380
+
381
+* dl/credential-netrc (2019-12-20) 2 commits
382
+ (merged to 'next' on 2019-12-25 at 1fd27f81ac)
383
+ + contrib/credential/netrc: work outside a repo
384
+ + contrib/credential/netrc: make PERL_PATH configurable
385
+
386
+ Sample credential helper for using .netrc has been updated to work
387
+ out of the box.
388
+
389
+ Will cook in 'next'.
390
+
391
+
392
+* dl/test-must-fail-fixes (2019-12-20) 15 commits
393
+ (merged to 'next' on 2019-12-25 at 3ef7c70bc5)
394
+ + t1507: inline full_name()
395
+ + t1507: run commands within test_expect_success
396
+ + t1507: stop losing return codes of git commands
397
+ + t1501: remove use of `test_might_fail cp`
398
+ + t1409: use test_path_is_missing()
399
+ + t1409: let sed open its own input file
400
+ + t1307: reorder `nongit test_must_fail`
401
+ + t1306: convert `test_might_fail rm` to `rm -f`
402
+ + t0020: use ! check_packed_refs_marked
403
+ + t0020: don't use `test_must_fail has_cr`
404
+ + t0003: don't use `test_must_fail attr_check`
405
+ + t0003: use test_must_be_empty()
406
+ + t0003: use named parameters in attr_check()
407
+ + t0000: replace test_must_fail with run_sub_test_lib_test_err()
408
+ + t/lib-git-p4: use test_path_is_missing()
409
+
410
+ Test clean-up.
411
+
412
+ Will cook in 'next'.
413
+
414
+
415
+* en/rebase-backend (2019-12-26) 15 commits
416
+ (merged to 'next' on 2019-12-30 at 5b58e268d6)
417
+ + rebase: change the default backend from "am" to "merge"
418
+ + rebase: make the backend configurable via config setting
419
+ + rebase tests: repeat some tests using the merge backend instead of am
420
+ + rebase tests: mark tests specific to the am-backend with --am
421
+ + git-prompt: change the prompt for interactive-based rebases
422
+ + rebase: add an --am option
423
+ + rebase: move incompatibility checks between backend options a bit earlier
424
+ + git-rebase.txt: add more details about behavioral differences of backends
425
+ + rebase: allow more types of rebases to fast-forward
426
+ + t3432: make these tests work with either am or merge backends
427
+ + rebase: fix handling of restrict_revision
428
+ + rebase: make sure to pass along the quiet flag to the sequencer
429
+ + rebase, sequencer: remove the broken GIT_QUIET handling
430
+ + t3406: simplify an already simple test
431
+ + rebase: extend the options for handling of empty commits
432
+
433
+ "git rebase" has learned to use the sequencer backend by default,
434
+ while allowing "--am" option to go back to the traditional "am"
435
+ backend.
436
+
437
+ Will cook in 'next'.
438
+
439
+
440
+* bc/hash-independent-tests-part-7 (2019-12-24) 20 commits
441
+ (merged to 'next' on 2019-12-30 at 0eedb894ba)
442
+ + t5604: make hash independent
443
+ + t5601: switch into repository to hash object
444
+ + t5562: use $ZERO_OID
445
+ + t5540: make hash size independent
446
+ + t5537: make hash size independent
447
+ + t5530: compute results based on object length
448
+ + t5512: abstract away SHA-1-specific constants
449
+ + t5510: make hash size independent
450
+ + t5504: make hash algorithm independent
451
+ + t5324: make hash size independent
452
+ + t5319: make test work with SHA-256
453
+ + t5319: change invalid offset for SHA-256 compatibility
454
+ + t5318: update for SHA-256
455
+ + t4300: abstract away SHA-1-specific constants
456
+ + t4204: make hash size independent
457
+ + t4202: abstract away SHA-1-specific constants
458
+ + t4200: make hash size independent
459
+ + t4134: compute appropriate length constant
460
+ + t4066: compute index line in diffs
461
+ + t4054: make hash-size independent
462
+
463
+ Preparation of test scripts for the day when the object names will
464
+ use SHA-256 continues.
465
+
466
+ Will cook in 'next'.
467
+
468
+
469
+* bk/p4-exception-cleanup (2019-12-16) 2 commits
470
+ - git-p4: failure because of RCS keywords should show help
471
+ - git-p4: wrap patchRCSKeywords test to revert changes on failure
472
+
473
+ Will discard for now.
474
+
475
+
476
+* ew/packfile-syscall-optim (2019-12-26) 2 commits
477
+ (merged to 'next' on 2019-12-30 at ada15abf22)
478
+ + packfile: replace lseek+read with pread
479
+ + packfile: remove redundant fcntl F_GETFD/F_SETFD
480
+
481
+ Code cleanup.
482
+
483
+ Will cook in 'next'.
484
+
485
+
486
+* jn/test-lint-one-shot-export-to-shell-function (2019-12-27) 3 commits
487
+ (merged to 'next' on 2019-12-30 at d08f039473)
488
+ + fetch test: mark test of "skipping" haves as v0-only
489
+ + t/check-non-portable-shell: detect "FOO= shell_func", too
490
+ + fetch test: avoid use of "VAR= cmd" with a shell function
491
+ (this branch is used by jn/promote-proto2-to-default.)
492
+
493
+ The test-lint machinery knew to check "VAR=VAL shell_function"
494
+ construct, but did not check "VAR= shell_funciton", which has been
495
+ corrected.
496
+
497
+ Will cook in 'next'.
498
+
499
+
500
+* js/add-p-leftover-bits (2019-12-24) 9 commits
501
+ - ci: include the built-in `git add -i` in the `linux-gcc` job
502
+ - built-in add -p: handle Escape sequences more efficiently
503
+ - built-in add -p: handle Escape sequences in interactive.singlekey mode
504
+ - built-in add -p: respect the `interactive.singlekey` config setting
505
+ - terminal: add a new function to read a single keystroke
506
+ - terminal: accommodate Git for Windows' default terminal
507
+ - terminal: make the code of disable_echo() reusable
508
+ - built-in add -p: handle diff.algorithm
509
+ - built-in add -p: support interactive.diffFilter
510
+ (this branch uses js/patch-mode-in-others-in-c.)
511
+
512
+
513
+* js/mingw-loosen-overstrict-tree-entry-checks (2020-01-02) 1 commit
514
+ (merged to 'next' on 2020-01-02 at 3088a0ccf1)
515
+ + mingw: only test index entries for backslashes, not tree entries
516
+
517
+ An earlier update to Git for Windows declared that a tree object is
518
+ invalid if it has a path component with backslash in it, which was
519
+ overly strict, which has been corrected. The only protection the
520
+ Windows users need is to prevent such path (or any path that their
521
+ filesystem cannot check out) from entering the index.
522
+
523
+ Will merge to 'master'.
524
+
525
+
526
+* pb/clarify-line-log-doc (2019-12-26) 2 commits
527
+ (merged to 'next' on 2019-12-30 at 7a4e15a436)
528
+ + doc: log, gitk: line-log arguments must exist in starting revision
529
+ + doc: log, gitk: document accepted line-log diff formats
530
+
531
+ Doc update.
532
+
533
+ Will cook in 'next'.
534
+
535
+
536
* pw/advise-rebase-skip (2019-12-06) 9 commits
537
- rebase -i: leave CHERRY_PICK_HEAD when there are conflicts
538
- rebase: fix advice when a fixup creates an empty commit
@@ -623,34 +548,24 @@ of the repositories listed at
548
or amending during an interrupted cherry-pick was broken during the
549
rewrite of "git rebase" in C, which has been corrected.
550
626
- Needs review.
551
+ What's the status of this one?
552
The tip two are still RFC.
553
554
630
-* bk/p4-misc-usability (2019-12-16) 2 commits
631
- (merged to 'next' on 2019-12-25 at b4789bcb08)
632
- + git-p4: show detailed help when parsing options fail
633
- + git-p4: yes/no prompts should sanitize user text
634
- (this branch is used by bk/p4-exception-cleanup.)
635
-
636
- Miscellaneous small UX improvements on "git-p4".
637
-
638
- Will merge to 'master'.
639
-
640
-
555
* js/patch-mode-in-others-in-c (2019-12-21) 7 commits
642
- - commit --interactive: make it work with the built-in `add -i`
643
- - built-in add -p: implement the "worktree" patch modes
644
- - built-in add -p: implement the "checkout" patch modes
645
- - built-in stash: use the built-in `git add -p` if so configured
646
- - legacy stash -p: respect the add.interactive.usebuiltin setting
647
- - built-in add -p: implement the "stash" and "reset" patch modes
648
- - built-in add -p: prepare for patch modes other than "stage"
556
+ (merged to 'next' on 2019-12-30 at a767b89288)
557
+ + commit --interactive: make it work with the built-in `add -i`
558
+ + built-in add -p: implement the "worktree" patch modes
559
+ + built-in add -p: implement the "checkout" patch modes
560
+ + built-in stash: use the built-in `git add -p` if so configured
561
+ + legacy stash -p: respect the add.interactive.usebuiltin setting
562
+ + built-in add -p: implement the "stash" and "reset" patch modes
563
+ + built-in add -p: prepare for patch modes other than "stage"
564
(this branch is used by js/add-p-leftover-bits.)
565
566
The effort to move "git-add--interactive" to C continues.
567
653
- Will merge to 'next'.
568
+ Will cook in 'next'.
569
570
571
* jk/packfile-reuse-cleanup (2019-10-23) 9 commits
@@ -684,3 +599,5 @@ of the repositories listed at
599
cherry-pick better.
600
601
Superseded by pw/advise-rebase-skip
602
+
603
+