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.