What's cooking (2017/11 #07)

Junio C Hamano committed Nov 24, 2017 at 23:01 UTC 9c02537888ce0edc73c89bf140165aed0588cc7d
1 file changed +328 -183
whats-cooking.txt
+328 -183
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Nov 2017, #06; Tue, 21)
3 +Subject: What's cooking in git.git (Nov 2017, #07; Fri, 24)
4 X-master-at: 14c63a9dc093d6738454f6369a4f5663ca732cf7
5 -X-next-at: 466bffb3ac3fb7c740a2ea1485c5f69af6b40864
5 +X-next-at: b06021eebab0504f6c8e11598ad9be6115ba037d
6
7 -What's cooking in git.git (Nov 2017, #06; Tue, 21)
7 +What's cooking in git.git (Nov 2017, #07; Fri, 24)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -22,186 +22,189 @@ of the repositories listed at
22 http://git-blame.blogspot.com/p/git-public-repositories.html
23
24 --------------------------------------------------
25 -[Graduated to "master"]
25 +[New Topics]
26
27 -* ad/submitting-patches-title-decoration (2017-11-11) 1 commit
28 - (merged to 'next' on 2017-11-15 at 99238c3537)
29 - + doc/SubmittingPatches: correct subject guidance
27 +* en/rename-directory-detection (2017-11-21) 33 commits
28 + - merge-recursive: ensure we write updates for directory-renamed file
29 + - merge-recursive: avoid spurious rename/rename conflict from dir renames
30 + - directory rename detection: new testcases showcasing a pair of bugs
31 + - merge-recursive: fix remaining directory rename + dirty overwrite cases
32 + - merge-recursive: fix overwriting dirty files involved in renames
33 + - merge-recursive: avoid clobbering untracked files with directory renames
34 + - merge-recursive: apply necessary modifications for directory renames
35 + - merge-recursive: when comparing files, don't include trees
36 + - merge-recursive: check for file level conflicts then get new name
37 + - merge-recursive: add computation of collisions due to dir rename & merging
38 + - merge-recursive: add a new hashmap for storing file collisions
39 + - merge-recursive: check for directory level conflicts
40 + - merge-recursive: add get_directory_renames()
41 + - merge-recursive: add a new hashmap for storing directory renames
42 + - merge-recursive: split out code for determining diff_filepairs
43 + - merge-recursive: make !o->detect_rename codepath more obvious
44 + - merge-recursive: fix leaks of allocated renames and diff_filepairs
45 + - merge-recursive: introduce new functions to handle rename logic
46 + - merge-recursive: move the get_renames() function
47 + - directory rename detection: tests for handling overwriting dirty files
48 + - directory rename detection: tests for handling overwriting untracked files
49 + - directory rename detection: miscellaneous testcases to complete coverage
50 + - directory rename detection: testcases exploring possibly suboptimal merges
51 + - directory rename detection: more involved edge/corner testcases
52 + - directory rename detection: testcases checking which side did the rename
53 + - directory rename detection: files/directories in the way of some renames
54 + - directory rename detection: partially renamed directory testcase/discussion
55 + - directory rename detection: testcases to avoid taking detection too far
56 + - directory rename detection: directory splitting testcases
57 + - directory rename detection: basic testcases
58 + - merge-recursive: add explanation for src_entry and dst_entry
59 + - merge-recursive: fix logic ordering issue
60 + - Tighten and correct a few testcases for merging and cherry-picking
61 +
62 + Rename detection logic in "diff" family that is used in "merge" has
63 + learned to guess when all of x/a, x/b and x/c have moved to z/a,
64 + z/b and z/c, it is likely that x/d added in the meantime would also
65 + want to move to z/d by taking the hint that the entire directory
66 + 'x' moved to 'z'.
67
31 - Doc update around use of "format-patch --subject-prefix" etc.
68 + Needs review.
69
70
34 -* av/fsmonitor (2017-11-13) 7 commits
35 - (merged to 'next' on 2017-11-13 at db56ad7eef)
36 - + fsmonitor: simplify determining the git worktree under Windows
37 - + fsmonitor: store fsmonitor bitmap before splitting index
38 - + fsmonitor: read from getcwd(), not the PWD environment variable
39 - (merged to 'next' on 2017-11-07 at a06178754d)
40 - + fsmonitor: delay updating state until after split index is merged
41 - + fsmonitor: document GIT_TRACE_FSMONITOR
42 - + fsmonitor: don't bother pretty-printing JSON from watchman
43 - + fsmonitor: set the PWD to the top of the working tree
44 - (this branch uses bp/fsmonitor.)
71 +* ac/complete-pull-autostash (2017-11-22) 1 commit
72 + - completion: add --autostash and --no-autostash to pull
73
46 - Various fixes to bp/fsmonitor topic.
74 + The shell completion (in contrib/) learned that "git pull" can take
75 + the "--autostash" option.
76
48 - Waiting for follow-on fixes to settle.
77 + Will merge to 'next'.
78
79
51 -* bp/fsmonitor (2017-10-05) 15 commits
52 - (merged to 'next' on 2017-11-07 at b08d44ba60)
53 - + fsmonitor: preserve utf8 filenames in fsmonitor-watchman log
54 - + fsmonitor: read entirety of watchman output
55 - + fsmonitor: MINGW support for watchman integration
56 - + fsmonitor: add a performance test
57 - + fsmonitor: add a sample integration script for Watchman
58 - + fsmonitor: add test cases for fsmonitor extension
59 - + split-index: disable the fsmonitor extension when running the split index test
60 - + fsmonitor: add a test tool to dump the index extension
61 - + update-index: add fsmonitor support to update-index
62 - + ls-files: Add support in ls-files to display the fsmonitor valid bit
63 - + fsmonitor: add documentation for the fsmonitor extension.
64 - + fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
65 - + update-index: add a new --force-write-index option
66 - + preload-index: add override to enable testing preload-index
67 - + bswap: add 64 bit endianness helper get_be64
68 - (this branch is used by av/fsmonitor.)
80 +* cc/git-packet-pm (2017-11-22) 2 commits
81 + - Git/Packet.pm: use 'if' instead of 'unless'
82 + - Git/Packet: clarify that packet_required_key_val_read allows EOF
83
70 - Originally merged to 'next' on 2017-10-05
84 + Code clean-up.
85
72 - We learned to talk to watchman to speed up "git status" and other
73 - operations that need to see which paths have been modified.
86 + Will merge to 'next'.
87
75 - Waiting for follow-on fixes to settle.
88
89 +* jn/reproducible-build (2017-11-22) 3 commits
90 + - Merge branch 'jn/reproducible-build' of ../git-gui into jn/reproducible-build
91 + - git-gui: sort entries in optimized tclIndex
92 + - generate-cmdlist: avoid non-deterministic output
93
78 -* rs/apply-fuzzy-match-fix (2017-11-12) 1 commit
79 - (merged to 'next' on 2017-11-15 at 2d724fa63b)
80 - + apply: avoid out-of-bounds access in fuzzy_matchlines()
94 + The build procedure has been taught to avoid some unnecessary
95 + instability in the build products.
96
82 - A fix for an ancient bug in "git apply --ignore-space-change" codepath.
97 + Will merge to 'next'.
98
84 ---------------------------------------------------
85 -[New Topics]
99
87 -* ew/rebase-mboxrd (2017-11-18) 1 commit
88 - (merged to 'next' on 2017-11-21 at 88eaaac334)
89 - + rebase: use mboxrd format to avoid split errors
100 +* jt/submodule-tests-cleanup (2017-11-22) 1 commit
101 + - Tests: clean up submodule recursive helpers
102
91 - When "git rebase" prepared an mailbox of changes and fed it to "git
92 - am" to replay them, it was confused when a stray "From " happened
93 - to be in the log message of one of the replayed changes. This has
94 - been corrected.
103 + Further test clean-up.
104
96 - Will merge to 'master'.
105 + Will merge to 'next'.
106
107
99 -* rs/config-write-section-fix (2017-11-18) 1 commit
100 - (merged to 'next' on 2017-11-21 at a7f3f93e0c)
101 - + config: flip return value of write_section()
108 +* rd/man-prune-progress (2017-11-22) 1 commit
109 + - prune: add "--progress" to man page and usage msg
110
103 - There was a recent semantic mismerge in the codepath to write out a
104 - section of a configuration section, which has been corrected.
111 + Doc update.
112
106 - Will merge to 'master'.
113 + Will merge to 'next'.
114
115
109 -* ma/branch-list-paginate (2017-11-20) 3 commits
110 - - branch: change default of `pager.branch` to "on"
111 - - branch: respect `pager.branch` in list-mode only
112 - - t7006: add tests for how git branch paginates
116 +* rd/man-reflog-add-n (2017-11-22) 1 commit
117 + - doc: add missing "-n" (dry-run) option to reflog man page
118
114 - "git branch --list" learned to show its output through the pager by
115 - default when the output is going to a terminal, which is controlled
116 - by the pager.branch configuration variable. This is similar to a
117 - recent change to "git tag --list".
119 + Doc update.
120
121 Will merge to 'next'.
122
123
122 -* rs/include-comments-before-the-function-header (2017-11-21) 6 commits
123 - - grep: show non-empty lines before functions with -W
124 - - grep: update boundary variable for pre-context
125 - - t7810: improve check of -W with user-defined function lines
126 - - xdiff: show non-empty lines before functions with -W
127 - - xdiff: factor out is_func_rec()
128 - - t4051: add test for comments preceding function lines
124 +* ph/stash-save-m-option-fix (2017-11-24) 1 commit
125 + - stash: learn to parse -m/--message like commit does
126
130 - "git grep -W", "git diff -W" and their friends learned a heuristic
131 - to extend a pre-context beyond the line that matches the "function
132 - pattern" (aka "diff.*.xfuncname") to include a comment block, if
133 - exists, that immediately precedes it.
127 + In addition to "git stash -m message", the command learned to
128 + accept "git stash -mmessage" form.
129
130 Will merge to 'next'.
131
132
138 -* jk/fewer-pack-rescan (2017-11-21) 5 commits
139 - - sha1_file: don't re-scan pack directory for null sha1
140 - - everything_local: use "quick" object existence check
141 - - p5551: add a script to test fetch pack-dir rescans
142 - - t/perf/lib-pack: use fast-import checkpoint to create packs
143 - - p5550: factor out nonsense-pack creation
133 +* ra/decorate-limit-refs (2017-11-22) 1 commit
134 + - log: add option to choose which refs to decorate
135
145 - Internaly we use 0{40} as a placeholder object name to signal the
146 - codepath that there is no such object (e.g. the fast-forward check
147 - while "git fetch" stores a new remote-tracking ref says "we know
148 - there is no 'old' thing pointed at by the ref, as we are creating
149 - it anew" by passing 0{40} for the 'old' side), and expect that a
150 - codepath to locate an in-core object to return NULL as a sign that
151 - the object does not exist. A look-up for an object that does not
152 - exist however is quite costly with a repository with large number
153 - of packfiles. This access pattern has been optimized.
136 + The tagnames "git log --decorate" uses to annotate the commits can
137 + now be limited to subset of available refs with the two additional
138 + options, --decorate-refs[-exclude]=<pattern>.
139
155 - Undecided.
140 + Will merge to 'next'.
141
157 - While resolving a conflict with jh/fsck-promisors topic, I ended up
158 - with a code that rejects 0{40} a lot earlier, before we try to see
159 - if a pack entry for 0{40} exists, even though the patch that is
160 - queued on this topic is more conservative. Perhaps we would want
161 - to use the alternate version that declares the 0{40} is a sentinel
162 - that signals that there is no such object.
142
143 +* rd/doc-notes-prune-fix (2017-11-22) 1 commit
144 + - notes: correct 'git notes prune' options to '[-n] [-v]'
145
165 -* ks/rebase-no-git-foo (2017-11-21) 1 commit
166 - - git-rebase: clean up dashed-usages in messages
146 + Doc update.
147
168 - Mentions of "git-rebase" and "git-am" (dashed form) still remained
169 - in end-user visible strings emitted by the "git rebase" command;
170 - they have been corrected.
148 + Will merge to 'next'.
149 +
150 +
151 +* tg/deprecate-stash-save (2017-11-22) 1 commit
152 + - doc: prefer 'stash push' over 'stash save'
153 +
154 + Doc update.
155
156 Will merge to 'next'.
157
158
175 -* sw/pull-ipv46-passthru (2017-11-21) 1 commit
176 - - pull: pass -4/-6 option to 'git fetch'
159 +* ab/pcre2-grep (2017-11-24) 2 commits
160 + - grep: fix segfault under -P + PCRE2 <=10.30 + (*NO_JIT)
161 + - test-lib: add LIBPCRE1 & LIBPCRE2 prerequisites
162
178 - Contrary to the documentation, "git pull -4/-4 other-args" did not
179 - ask the underlying "git fetch" to go over IPv4/IPv6, which has been
180 - corrected.
163 + "git grep" compiled with libpcre2 sometimes triggered a segfault,
164 + which is being fixed.
165
166 Will merge to 'next'.
167
184 ---------------------------------------------------
185 -[Stalled]
168
187 -* pw/sequencer-in-process-commit (2017-11-18) 9 commits
188 - - SQUASH???
189 - - sequencer: try to commit without forking 'git commit'
190 - - sequencer: load commit related config
191 - - sequencer: simplify adding Signed-off-by: trailer
192 - - commit: move print_commit_summary() to libgit
193 - - commit: move post-rewrite code to libgit
194 - - Add a function to update HEAD after creating a commit
195 - - commit: move empty message checks to libgit
196 - - t3404: check intermediate squash messages
169 +* jc/receive-pack-hook-doc (2017-11-24) 1 commit
170 + - hooks doc: clarify when receive-pack invokes its hooks
171
198 - The sequencer infrastructure is shared across "git cherry-pick",
199 - "git rebase -i", etc., and has always spawned "git commit" when it
200 - needs to create a commit. It has been taught to do so internally,
201 - when able, by reusing the codepath "git commit" itself uses, which
202 - gives performance boost for a few tens of percents in some sample
203 - scenarios.
172 + Doc update.
173 +
174 + Will merge to 'next'.
175 +
176 +
177 +* sb/diff-blobfind (2017-11-24) 1 commit
178 + - diff: add a new diffcore transformation to find a specific blob
179 +
180 + "git diff" family of commands learned --blobfind=<object-name> that
181 + allows you to limit the output only to a change that involves the
182 + named blob object (either changing the contents from or to it).
183 +
184 + Needs review.
185 +
186 +
187 +* sp/doc-info-attributes (2017-11-24) 1 commit
188 + - doc: Mention info/attributes in gitrepository-layout
189 +
190 + Doc update.
191 +
192 + Will merge to 'next'.
193 +
194 +
195 +* tg/worktree-create-tracking (2017-11-24) 4 commits
196 + - worktree: make add <path> dwim
197 + - worktree: make add <path> <branch> dwim
198 + - worktree: add --[no-]track option to the add subcommand
199 + - checkout: factor out functions to new lib file
200
201 + The way "git worktree add" determines what branch to create from
202 + where and checkout in the new worktree has been updated a bit.
203 +
204 + Needs review.
205 +
206 +--------------------------------------------------
207 +[Stalled]
208
209 * jc/merge-symlink-ours-theirs (2017-09-26) 1 commit
210 - merge: teach -Xours/-Xtheirs to symbolic link merge
@@ -239,20 +242,6 @@ of the repositories listed at
242 What's the doneness of this one?
243
244
242 -* cc/perf-run-config (2017-09-24) 9 commits
243 - - perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/"
244 - - perf/run: show name of rev being built
245 - - perf/run: add run_subsection()
246 - - perf/run: update get_var_from_env_or_config() for subsections
247 - - perf/run: add get_subsections()
248 - - perf/run: add calls to get_var_from_env_or_config()
249 - - perf/run: add GIT_PERF_DIRS_OR_REVS
250 - - perf/run: add get_var_from_env_or_config()
251 - - perf/run: add '--config' option to the 'run' script
252 -
253 - Needs review.
254 -
255 -
245 * jk/drop-ancient-curl (2017-08-09) 5 commits
246 - http: #error on too-old curl
247 - curl: remove ifdef'd code never used with curl >=7.19.4
@@ -304,6 +293,136 @@ of the repositories listed at
293 --------------------------------------------------
294 [Cooking]
295
296 +* cc/perf-run-config (2017-09-24) 9 commits
297 + - perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/"
298 + - perf/run: show name of rev being built
299 + - perf/run: add run_subsection()
300 + - perf/run: update get_var_from_env_or_config() for subsections
301 + - perf/run: add get_subsections()
302 + - perf/run: add calls to get_var_from_env_or_config()
303 + - perf/run: add GIT_PERF_DIRS_OR_REVS
304 + - perf/run: add get_var_from_env_or_config()
305 + - perf/run: add '--config' option to the 'run' script
306 +
307 + Will merge to 'next'.
308 +
309 +
310 +* pw/sequencer-in-process-commit (2017-11-24) 9 commits
311 + - t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1
312 + - sequencer: try to commit without forking 'git commit'
313 + - sequencer: load commit related config
314 + - sequencer: simplify adding Signed-off-by: trailer
315 + - commit: move print_commit_summary() to libgit
316 + - commit: move post-rewrite code to libgit
317 + - Add a function to update HEAD after creating a commit
318 + - commit: move empty message checks to libgit
319 + - t3404: check intermediate squash messages
320 +
321 + The sequencer infrastructure is shared across "git cherry-pick",
322 + "git rebase -i", etc., and has always spawned "git commit" when it
323 + needs to create a commit. It has been taught to do so internally,
324 + when able, by reusing the codepath "git commit" itself uses, which
325 + gives performance boost for a few tens of percents in some sample
326 + scenarios.
327 +
328 + Will merge to and cook in 'next'.
329 +
330 +
331 +* ew/rebase-mboxrd (2017-11-18) 1 commit
332 + (merged to 'next' on 2017-11-21 at 88eaaac334)
333 + + rebase: use mboxrd format to avoid split errors
334 +
335 + When "git rebase" prepared an mailbox of changes and fed it to "git
336 + am" to replay them, it was confused when a stray "From " happened
337 + to be in the log message of one of the replayed changes. This has
338 + been corrected.
339 +
340 + Will merge to 'master'.
341 +
342 +
343 +* rs/config-write-section-fix (2017-11-18) 1 commit
344 + (merged to 'next' on 2017-11-21 at a7f3f93e0c)
345 + + config: flip return value of write_section()
346 +
347 + There was a recent semantic mismerge in the codepath to write out a
348 + section of a configuration section, which has been corrected.
349 +
350 + Will merge to 'master'.
351 +
352 +
353 +* ma/branch-list-paginate (2017-11-20) 3 commits
354 + (merged to 'next' on 2017-11-22 at eecd7f2369)
355 + + branch: change default of `pager.branch` to "on"
356 + + branch: respect `pager.branch` in list-mode only
357 + + t7006: add tests for how git branch paginates
358 +
359 + "git branch --list" learned to show its output through the pager by
360 + default when the output is going to a terminal, which is controlled
361 + by the pager.branch configuration variable. This is similar to a
362 + recent change to "git tag --list".
363 +
364 + Will merge to 'master'.
365 +
366 +
367 +* rs/include-comments-before-the-function-header (2017-11-21) 6 commits
368 + (merged to 'next' on 2017-11-22 at d7255a836f)
369 + + grep: show non-empty lines before functions with -W
370 + + grep: update boundary variable for pre-context
371 + + t7810: improve check of -W with user-defined function lines
372 + + xdiff: show non-empty lines before functions with -W
373 + + xdiff: factor out is_func_rec()
374 + + t4051: add test for comments preceding function lines
375 +
376 + "git grep -W", "git diff -W" and their friends learned a heuristic
377 + to extend a pre-context beyond the line that matches the "function
378 + pattern" (aka "diff.*.xfuncname") to include a comment block, if
379 + exists, that immediately precedes it.
380 +
381 + Will merge to 'master'.
382 +
383 +
384 +* jk/fewer-pack-rescan (2017-11-22) 5 commits
385 + - sha1_file: fast-path null sha1 as a missing object
386 + - everything_local: use "quick" object existence check
387 + - p5551: add a script to test fetch pack-dir rescans
388 + - t/perf/lib-pack: use fast-import checkpoint to create packs
389 + - p5550: factor out nonsense-pack creation
390 +
391 + Internaly we use 0{40} as a placeholder object name to signal the
392 + codepath that there is no such object (e.g. the fast-forward check
393 + while "git fetch" stores a new remote-tracking ref says "we know
394 + there is no 'old' thing pointed at by the ref, as we are creating
395 + it anew" by passing 0{40} for the 'old' side), and expect that a
396 + codepath to locate an in-core object to return NULL as a sign that
397 + the object does not exist. A look-up for an object that does not
398 + exist however is quite costly with a repository with large number
399 + of packfiles. This access pattern has been optimized.
400 +
401 + Will merge to 'next'.
402 +
403 +
404 +* ks/rebase-no-git-foo (2017-11-21) 1 commit
405 + (merged to 'next' on 2017-11-22 at 336552dbb7)
406 + + git-rebase: clean up dashed-usages in messages
407 +
408 + Mentions of "git-rebase" and "git-am" (dashed form) still remained
409 + in end-user visible strings emitted by the "git rebase" command;
410 + they have been corrected.
411 +
412 + Will merge to 'master'.
413 +
414 +
415 +* sw/pull-ipv46-passthru (2017-11-21) 1 commit
416 + (merged to 'next' on 2017-11-22 at b06021eeba)
417 + + pull: pass -4/-6 option to 'git fetch'
418 +
419 + Contrary to the documentation, "git pull -4/-6 other-args" did not
420 + ask the underlying "git fetch" to go over IPv4/IPv6, which has been
421 + corrected.
422 +
423 + Will merge to 'master'.
424 +
425 +
426 * jn/ssh-wrappers (2017-11-21) 9 commits
427 - connect: correct style of C-style comment
428 - ssh: 'simple' variant does not support --port
@@ -323,6 +442,8 @@ of the repositories listed at
442 to OpenSSH convention and then error out an invocation to make it
443 easier to diagnose connection errors.
444
445 + Will merge to 'next'.
446 +
447
448 * rv/sendemail-tocmd-in-config-and-completion (2017-11-14) 2 commits
449 (merged to 'next' on 2017-11-20 at 75cf6e2fc3)
@@ -352,6 +473,8 @@ of the repositories listed at
473 the configuration and report it as a timestamp, just like "--int"
474 would read "1k" and report 1024, to help consumption by scripts.
475
476 + Will merge to 'next'.
477 +
478
479 * sd/branch-copy (2017-11-16) 1 commit
480 (merged to 'next' on 2017-11-20 at e33bcc460a)
@@ -381,6 +504,8 @@ of the repositories listed at
504 way that has been possible on Windows for quite some time, for
505 Linux, BSDs and Darwin.
506
507 + A part of this that deals with Perl is still being discussed.
508 +
509
510 * jc/editor-waiting-message (2017-11-17) 1 commit
511 - launch_editor(): indicate that Git waits for user input
@@ -390,6 +515,8 @@ of the repositories listed at
515 opens to a hidden window or somewhere obscure and the user gets
516 lost.
517
518 + Will merge to 'next'.
519 +
520
521 * rs/apply-inaccurate-eof-with-incomplete-line (2017-11-17) 1 commit
522 (merged to 'next' on 2017-11-20 at c8aee1d135)
@@ -409,6 +536,8 @@ of the repositories listed at
536 The documentation still had "--set-upstream" listed on its
537 synopsys section, which has been corrected.
538
539 + Will merge to 'next'.
540 +
541
542 * tz/complete-branch-copy (2017-11-17) 1 commit
543 (merged to 'next' on 2017-11-20 at 6d22384fcd)
@@ -466,7 +595,7 @@ of the repositories listed at
595 hardcoded limit of 32k paths; this is being lifted to allow users
596 trade cycles with a (possibly) easier to read result.
597
469 - Will merge to 'master'.
598 + Will cook in 'next'.
599
600
601 * tz/redirect-fix (2017-11-14) 2 commits
@@ -493,14 +622,29 @@ of the repositories listed at
622 who are used to seeing abbreviated object names and find them
623 confusing with the range syntax.
624
496 - This may become a new default someday, but the way to tentatively
497 - get the original behaviour back would probably want to be an
498 - environment variable, not a configuration.
625 + Will merge to 'next'.
626 + The tests may need to be updated to cover both old and new output,
627 + but that can happen in follow-up series.
628 + cf. <xmqqo9nuuadm.fsf@gitster.mtv.corp.google.com>
629 +
630
500 - Expecting a reroll.
631 +* jh/object-filtering (2017-11-22) 6 commits
632 + - pack-objects: add list-objects filtering
633 + - rev-list: add list-objects filtering support
634 + - list-objects: filter objects in traverse_commit_list
635 + - oidset: add iterator methods to oidset
636 + - oidmap: add oidmap iterator methods
637 + - dir: allow exclusions from blob in addition to file
638 + (this branch is used by jh/fsck-promisors and jh/partial-clone.)
639 +
640 + In preparation for implementing narrow/partial clone, the object
641 + walking machinery has been taught a way to tell it to "filter" some
642 + objects from enumeration.
643 +
644 + Will merge to 'next'.
645
646
503 -* jh/fsck-promisors (2017-11-17) 10 commits
647 +* jh/fsck-promisors (2017-11-22) 10 commits
648 - gc: do not repack promisor packfiles
649 - rev-list: support termination at promisor objects
650 - sha1_file: support lazily fetching missing objects
@@ -513,35 +657,37 @@ of the repositories listed at
657 - extension.partialclone: introduce partial clone extension
658 (this branch is used by jh/partial-clone; uses jh/object-filtering.)
659
516 -
517 -* jh/object-filtering (2017-11-17) 6 commits
518 - - pack-objects: add list-objects filtering
519 - - rev-list: add list-objects filtering support
520 - - list-objects: filter objects in traverse_commit_list
521 - - oidset: add iterator methods to oidset
522 - - oidmap: add oidmap iterator methods
523 - - dir: allow exclusions from blob in addition to file
524 - (this branch is used by jh/fsck-promisors and jh/partial-clone.)
525 -
526 -
527 -* jh/partial-clone (2017-11-17) 15 commits
528 - . fetch-pack: restore save_commit_buffer after use
529 - . unpack-trees: batch fetching of missing blobs
530 - . t5500: more tests for partial clone and fetch
531 - . t5601: test for partial clone
532 - . t5500: add fetch-pack tests for partial clone
533 - . fetch: add from_promisor and exclude-promisor-objects parameters
534 - . fetch-pack: test support excluding large blobs
535 - . partial-clone: define partial clone settings in config
536 - . fetch-pack: test support excluding large blobs
537 - . pack-objects: test support for blob filtering
538 - . remote-curl: add object filtering for partial clone
539 - . fetch: add object filtering for partial fetch
540 - . fetch: refactor calculation of remote list
541 - . clone, fetch-pack, index-pack, transport: partial clone
542 - . upload-pack: add object filtering for partial clone
660 + In preparation for implementing narrow/partial clone, the machinery
661 + for checking object connectivity used by gc and fsck has been
662 + taught that a missing object is OK when it is referenced by a
663 + packfile specially marked as coming from trusted repository that
664 + promises to make them available on-demand and lazily.
665 +
666 +
667 +* jh/partial-clone (2017-11-22) 14 commits
668 + - fetch-pack: restore save_commit_buffer after use
669 + - unpack-trees: batch fetching of missing blobs
670 + - t5500: more tests for partial clone and fetch
671 + - t5601: test for partial clone
672 + - t5500: add fetch-pack tests for partial clone
673 + - fetch: add from_promisor and exclude-promisor-objects parameters
674 + - partial-clone: define partial clone settings in config
675 + - fetch-pack: test support excluding large blobs
676 + - pack-objects: test support for blob filtering
677 + - remote-curl: add object filtering for partial clone
678 + - fetch: add object filtering for partial fetch
679 + - fetch: refactor calculation of remote list
680 + - clone, fetch-pack, index-pack, transport: partial clone
681 + - upload-pack: add object filtering for partial clone
682 (this branch uses jh/fsck-promisors and jh/object-filtering.)
683
684 + The machinery to clone & fetch, which in turn involves packing and
685 + unpacking objects, have been told how to omit certain objects using
686 + the filtering mechanism introduced by the jh/object-filtering
687 + topic, and also mark the resulting pack as a promisor pack to
688 + tolerate missing objects, taking advantage of the mechanism
689 + introduced by the jh/fsck-promisors topic.
690 +
691
692 * sb/describe-blob (2017-11-16) 7 commits
693 - builtin/describe.c: describe a blob
@@ -632,7 +778,7 @@ of the repositories listed at
778 and demonstrated that it works with the older versions of Git
779 without harming them.
780
635 - Waiting for jn/ssh-wrappers topic.
781 + Will merge to 'next'.
782
783
784 * bc/hash-algo (2017-11-13) 4 commits
@@ -645,8 +791,7 @@ of the repositories listed at
791 introduced, and an effort to plumb that throughout various
792 codepaths has been started.
793
648 - Looked more or less OK to me. Ready to merge to 'next'? Further
649 - comments?
794 + Will merge to 'next'.
795
796
797 * sb/submodule-recursive-checkout-detach-head (2017-07-28) 2 commits
@@ -658,7 +803,7 @@ of the repositories listed at
803 repositories, which might not be desirable. Detach the HEAD but
804 still allow the recursive checkout to succeed in such a case.
805
661 - Expecting a reroll.
806 + Will merge to 'next'.
807
808 --------------------------------------------------
809 [Discarded]