What's cooking (2017/12 #02)
Junio C Hamano committed
Dec 7, 2017 at 10:01 UTC
ae2e7b79d3b82bdea94db2357158bb4be7cb6300
1 file changed
+396
-324
whats-cooking.txt
+396
-324
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Dec 2017, #01; Mon, 4)
4
-X-master-at: 1a4e40aa5dc16564af879142ba9dfbbb88d1e5ff
5
-X-next-at: 49b39d22972bb18690a282774c8bc54bea6b63b7
3
+Subject: What's cooking in git.git (Dec 2017, #02; Thu, 7)
4
+X-master-at: 95ec6b1b3393eb6e26da40c565520a8db9796e9f
5
+X-next-at: ccaef8de5710194b7bd728194833ea8322a3477a
6
7
-What's cooking in git.git (Dec 2017, #01; Mon, 4)
7
+What's cooking in git.git (Dec 2017, #02; Thu, 7)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -17,76 +17,266 @@ of the repositories listed at
17
18
http://git-blame.blogspot.com/p/git-public-repositories.html
19
20
+--------------------------------------------------
21
+[Graduated to "master"]
22
+
23
+* ac/complete-pull-autostash (2017-11-22) 1 commit
24
+ (merged to 'next' on 2017-11-27 at 802d204eda)
25
+ + completion: add --autostash and --no-autostash to pull
26
+
27
+ The shell completion (in contrib/) learned that "git pull" can take
28
+ the "--autostash" option.
29
+
30
+
31
+* bw/protocol-v1 (2017-10-17) 11 commits
32
+ (merged to 'next' on 2017-11-27 at 55040d09ec)
33
+ + Documentation: document Extra Parameters
34
+ + ssh: introduce a 'simple' ssh variant
35
+ + i5700: add interop test for protocol transition
36
+ + http: tell server that the client understands v1
37
+ + connect: tell server that the client understands v1
38
+ + connect: teach client to recognize v1 server response
39
+ + upload-pack, receive-pack: introduce protocol version 1
40
+ + daemon: recognize hidden request arguments
41
+ + protocol: introduce protocol extension mechanisms
42
+ + pkt-line: add packet_write function
43
+ + connect: in ref advertisement, shallows are last
44
+ (this branch is used by jn/ssh-wrappers.)
45
+
46
+ A new mechanism to upgrade the wire protocol in place is proposed
47
+ and demonstrated that it works with the older versions of Git
48
+ without harming them.
49
+
50
+
51
+* cc/git-packet-pm (2017-11-22) 2 commits
52
+ (merged to 'next' on 2017-11-27 at 1527ab3519)
53
+ + Git/Packet.pm: use 'if' instead of 'unless'
54
+ + Git/Packet: clarify that packet_required_key_val_read allows EOF
55
+
56
+ Code clean-up.
57
+
58
+
59
+* cc/perf-run-config (2017-09-24) 9 commits
60
+ (merged to 'next' on 2017-11-27 at d75a2469eb)
61
+ + perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/"
62
+ + perf/run: show name of rev being built
63
+ + perf/run: add run_subsection()
64
+ + perf/run: update get_var_from_env_or_config() for subsections
65
+ + perf/run: add get_subsections()
66
+ + perf/run: add calls to get_var_from_env_or_config()
67
+ + perf/run: add GIT_PERF_DIRS_OR_REVS
68
+ + perf/run: add get_var_from_env_or_config()
69
+ + perf/run: add '--config' option to the 'run' script
70
+
71
+
72
+* hm/config-parse-expiry-date (2017-11-18) 1 commit
73
+ (merged to 'next' on 2017-11-27 at 20014f5541)
74
+ + config: add --expiry-date
75
+
76
+ "git config --expiry-date gc.reflogexpire" can read "2.weeks" from
77
+ the configuration and report it as a timestamp, just like "--int"
78
+ would read "1k" and report 1024, to help consumption by scripts.
79
+
80
+
81
+* jk/fewer-pack-rescan (2017-11-22) 5 commits
82
+ (merged to 'next' on 2017-11-27 at 2c35a2d831)
83
+ + sha1_file: fast-path null sha1 as a missing object
84
+ + everything_local: use "quick" object existence check
85
+ + p5551: add a script to test fetch pack-dir rescans
86
+ + t/perf/lib-pack: use fast-import checkpoint to create packs
87
+ + p5550: factor out nonsense-pack creation
88
+
89
+ Internaly we use 0{40} as a placeholder object name to signal the
90
+ codepath that there is no such object (e.g. the fast-forward check
91
+ while "git fetch" stores a new remote-tracking ref says "we know
92
+ there is no 'old' thing pointed at by the ref, as we are creating
93
+ it anew" by passing 0{40} for the 'old' side), and expect that a
94
+ codepath to locate an in-core object to return NULL as a sign that
95
+ the object does not exist. A look-up for an object that does not
96
+ exist however is quite costly with a repository with large number
97
+ of packfiles. This access pattern has been optimized.
98
+
99
+
100
+* jn/reproducible-build (2017-11-22) 3 commits
101
+ (merged to 'next' on 2017-11-27 at 6ae6946f8c)
102
+ + Merge branch 'jn/reproducible-build' of ../git-gui into jn/reproducible-build
103
+ + git-gui: sort entries in optimized tclIndex
104
+ + generate-cmdlist: avoid non-deterministic output
105
+
106
+ The build procedure has been taught to avoid some unnecessary
107
+ instability in the build products.
108
+
109
+
110
+* jn/ssh-wrappers (2017-11-21) 9 commits
111
+ (merged to 'next' on 2017-11-27 at 00a2bb7a3c)
112
+ + connect: correct style of C-style comment
113
+ + ssh: 'simple' variant does not support --port
114
+ + ssh: 'simple' variant does not support -4/-6
115
+ + ssh: 'auto' variant to select between 'ssh' and 'simple'
116
+ + connect: split ssh option computation to its own function
117
+ + connect: split ssh command line options into separate function
118
+ + connect: split git:// setup into a separate function
119
+ + connect: move no_fork fallback to git_tcp_connect
120
+ + ssh test: make copy_ssh_wrapper_as clean up after itself
121
+ (this branch uses bw/protocol-v1.)
122
+
123
+ The ssh-variant 'simple' introduced earlier broke existing
124
+ installations by not passing --port/-4/-6 and not diagnosing an
125
+ attempt to pass these as an error. Instead, default to
126
+ automatically detect how compatible the GIT_SSH/GIT_SSH_COMMAND is
127
+ to OpenSSH convention and then error out an invocation to make it
128
+ easier to diagnose connection errors.
129
+
130
+
131
+* jt/submodule-tests-cleanup (2017-11-22) 1 commit
132
+ (merged to 'next' on 2017-11-27 at 5f0e4bcde1)
133
+ + Tests: clean up submodule recursive helpers
134
+
135
+ Further test clean-up.
136
+
137
+
138
+* ph/stash-save-m-option-fix (2017-11-24) 1 commit
139
+ (merged to 'next' on 2017-11-27 at 96eadf9372)
140
+ + stash: learn to parse -m/--message like commit does
141
+
142
+ In addition to "git stash -m message", the command learned to
143
+ accept "git stash -mmessage" form.
144
+
145
+
146
+* rd/doc-notes-prune-fix (2017-11-22) 1 commit
147
+ (merged to 'next' on 2017-11-27 at 4a657474ee)
148
+ + notes: correct 'git notes prune' options to '[-n] [-v]'
149
+
150
+ Doc update.
151
+
152
+
153
+* rd/man-prune-progress (2017-11-22) 1 commit
154
+ (merged to 'next' on 2017-11-27 at 1680e6a2f5)
155
+ + prune: add "--progress" to man page and usage msg
156
+
157
+ Doc update.
158
+
159
+
160
+* rd/man-reflog-add-n (2017-11-22) 1 commit
161
+ (merged to 'next' on 2017-11-27 at eacb065aa6)
162
+ + doc: add missing "-n" (dry-run) option to reflog man page
163
+
164
+ Doc update.
165
+
166
+
167
+* sb/submodule-recursive-checkout-detach-head (2017-07-28) 2 commits
168
+ (merged to 'next' on 2017-11-27 at 6584ec1a65)
169
+ + Documentation/checkout: clarify submodule HEADs to be detached
170
+ + recursive submodules: detach HEAD from new state
171
+
172
+ "git checkout --recursive" may overwrite and rewind the history of
173
+ the branch that happens to be checked out in submodule
174
+ repositories, which might not be desirable. Detach the HEAD but
175
+ still allow the recursive checkout to succeed in such a case.
176
+
177
+
178
+* sp/doc-info-attributes (2017-11-24) 1 commit
179
+ (merged to 'next' on 2017-11-27 at 4e509c2d25)
180
+ + doc: Mention info/attributes in gitrepository-layout
181
+
182
+ Doc update.
183
+
184
+
185
+* tg/deprecate-stash-save (2017-11-22) 1 commit
186
+ (merged to 'next' on 2017-11-27 at 6bcb61b267)
187
+ + doc: prefer 'stash push' over 'stash save'
188
+
189
+ Doc update.
190
+
191
+
192
+* tz/branch-doc-remove-set-upstream (2017-11-17) 1 commit
193
+ (merged to 'next' on 2017-11-27 at 8fcad3f6e7)
194
+ + branch doc: remove --set-upstream from synopsis
195
+
196
+ "git branch --set-upstream" has been deprecated and (sort of)
197
+ removed, as "--set-upstream-to" is the preferred one these days.
198
+ The documentation still had "--set-upstream" listed on its
199
+ synopsys section, which has been corrected.
200
+
201
--------------------------------------------------
202
[New Topics]
203
23
-* ab/simplify-perl-makefile (2017-12-04) 1 commit
24
- - Makefile: replace perl/Makefile.PL with simple make rules
204
+* bw/pathspec-match-submodule-boundary (2017-12-05) 1 commit
205
+ - pathspec: only match across submodule boundaries when requested
206
26
- The build procedure for perl/ part has been greatly simplified by
27
- weaning ourselves off of MakeMaker.
207
+ An v2.12-era regression in pathspec match logic, which made it look
208
+ into submodule tree even when it is not desired, has been fixed.
209
210
+ Will merge to 'next'.
211
30
-* cc/object-filtering-typofix (2017-12-04) 1 commit
31
- - list-objects-filter-options: fix 'keword' typo in comment
32
- (this branch uses jh/object-filtering; is tangled with jh/fsck-promisors and jh/partial-clone.)
212
34
- Typofix for a topic already in 'next'.
213
+* en/remove-stripspace (2017-12-05) 1 commit
214
+ (merged to 'next' on 2017-12-06 at c926373a49)
215
+ + strbuf: remove unused stripspace function alias
216
36
- JeffH said that jh/object-filtering needs further polishing a bit
37
- before graduating to 'master', so it would be appreciated if this
38
- can also be rolled into such an incremental update.
217
+ An internal function that was left for backward compatibility has
218
+ been removed, as there is no remaining callers.
219
220
+ Will merge to 'master'.
221
41
-* cc/skip-to-optional-val (2017-12-04) 4 commits
42
- - diff: use skip_to_optional_val_default()
43
- - diff: use skip_to_optional_val()
44
- - index-pack: use skip_to_optional_val()
45
- - git-compat-util: introduce skip_to_optional_val()
222
47
- Introduce a helper to simplify code to parse a common pattern that
48
- expects either "--key" or "--key=<something>".
223
+* jk/progress-delay-fix (2017-12-04) 2 commits
224
+ (merged to 'next' on 2017-12-05 at 8e62c2b18b)
225
+ + progress: drop delay-threshold code
226
+ + progress: set default delay threshold to 100%, not 0%
227
50
- This may want a final reroll to make it harder to misuse by
51
- allowing NULL at the valp part of the argument.
52
- cf. <xmqqh8t6o9me.fsf@gitster.mtv.corp.google.com>
53
- cf. <xmqqd13uo9d1.fsf@gitster.mtv.corp.google.com>
228
+ A regression in the progress eye-candy was fixed.
229
230
+ Will merge to 'master'.
231
56
-* lb/rebase-i-short-command-names (2017-12-04) 9 commits
57
- - t3404: add test case for abbreviated commands
58
- - rebase -i: learn to abbreviate command names
59
- - rebase -i -x: add exec commands via the rebase--helper
60
- - rebase -i: update functions to use a flags parameter
61
- - rebase -i: replace reference to sha1 with oid
62
- - rebase -i: refactor transform_todo_ids
63
- - rebase -i: set commit to null in exec commands
64
- - Documentation: use preferred name for the 'todo list' script
65
- - Documentation: move rebase.* configs to new file
232
67
- Allow a single-letter command name in the "rebase -i" todo list.
233
+* ls/git-gui-no-double-utf8-author-name (2017-12-05) 2 commits
234
+ - Merge branch 'ls/no-double-utf8-author-name' of ../git-gui into ls/git-gui-no-double-utf8-author-name
235
+ - git-gui: prevent double UTF-8 conversion
236
69
- This may want a final reroll to avoid adding new reference to insn
70
- where todo is the more modern term, among other minor things.
71
- cf. <xmqq4lp6o4p4.fsf@gitster.mtv.corp.google.com>
237
+ Amending commits in git-gui broke the author name that is non-ascii
238
+ due to incorrect enconding conversion.
239
240
+ Will merge to 'next'.
241
74
-* ra/prompt-eread-fix (2017-12-04) 2 commits
75
- - git-prompt: fix reading files with windows line endings
76
- - git-prompt: make __git_eread intended use explicit
242
78
- Update the shell prompt script (in contrib/) to strip trailing CR
79
- from strings read from various "state" files.
243
+* sb/clone-recursive-submodule-doc (2017-12-05) 1 commit
244
+ - Documentation/git-clone: improve description for submodule recursing
245
81
- Proposed log messages of both commits may need small fixes.
82
- cf. <xmqqindmml25.fsf@gitster.mtv.corp.google.com>
83
- cf. <alpine.DEB.2.21.1.1712041516280.98586@virtualbox>
246
+ Doc update.
247
248
+ Will merge to 'next'.
249
86
-* ds/for-each-file-in-obj-micro-optim (2017-12-04) 1 commit
87
- - sha1_file: use strbuf_add() instead of strbuf_addf()
250
89
- The code to iterate over loose object files got optimized.
251
+* js/hashmap-update-sample (2017-12-05) 1 commit
252
+ (merged to 'next' on 2017-12-06 at 40ceee9a18)
253
+ + hashmap: adjust documentation to reflect reality
254
+
255
+ Code comment update.
256
+
257
+ Will merge to 'master'.
258
+
259
+
260
+* ab/sha1dc-build (2017-12-05) 4 commits
261
+ . sha1dc: remove in favor of using sha1collisiondetection as a submodule
262
+ . Makefile: use the sha1collisiondetection submodule by default
263
+ . sha1dc_git.h: re-arrange an ifdef chain for a subsequent change
264
+ - Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=auto
265
+
266
+
267
+* bw/submodule-config-cleanup (2017-12-06) 1 commit
268
+ - diff-tree: read the index so attribute checks work in bare repositories
269
+
270
+ Recent update to the submodule configuration code broke "diff-tree"
271
+ by accidentally stopping to read from the index upfront.
272
+
273
+ Will merge to 'next'.
274
+
275
+
276
+* sg/setup-doc-update (2017-12-07) 1 commit
277
+ - setup.c: fix comment about order of .git directory discovery
278
+
279
+ Comment update.
280
281
Will merge to 'next'.
282
@@ -170,15 +360,76 @@ of the repositories listed at
360
- worktree.c: add update_worktree_location()
361
- worktree.c: add validate_worktree()
362
173
- "git worktree" learned move and remove subcommands.
363
+ "git worktree" learned move and remove subcommands.
364
+
365
+ Expecting a reroll.
366
+ cf. <20170420101024.7593-1-pclouds@gmail.com>
367
+ cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
368
+ cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
369
+
370
+--------------------------------------------------
371
+[Cooking]
372
+
373
+* ab/simplify-perl-makefile (2017-12-04) 1 commit
374
+ - Makefile: replace perl/Makefile.PL with simple make rules
375
+
376
+ The build procedure for perl/ part has been greatly simplified by
377
+ weaning ourselves off of MakeMaker.
378
+
379
+ Will merge to 'next'.
380
+
381
+
382
+* cc/skip-to-optional-val (2017-12-07) 7 commits
383
+ - t4045: test 'diff --relative' for real
384
+ - t4045: reindent to make helpers readable
385
+ - diff: use skip-to-optional-val in parsing --relative
386
+ - diff: use skip_to_optional_val_default()
387
+ - diff: use skip_to_optional_val()
388
+ - index-pack: use skip_to_optional_val()
389
+ - git-compat-util: introduce skip_to_optional_val()
390
+
391
+ Introduce a helper to simplify code to parse a common pattern that
392
+ expects either "--key" or "--key=<something>".
393
+
394
+ Even though I queued fixes for "diff --relative" on top, it may
395
+ still want a final reroll to make it harder to misuse by allowing
396
+ NULL at the valp part of the argument. Also s/_val/_arg/.
397
+ cf. <xmqqh8t6o9me.fsf@gitster.mtv.corp.google.com>
398
+ cf. <xmqqd13uo9d1.fsf@gitster.mtv.corp.google.com>
399
+
400
+
401
+* lb/rebase-i-short-command-names (2017-12-05) 9 commits
402
+ - t3404: add test case for abbreviated commands
403
+ - rebase -i: learn to abbreviate command names
404
+ - rebase -i -x: add exec commands via the rebase--helper
405
+ - rebase -i: update functions to use a flags parameter
406
+ - rebase -i: replace reference to sha1 with oid
407
+ - rebase -i: refactor transform_todo_ids
408
+ - rebase -i: set commit to null in exec commands
409
+ - Documentation: use preferred name for the 'todo list' script
410
+ - Documentation: move rebase.* configs to new file
411
+
412
+ Allow a single-letter command name in the "rebase -i" todo list.
413
+
414
+ Will merge to 'next'.
415
+
416
+
417
+* ra/prompt-eread-fix (2017-12-06) 2 commits
418
+ - git-prompt: fix reading files with windows line endings
419
+ - git-prompt: make __git_eread intended use explicit
420
+
421
+ Update the shell prompt script (in contrib/) to strip trailing CR
422
+ from strings read from various "state" files.
423
+
424
175
- Expecting a reroll.
176
- cf. <20170420101024.7593-1-pclouds@gmail.com>
177
- cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
178
- cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
425
+* ds/for-each-file-in-obj-micro-optim (2017-12-04) 1 commit
426
+ (merged to 'next' on 2017-12-05 at 55ba487ccd)
427
+ + sha1_file: use strbuf_add() instead of strbuf_addf()
428
+
429
+ The code to iterate over loose object files got optimized.
430
+
431
+ Will merge to 'master'.
432
180
---------------------------------------------------
181
-[Cooking]
433
434
* en/merge-recursive-icase-removal (2017-11-27) 1 commit
435
- merge-recursive: ignore_case shouldn't reject intentional removals
@@ -190,40 +441,47 @@ of the repositories listed at
441
once the rename detection logic starts taking hints from nearby
442
paths moving to some directory and moves a new path along with them.
443
444
+ Will merge to 'next'.
445
+
446
194
-* gk/tracing-optimization (2017-11-27) 3 commits
195
- - SQUASH??? compilation fix-up
447
+* gk/tracing-optimization (2017-12-06) 2 commits
448
- trace: improve performance while category is disabled
449
- trace: remove trace key normalization
450
451
The tracing infrastructure has been optimized for cases where no
452
tracing is requested.
453
454
+ Will merge to 'next'.
455
+
456
457
* pc/submodule-helper (2017-11-26) 1 commit
204
- - submodule--helper.c: i18n: add a missing space in message
458
+ (merged to 'next' on 2017-12-05 at fdf56787be)
459
+ + submodule--helper.c: i18n: add a missing space in message
460
461
A message fix.
462
208
- Will merge to 'next'.
463
+ Will merge to 'master'.
464
465
466
* tb/check-crlf-for-safe-crlf (2017-11-27) 1 commit
212
- - convert: tighten the safe autocrlf handling
467
+ (merged to 'next' on 2017-12-05 at 7adaa1fe01)
468
+ + convert: tighten the safe autocrlf handling
469
470
The "safe crlf" check incorrectly triggered for contents that does
471
not use CRLF as line endings, which has been corrected.
472
217
- Will merge to 'next'.
473
+ Broken on Windows???
474
+ cf. <DA960DCE-0635-47CF-B3C4-8133021799F1@gmail.com>
475
476
477
* tg/t-readme-updates (2017-11-27) 2 commits
221
- - t/README: document test_cmp_rev
222
- - t/README: remove mention of adding copyright notices
478
+ (merged to 'next' on 2017-12-05 at c0b0e2d65b)
479
+ + t/README: document test_cmp_rev
480
+ + t/README: remove mention of adding copyright notices
481
482
Developer doc updates.
483
226
- Will merge to 'next'.
484
+ Will merge to 'master'.
485
486
487
* cc/require-tcl-tk-for-build (2017-11-29) 2 commits
@@ -257,20 +515,24 @@ of the repositories listed at
515
516
517
* fk/sendmail-from-path (2017-11-28) 1 commit
260
- - git-send-email: honor $PATH for sendmail binary
518
+ (merged to 'next' on 2017-12-05 at deb7a5f4a8)
519
+ + git-send-email: honor $PATH for sendmail binary
520
521
"git send-email" tries to see if the sendmail program is available
522
in /usr/lib and /usr/sbin; extend the list of locations to be
523
checked to also include directories on $PATH.
524
266
- Will merge to 'next'.
525
+ Will merge to 'master'.
526
527
528
* jk/no-optional-locks (2017-11-27) 1 commit
270
- - git-status.txt: mention --no-optional-locks
529
+ (merged to 'next' on 2017-12-06 at e642dde605)
530
+ + git-status.txt: mention --no-optional-locks
531
532
Doc update for a feature available in Git v2.14 and upwards.
533
534
+ Will merge to 'master'.
535
+
536
537
* jt/diff-anchored-patience (2017-11-28) 1 commit
538
- diff: support anchoring line(s)
@@ -279,17 +541,20 @@ of the repositories listed at
541
which the user can specify which 'unique' line to be used as
542
anchoring points.
543
544
+ Will merge to 'next'.
545
+
546
547
* ks/doc-checkout-previous (2017-11-28) 1 commit
284
- - Doc/checkout: checking out using @{-N} can lead to detached state
548
+ (merged to 'next' on 2017-12-05 at 02f17e3c55)
549
+ + Doc/checkout: checking out using @{-N} can lead to detached state
550
551
@{-N} in "git checkout @{-N}" may refer to a detached HEAD state,
552
but the documentation was not clear about it, which has been fixed.
553
289
- Will merge to 'next'.
554
+ Will merge to 'master'.
555
556
292
-* en/rename-directory-detection (2017-11-21) 33 commits
557
+* en/rename-directory-detection (2017-12-05) 34 commits
558
- merge-recursive: ensure we write updates for directory-renamed file
559
- merge-recursive: avoid spurious rename/rename conflict from dir renames
560
- directory rename detection: new testcases showcasing a pair of bugs
@@ -303,6 +568,7 @@ of the repositories listed at
568
- merge-recursive: add a new hashmap for storing file collisions
569
- merge-recursive: check for directory level conflicts
570
- merge-recursive: add get_directory_renames()
571
+ - merge-recursive: make a helper function for cleanup for handle_renames
572
- merge-recursive: add a new hashmap for storing directory renames
573
- merge-recursive: split out code for determining diff_filepairs
574
- merge-recursive: make !o->detect_rename codepath more obvious
@@ -333,119 +599,35 @@ of the repositories listed at
599
Needs review.
600
601
336
-* ac/complete-pull-autostash (2017-11-22) 1 commit
337
- (merged to 'next' on 2017-11-27 at 802d204eda)
338
- + completion: add --autostash and --no-autostash to pull
339
-
340
- The shell completion (in contrib/) learned that "git pull" can take
341
- the "--autostash" option.
342
-
343
- Will merge to 'master'.
344
-
345
-
346
-* cc/git-packet-pm (2017-11-22) 2 commits
347
- (merged to 'next' on 2017-11-27 at 1527ab3519)
348
- + Git/Packet.pm: use 'if' instead of 'unless'
349
- + Git/Packet: clarify that packet_required_key_val_read allows EOF
350
-
351
- Code clean-up.
352
-
353
- Will merge to 'master'.
354
-
355
-
356
-* jn/reproducible-build (2017-11-22) 3 commits
357
- (merged to 'next' on 2017-11-27 at 6ae6946f8c)
358
- + Merge branch 'jn/reproducible-build' of ../git-gui into jn/reproducible-build
359
- + git-gui: sort entries in optimized tclIndex
360
- + generate-cmdlist: avoid non-deterministic output
361
-
362
- The build procedure has been taught to avoid some unnecessary
363
- instability in the build products.
364
-
365
- Will merge to 'master'.
366
-
367
-
368
-* jt/submodule-tests-cleanup (2017-11-22) 1 commit
369
- (merged to 'next' on 2017-11-27 at 5f0e4bcde1)
370
- + Tests: clean up submodule recursive helpers
371
-
372
- Further test clean-up.
373
-
374
- Will merge to 'master'.
375
-
376
-
377
-* rd/man-prune-progress (2017-11-22) 1 commit
378
- (merged to 'next' on 2017-11-27 at 1680e6a2f5)
379
- + prune: add "--progress" to man page and usage msg
380
-
381
- Doc update.
382
-
383
- Will merge to 'master'.
384
-
385
-
386
-* rd/man-reflog-add-n (2017-11-22) 1 commit
387
- (merged to 'next' on 2017-11-27 at eacb065aa6)
388
- + doc: add missing "-n" (dry-run) option to reflog man page
389
-
390
- Doc update.
391
-
392
- Will merge to 'master'.
393
-
394
-
395
-* ph/stash-save-m-option-fix (2017-11-24) 1 commit
396
- (merged to 'next' on 2017-11-27 at 96eadf9372)
397
- + stash: learn to parse -m/--message like commit does
398
-
399
- In addition to "git stash -m message", the command learned to
400
- accept "git stash -mmessage" form.
401
-
402
- Will merge to 'master'.
403
-
404
-
602
* ra/decorate-limit-refs (2017-11-22) 1 commit
406
- - log: add option to choose which refs to decorate
603
+ (merged to 'next' on 2017-12-05 at 02c66aa4e0)
604
+ + log: add option to choose which refs to decorate
605
606
The tagnames "git log --decorate" uses to annotate the commits can
607
now be limited to subset of available refs with the two additional
608
options, --decorate-refs[-exclude]=<pattern>.
609
412
- Will merge to 'next'.
413
-
414
-
415
-* rd/doc-notes-prune-fix (2017-11-22) 1 commit
416
- (merged to 'next' on 2017-11-27 at 4a657474ee)
417
- + notes: correct 'git notes prune' options to '[-n] [-v]'
418
-
419
- Doc update.
420
-
421
- Will merge to 'master'.
422
-
423
-
424
-* tg/deprecate-stash-save (2017-11-22) 1 commit
425
- (merged to 'next' on 2017-11-27 at 6bcb61b267)
426
- + doc: prefer 'stash push' over 'stash save'
427
-
428
- Doc update.
429
-
610
Will merge to 'master'.
611
612
613
* ab/pcre2-grep (2017-11-24) 2 commits
434
- - grep: fix segfault under -P + PCRE2 <=10.30 + (*NO_JIT)
435
- - test-lib: add LIBPCRE1 & LIBPCRE2 prerequisites
614
+ (merged to 'next' on 2017-12-05 at 88f1927207)
615
+ + grep: fix segfault under -P + PCRE2 <=10.30 + (*NO_JIT)
616
+ + test-lib: add LIBPCRE1 & LIBPCRE2 prerequisites
617
618
"git grep" compiled with libpcre2 sometimes triggered a segfault,
619
which is being fixed.
620
440
- Will merge to 'next'.
621
+ Will merge to 'master'.
622
623
624
* jc/receive-pack-hook-doc (2017-11-24) 1 commit
444
- - hooks doc: clarify when receive-pack invokes its hooks
625
+ (merged to 'next' on 2017-12-05 at ffa14b1d48)
626
+ + hooks doc: clarify when receive-pack invokes its hooks
627
628
Doc update.
629
448
- Will merge to 'next'.
630
+ Will merge to 'master'.
631
632
633
* sb/diff-blobfind (2017-11-24) 1 commit
@@ -455,19 +637,10 @@ of the repositories listed at
637
allows you to limit the output only to a change that involves the
638
named blob object (either changing the contents from or to it).
639
458
- Needs review.
459
-
460
-
461
-* sp/doc-info-attributes (2017-11-24) 1 commit
462
- (merged to 'next' on 2017-11-27 at 4e509c2d25)
463
- + doc: Mention info/attributes in gitrepository-layout
464
-
465
- Doc update.
466
-
467
- Will merge to 'master'.
640
+ Will merge to 'next'.
641
642
470
-* tg/worktree-create-tracking (2017-11-27) 6 commits
643
+* tg/worktree-create-tracking (2017-12-06) 6 commits
644
- add worktree.guessRemote config option
645
- worktree: add --guess-remote flag to add subcommand
646
- worktree: make add <path> <branch> dwim
@@ -478,32 +651,20 @@ of the repositories listed at
651
The way "git worktree add" determines what branch to create from
652
where and checkout in the new worktree has been updated a bit.
653
481
-
482
-* cc/perf-run-config (2017-09-24) 9 commits
483
- (merged to 'next' on 2017-11-27 at d75a2469eb)
484
- + perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/"
485
- + perf/run: show name of rev being built
486
- + perf/run: add run_subsection()
487
- + perf/run: update get_var_from_env_or_config() for subsections
488
- + perf/run: add get_subsections()
489
- + perf/run: add calls to get_var_from_env_or_config()
490
- + perf/run: add GIT_PERF_DIRS_OR_REVS
491
- + perf/run: add get_var_from_env_or_config()
492
- + perf/run: add '--config' option to the 'run' script
493
-
494
- Will merge to 'master'.
654
+ Will merge to 'next'.
655
656
657
* pw/sequencer-in-process-commit (2017-11-24) 9 commits
498
- - t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1
499
- - sequencer: try to commit without forking 'git commit'
500
- - sequencer: load commit related config
501
- - sequencer: simplify adding Signed-off-by: trailer
502
- - commit: move print_commit_summary() to libgit
503
- - commit: move post-rewrite code to libgit
504
- - Add a function to update HEAD after creating a commit
505
- - commit: move empty message checks to libgit
506
- - t3404: check intermediate squash messages
658
+ (merged to 'next' on 2017-12-06 at a4212f7ebd)
659
+ + t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1
660
+ + sequencer: try to commit without forking 'git commit'
661
+ + sequencer: load commit related config
662
+ + sequencer: simplify adding Signed-off-by: trailer
663
+ + commit: move print_commit_summary() to libgit
664
+ + commit: move post-rewrite code to libgit
665
+ + Add a function to update HEAD after creating a commit
666
+ + commit: move empty message checks to libgit
667
+ + t3404: check intermediate squash messages
668
669
The sequencer infrastructure is shared across "git cherry-pick",
670
"git rebase -i", etc., and has always spawned "git commit" when it
@@ -512,65 +673,10 @@ of the repositories listed at
673
gives performance boost for a few tens of percents in some sample
674
scenarios.
675
515
- Will merge to and cook in 'next'.
516
-
517
-
518
-* jk/fewer-pack-rescan (2017-11-22) 5 commits
519
- (merged to 'next' on 2017-11-27 at 2c35a2d831)
520
- + sha1_file: fast-path null sha1 as a missing object
521
- + everything_local: use "quick" object existence check
522
- + p5551: add a script to test fetch pack-dir rescans
523
- + t/perf/lib-pack: use fast-import checkpoint to create packs
524
- + p5550: factor out nonsense-pack creation
525
-
526
- Internaly we use 0{40} as a placeholder object name to signal the
527
- codepath that there is no such object (e.g. the fast-forward check
528
- while "git fetch" stores a new remote-tracking ref says "we know
529
- there is no 'old' thing pointed at by the ref, as we are creating
530
- it anew" by passing 0{40} for the 'old' side), and expect that a
531
- codepath to locate an in-core object to return NULL as a sign that
532
- the object does not exist. A look-up for an object that does not
533
- exist however is quite costly with a repository with large number
534
- of packfiles. This access pattern has been optimized.
535
-
536
- Will merge to 'master'.
537
-
538
-
539
-* jn/ssh-wrappers (2017-11-21) 9 commits
540
- (merged to 'next' on 2017-11-27 at 00a2bb7a3c)
541
- + connect: correct style of C-style comment
542
- + ssh: 'simple' variant does not support --port
543
- + ssh: 'simple' variant does not support -4/-6
544
- + ssh: 'auto' variant to select between 'ssh' and 'simple'
545
- + connect: split ssh option computation to its own function
546
- + connect: split ssh command line options into separate function
547
- + connect: split git:// setup into a separate function
548
- + connect: move no_fork fallback to git_tcp_connect
549
- + ssh test: make copy_ssh_wrapper_as clean up after itself
550
- (this branch uses bw/protocol-v1.)
551
-
552
- The ssh-variant 'simple' introduced earlier broke existing
553
- installations by not passing --port/-4/-6 and not diagnosing an
554
- attempt to pass these as an error. Instead, default to
555
- automatically detect how compatible the GIT_SSH/GIT_SSH_COMMAND is
556
- to OpenSSH convention and then error out an invocation to make it
557
- easier to diagnose connection errors.
558
-
559
- Will merge to 'master'.
560
-
561
-
562
-* hm/config-parse-expiry-date (2017-11-18) 1 commit
563
- (merged to 'next' on 2017-11-27 at 20014f5541)
564
- + config: add --expiry-date
565
-
566
- "git config --expiry-date gc.reflogexpire" can read "2.weeks" from
567
- the configuration and report it as a timestamp, just like "--int"
568
- would read "1k" and report 1024, to help consumption by scripts.
569
-
570
- Will merge to 'master'.
676
+ Will cook in 'next'.
677
678
573
-* dj/runtime-prefix (2017-11-28) 4 commits
679
+* dj/runtime-prefix (2017-12-05) 4 commits
680
. exec_cmd: RUNTIME_PREFIX on some POSIX systems
681
. Makefile: add Perl runtime prefix support
682
. Makefile: add support for "perllibdir"
@@ -585,7 +691,7 @@ of the repositories listed at
691
ab/simplify-perl-makefile that heavily conflicts with this fares.
692
693
588
-* ls/editor-waiting-message (2017-12-04) 2 commits
694
+* ls/editor-waiting-message (2017-12-07) 2 commits
695
- launch_editor(): indicate that Git waits for user input
696
- refactor "dumb" terminal determination
697
@@ -594,20 +700,7 @@ of the repositories listed at
700
opens to a hidden window or somewhere obscure and the user gets
701
lost.
702
597
- Still being bikeshed on, but hopefully the final is getting closer.
598
- This is at its v4.
599
-
600
-
601
-* tz/branch-doc-remove-set-upstream (2017-11-17) 1 commit
602
- (merged to 'next' on 2017-11-27 at 8fcad3f6e7)
603
- + branch doc: remove --set-upstream from synopsis
604
-
605
- "git branch --set-upstream" has been deprecated and (sort of)
606
- removed, as "--set-upstream-to" is the preferred one these days.
607
- The documentation still had "--set-upstream" listed on its
608
- synopsys section, which has been corrected.
609
-
610
- Will merge to 'master'.
703
+ Will merge to 'next'.
704
705
706
* en/rename-progress (2017-12-02) 5 commits
@@ -626,7 +719,8 @@ of the repositories listed at
719
Will merge to 'master'.
720
721
629
-* ar/unconfuse-three-dots (2017-12-04) 7 commits
722
+* ar/unconfuse-three-dots (2017-12-06) 8 commits
723
+ - t2020: test variations that matter
724
- t4013: test new output from diff --abbrev --raw
725
- diff: diff_aligned_abbrev: remove ellipsis after abbreviated SHA-1 value
726
- t4013: prepare for upcoming "diff --raw --abbrev" output format change
@@ -641,11 +735,14 @@ of the repositories listed at
735
who are used to seeing abbreviated object names and find them
736
confusing with the range syntax.
737
644
- Almost there.
645
- cf. <xmqqshcqmoe7.fsf@gitster.mtv.corp.google.com>
738
+ Will merge to 'next'.
739
740
648
-* jh/object-filtering (2017-11-22) 6 commits
741
+* jh/object-filtering (2017-12-05) 9 commits
742
+ (merged to 'next' on 2017-12-05 at 3a56b51085)
743
+ + rev-list: support --no-filter argument
744
+ + list-objects-filter-options: support --no-filter
745
+ + list-objects-filter-options: fix 'keword' typo in comment
746
(merged to 'next' on 2017-11-27 at e5008c3b28)
747
+ pack-objects: add list-objects filtering
748
+ rev-list: add list-objects filtering support
@@ -653,18 +750,18 @@ of the repositories listed at
750
+ oidset: add iterator methods to oidset
751
+ oidmap: add oidmap iterator methods
752
+ dir: allow exclusions from blob in addition to file
656
- (this branch is used by cc/object-filtering-typofix, jh/fsck-promisors and jh/partial-clone.)
753
+ (this branch is used by jh/fsck-promisors and jh/partial-clone.)
754
755
In preparation for implementing narrow/partial clone, the object
756
walking machinery has been taught a way to tell it to "filter" some
757
objects from enumeration.
758
662
- Expecting incremental updates for a finishing touch.
759
664
-
665
-* jh/fsck-promisors (2017-11-22) 10 commits
760
+* jh/fsck-promisors (2017-12-05) 12 commits
761
- gc: do not repack promisor packfiles
762
- rev-list: support termination at promisor objects
763
+ - fixup: sha1_file: add TODO
764
+ - fixup: sha1_file: convert gotos to break/continue
765
- sha1_file: support lazily fetching missing objects
766
- introduce fetch-object: fetch one promisor object
767
- index-pack: refactor writing of .keep files
@@ -673,7 +770,7 @@ of the repositories listed at
770
- fsck: support refs pointing to promisor objects
771
- fsck: introduce partialclone extension
772
- extension.partialclone: introduce partial clone extension
676
- (this branch is used by jh/partial-clone; uses jh/object-filtering; is tangled with cc/object-filtering-typofix.)
773
+ (this branch is used by jh/partial-clone; uses jh/object-filtering.)
774
775
In preparation for implementing narrow/partial clone, the machinery
776
for checking object connectivity used by gc and fsck has been
@@ -682,22 +779,22 @@ of the repositories listed at
779
promises to make them available on-demand and lazily.
780
781
685
-* jh/partial-clone (2017-11-22) 14 commits
782
+* jh/partial-clone (2017-12-05) 14 commits
783
+ - t5616: end-to-end tests for partial clone
784
- fetch-pack: restore save_commit_buffer after use
785
- unpack-trees: batch fetching of missing blobs
688
- - t5500: more tests for partial clone and fetch
689
- - t5601: test for partial clone
690
- - t5500: add fetch-pack tests for partial clone
691
- - fetch: add from_promisor and exclude-promisor-objects parameters
786
+ - clone: partial clone
787
- partial-clone: define partial clone settings in config
693
- - fetch-pack: test support excluding large blobs
694
- - pack-objects: test support for blob filtering
695
- - remote-curl: add object filtering for partial clone
696
- - fetch: add object filtering for partial fetch
788
+ - fixup: connected: conditionally pass --exclude-promisor-objects to rev-list
789
+ - fixup: fetch: update --blob-max-bytes to --fitler
790
+ - fixup: fetch: update error messages from --blob-max-bytes to --filter
791
+ - fetch: support filters
792
- fetch: refactor calculation of remote list
698
- - clone, fetch-pack, index-pack, transport: partial clone
793
+ - fetch-pack: test support excluding large blobs
794
+ - fetch-pack: add --no-filter
795
+ - fetch-pack, index-pack, transport: partial clone
796
- upload-pack: add object filtering for partial clone
700
- (this branch uses jh/fsck-promisors and jh/object-filtering; is tangled with cc/object-filtering-typofix.)
797
+ (this branch uses jh/fsck-promisors and jh/object-filtering.)
798
799
The machinery to clone & fetch, which in turn involves packing and
800
unpacking objects, have been told how to omit certain objects using
@@ -719,6 +816,8 @@ of the repositories listed at
816
"git describe" was taught to dig trees deeper to find a
817
<commit-ish>:<path> that refers to a given blob object.
818
819
+ Will merge to 'next'.
820
+
821
822
* pb/bisect-helper-2 (2017-10-28) 8 commits
823
- t6030: make various test to pass GETTEXT_POISON tests
@@ -756,28 +855,6 @@ of the repositories listed at
855
Will merge to 'next'.
856
857
759
-* bw/protocol-v1 (2017-10-17) 11 commits
760
- (merged to 'next' on 2017-11-27 at 55040d09ec)
761
- + Documentation: document Extra Parameters
762
- + ssh: introduce a 'simple' ssh variant
763
- + i5700: add interop test for protocol transition
764
- + http: tell server that the client understands v1
765
- + connect: tell server that the client understands v1
766
- + connect: teach client to recognize v1 server response
767
- + upload-pack, receive-pack: introduce protocol version 1
768
- + daemon: recognize hidden request arguments
769
- + protocol: introduce protocol extension mechanisms
770
- + pkt-line: add packet_write function
771
- + connect: in ref advertisement, shallows are last
772
- (this branch is used by jn/ssh-wrappers.)
773
-
774
- A new mechanism to upgrade the wire protocol in place is proposed
775
- and demonstrated that it works with the older versions of Git
776
- without harming them.
777
-
778
- Will merge to 'master'.
779
-
780
-
858
* bc/hash-algo (2017-11-28) 5 commits
859
(merged to 'next' on 2017-11-28 at 5c74632345)
860
+ repository: fix a sparse 'using integer as NULL pointer' warning
@@ -793,15 +870,10 @@ of the repositories listed at
870
871
Will merge to 'master'.
872
873
+--------------------------------------------------
874
+[Discarded]
875
797
-* sb/submodule-recursive-checkout-detach-head (2017-07-28) 2 commits
798
- (merged to 'next' on 2017-11-27 at 6584ec1a65)
799
- + Documentation/checkout: clarify submodule HEADs to be detached
800
- + recursive submodules: detach HEAD from new state
801
-
802
- "git checkout --recursive" may overwrite and rewind the history of
803
- the branch that happens to be checked out in submodule
804
- repositories, which might not be desirable. Detach the HEAD but
805
- still allow the recursive checkout to succeed in such a case.
876
+* cc/object-filtering-typofix (2017-12-04) 1 commit
877
+ - list-objects-filter-options: fix 'keword' typo in comment
878
807
- Will merge to 'master'.
879
+ Superseded by the same fix in jh/object-filtering.