What's cooking (2018/07 #01)

Junio C Hamano committed Jul 11, 2018 at 12:00 UTC 2955b71caa16f859e56e78590dd43630b28374e4
1 file changed +705 -319
whats-cooking.txt
+705 -319
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jun 2018, #07; Thu, 28)
3 +Subject: What's cooking in git.git (Jul 2018, #01; Wed, 11)
4 X-master-at: e3331758f12da22f4103eec7efe1b5304a9be5e9
5 -X-next-at: 9cd7c0d54aa2ac12712fd5611825c618efdaf1e0
5 +X-next-at: 985f88cf7ec28de3542ce98ac5b660da6e59caf0
6
7 -What's cooking in git.git (Jun 2018, #07; Thu, 28)
7 +What's cooking in git.git (Jul 2018, #01; Wed, 11)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -23,267 +23,455 @@ of the repositories listed at
23 http://git-blame.blogspot.com/p/git-public-repositories.html
24
25 --------------------------------------------------
26 -[Graduated to "master"]
26 +[New Topics]
27
28 -* ab/refspec-init-fix (2018-06-11) 3 commits
29 - (merged to 'next' on 2018-06-13 at 91d71d8435)
30 - + refspec: initalize `refspec_item` in `valid_fetch_refspec()`
31 - + refspec: add back a refspec_item_init() function
32 - + refspec: s/refspec_item_init/&_or_die/g
28 +* ag/rebase-i-in-c (2018-07-10) 13 commits
29 + - rebase -i: rewrite the rest of init_revisions_and_shortrevisions in C
30 + - rebase -i: implement the logic to initialize the variable $revision in C
31 + - rebase--interactive: remove unused modes and functions
32 + - rebase--interactive: rewrite complete_action() in C
33 + - sequencer: change the way skip_unnecessary_picks() returns its result
34 + - sequencer: refactor append_todo_help() to write its message to a buffer
35 + - rebase -i: rewrite checkout_onto() in C
36 + - rebase -i: rewrite setup_reflog_action() in C
37 + - sequencer: add a new function to silence a command, except if it fails
38 + - rebase-interactive: rewrite the edit-todo functionality in C
39 + - editor: add a function to launch the sequence editor
40 + - rebase--interactive: rewrite append_todo_help() in C
41 + - sequencer: make two functions and an enum from sequencer.c public
42
34 - Make refspec parsing codepath more robust.
43 + Piecemeal rewrite of the remaining "rebase -i" machinery in C.
44
45 + Expecting a reroll.
46
37 -* as/safecrlf-quiet-fix (2018-06-11) 1 commit
38 - (merged to 'next' on 2018-06-13 at b163674843)
39 - + config.c: fix regression for core.safecrlf false
47 + The early parts of the series seem solidifying; perhaps with a
48 + reroll or two, they become 'next' material?
49
41 - Fix for 2.17-era regression around `core.safecrlf`.
50
51 +* en/apply-comment-fix (2018-06-28) 1 commit
52 + - apply: fix grammar error in comment
53
44 -* jc/clean-after-sanity-tests (2018-06-15) 1 commit
45 - (merged to 'next' on 2018-06-22 at 2df77b8af9)
46 - + tests: clean after SANITY tests
54 + Will merge to 'next'.
55
48 - test cleanup.
56
57 +* en/t5407-rebase-m-fix (2018-06-28) 1 commit
58 + - t5407: fix test to cover intended arguments
59
51 -* jh/partial-clone (2018-06-12) 1 commit
52 - (merged to 'next' on 2018-06-13 at 818f864b0c)
53 - + list-objects: check if filter is NULL before using
60 + Will merge to 'next'.
61
55 - The recent addition of "partial clone" experimental feature kicked
56 - in when it shouldn't, namely, when there is no partial-clone filter
57 - defined even if extensions.partialclone is set.
62
63 +* sb/mailmap (2018-06-29) 1 commit
64 + (merged to 'next' on 2018-07-11 at d9dc53e374)
65 + + .mailmap: merge different spellings of names
66
60 -* jk/fetch-all-peeled-fix (2018-06-13) 2 commits
61 - (merged to 'next' on 2018-06-13 at 1333bb9d90)
62 - + fetch-pack: test explicitly that --all can fetch tag references pointing to non-commits
63 - + fetch-pack: don't try to fetch peel values with --all
67 + Will merge to 'master'.
68
65 - "git fetch-pack --all" used to unnecessarily fail upon seeing an
66 - annotated tag that points at an object other than a commit.
69
70 +* sb/object-store-lookup (2018-06-29) 33 commits
71 + - commit.c: allow lookup_commit_reference to handle arbitrary repositories
72 + - commit.c: allow lookup_commit_reference_gently to handle arbitrary repositories
73 + - tag.c: allow deref_tag to handle arbitrary repositories
74 + - object.c: allow parse_object to handle arbitrary repositories
75 + - object.c: allow parse_object_buffer to handle arbitrary repositories
76 + - commit.c: allow get_cached_commit_buffer to handle arbitrary repositories
77 + - commit.c: allow set_commit_buffer to handle arbitrary repositories
78 + - commit.c: migrate the commit buffer to the parsed object store
79 + - commit-slabs: remove realloc counter outside of slab struct
80 + - commit.c: allow parse_commit_buffer to handle arbitrary repositories
81 + - tag: allow parse_tag_buffer to handle arbitrary repositories
82 + - tag: allow lookup_tag to handle arbitrary repositories
83 + - commit: allow lookup_commit to handle arbitrary repositories
84 + - tree: allow lookup_tree to handle arbitrary repositories
85 + - blob: allow lookup_blob to handle arbitrary repositories
86 + - object: allow lookup_object to handle arbitrary repositories
87 + - object: allow object_as_type to handle arbitrary repositories
88 + - tag: add repository argument to deref_tag
89 + - tag: add repository argument to parse_tag_buffer
90 + - tag: add repository argument to lookup_tag
91 + - commit: add repository argument to get_cached_commit_buffer
92 + - commit: add repository argument to set_commit_buffer
93 + - commit: add repository argument to parse_commit_buffer
94 + - commit: add repository argument to lookup_commit
95 + - commit: add repository argument to lookup_commit_reference
96 + - commit: add repository argument to lookup_commit_reference_gently
97 + - tree: add repository argument to lookup_tree
98 + - blob: add repository argument to lookup_blob
99 + - object: add repository argument to object_as_type
100 + - object: add repository argument to parse_object_buffer
101 + - object: add repository argument to lookup_object
102 + - object: add repository argument to parse_object
103 + - Merge branch 'sb/object-store-grafts' into sb/object-store-lookup
104 + (this branch uses sb/object-store-grafts.)
105 +
106 + lookup_commit_reference() and friends have been updated to find
107 + in-core object for a specific in-core repository instance.
108
69 -* ms/send-pack-honor-config (2018-06-12) 1 commit
70 - (merged to 'next' on 2018-06-13 at e2cd933715)
71 - + builtin/send-pack: populate the default configs
109 + Will merge to 'next'.
110
73 - "git send-pack --signed" (hence "git push --signed" over the http
74 - transport) did not read user ident from the config mechanism to
75 - determine whom to sign the push certificate as, which has been
76 - corrected.
111
112 +* ag/rebase-p (2018-07-06) 1 commit
113 + - git-rebase--preserve-merges: fix formatting of todo help message
114 +
115 + The help message shown in the editor to edit todo list in "rebase -p"
116 + has regressed recently, which has been corrected.
117 +
118 + Will merge to 'next'.
119
79 -* nd/completion-negation (2018-06-11) 3 commits
80 - (merged to 'next' on 2018-06-19 at a3be59b450)
81 - + completion: collapse extra --no-.. options
82 - + completion: suppress some -no- options
83 - + parse-options: option to let --git-completion-helper show negative form
120
85 - Continuing with the idea to programmatically enumerate various
86 - pieces of data required for command line completion, the codebase
87 - has been taught to enumerate options prefixed with "--no-" to
88 - negate them.
121 +* bb/pedantic (2018-07-09) 8 commits
122 + - utf8.c: avoid char overflow
123 + - string-list.c: avoid conversion from void * to function pointer
124 + - sequencer.c: avoid empty statements at top level
125 + - convert.c: replace "\e" escapes with "\033".
126 + - fixup! refs/refs-internal.h: avoid forward declaration of an enum
127 + - refs/refs-internal.h: avoid forward declaration of an enum
128 + - fixup! connect.h: avoid forward declaration of an enum
129 + - connect.h: avoid forward declaration of an enum
130
131 + The codebase has been updated to compile cleanly with -pedantic
132 + option.
133
91 -* pw/add-p-recount (2018-06-11) 1 commit
92 - (merged to 'next' on 2018-06-19 at 1880ecc3f1)
93 - + add -p: fix counting empty context lines in edited patches
134 + Will merge to 'next'.
135
95 - When user edits the patch in "git add -p" and the user's editor is
96 - set to strip trailing whitespaces indiscriminately, an empty line
97 - that is unchanged in the patch would become completely empty
98 - (instead of a line with a sole SP on it). The code introduced in
99 - Git 2.17 timeframe failed to parse such a patch, but now it learned
100 - to notice the situation and cope with it.
136
137 +* bb/unicode-11-width (2018-07-09) 1 commit
138 + - unicode: update the width tables to Unicode 11
139
103 -* sb/fix-fetching-moved-submodules (2018-06-14) 2 commits
104 - (merged to 'next' on 2018-06-22 at 16039dc62a)
105 - + t5526: test recursive submodules when fetching moved submodules
106 - + submodule: fix NULL correctness in renamed broken submodules
140 + The character display width table has been updated to match the
141 + latest Unicode standard.
142
108 - The code to try seeing if a fetch is necessary in a submodule
109 - during a fetch with --recurse-submodules got confused when the path
110 - to the submodule was changed in the range of commits in the
111 - superproject, sometimes showing "(null)". This has been corrected.
143 + Will merge to 'next'.
144
145
114 -* sg/gpg-tests-fix (2018-06-11) 2 commits
115 - (merged to 'next' on 2018-06-13 at f3a05f1c41)
116 - + tests: make forging GPG signed commits and tags more robust
117 - + t7510-signed-commit: use 'test_must_fail'
146 +* bc/object-id (2018-07-09) 17 commits
147 + - pretty: switch hard-coded constants to the_hash_algo
148 + - sha1-file: convert constants to uses of the_hash_algo
149 + - log-tree: switch GIT_SHA1_HEXSZ to the_hash_algo->hexsz
150 + - diff: switch GIT_SHA1_HEXSZ to use the_hash_algo
151 + - builtin/merge-recursive: make hash independent
152 + - builtin/merge: switch to use the_hash_algo
153 + - builtin/fmt-merge-msg: make hash independent
154 + - builtin/update-index: simplify parsing of cacheinfo
155 + - builtin/update-index: convert to using the_hash_algo
156 + - refs/files-backend: use the_hash_algo for writing refs
157 + - commit: increase commit message buffer size
158 + - sha1-name: use the_hash_algo when parsing object names
159 + - strbuf: allocate space with GIT_MAX_HEXSZ
160 + - commit: express tree entry constants in terms of the_hash_algo
161 + - hex: switch to using the_hash_algo
162 + - tree-walk: replace hard-coded constants with the_hash_algo
163 + - cache: update object ID functions for the_hash_algo
164 +
165 + Conversion from uchar[40] to struct object_id continues.
166
119 - Some flaky tests have been fixed.
167 + Expecting a reroll.
168 + cf. <20180709232656.GA535220@genre.crustytoothpaste.net>
169
170
122 -* tz/cred-netrc-cleanup (2018-06-18) 4 commits
123 - (merged to 'next' on 2018-06-22 at a471dd714c)
124 - + git-credential-netrc: make "all" default target of Makefile
125 - + git-credential-netrc: fix exit status when tests fail
126 - + git-credential-netrc: use in-tree Git.pm for tests
127 - + git-credential-netrc: minor whitespace cleanup in test script
171 +* bc/send-email-auto-cte (2018-07-09) 4 commits
172 + - docs: correct RFC specifying email line length
173 + - send-email: automatically determine transfer-encoding
174 + - send-email: accept long lines with suitable transfer encoding
175 + - send-email: add an auto option for transfer encoding
176
129 - Build and test procedure for netrc credential helper (in contrib/)
130 - has been updated.
177 + The content-transfer-encoding of the message "git send-email" sends
178 + out by default was 8bit, which can cause trouble when there is an
179 + overlong line to bust RFC 5322/2822 limit. A new option 'auto' to
180 + automatically switch to quoted-printable when there is such a line
181 + in the payload has been introduced and is made the default.
182
132 ---------------------------------------------------
133 -[New Topics]
183 + Will merge to 'next'.
184
135 -* ao/config-from-gitmodules (2018-06-26) 6 commits
136 - - submodule-config: reuse config_from_gitmodules in repo_read_gitmodules
137 - - submodule-config: pass repository as argument to config_from_gitmodules
138 - - submodule-config: make 'config_from_gitmodules' private
139 - - submodule-config: add helper to get 'update-clone' config from .gitmodules
140 - - submodule-config: add helper function to get 'fetch' config from .gitmodules
141 - - config: move config_from_gitmodules to submodule-config.c
185
143 - Tighten the API to make it harder to misuse in-tree .gitmodules
144 - file, even though it shares the same syntax with configuration
145 - files, to read random configuration items from it.
186 +* en/dirty-merge-fixes (2018-07-11) 9 commits
187 + - merge: fix misleading pre-merge check documentation
188 + - merge-recursive: enforce rule that index matches head before merging
189 + - t6044: add more testcases with staged changes before a merge is invoked
190 + - merge-recursive: fix assumption that head tree being merged is HEAD
191 + - merge-recursive: make sure when we say we abort that we actually abort
192 + - t6044: add a testcase for index matching head, when head doesn't match HEAD
193 + - t6044: verify that merges expected to abort actually abort
194 + - index_has_changes(): avoid assuming operating on the_index
195 + - read-cache.c: move index_has_changes() from merge.c
196 +
197 + The recursive merge strategy did not properly ensure there was no
198 + change between HEAD and the index before performing its operation,
199 + which has been corrected.
200
201 Will merge to 'next'.
202
203
150 -* as/sequencer-customizable-comment-char (2018-06-28) 1 commit
151 - - sequencer: use configured comment character
204 +* en/t6036-merge-recursive-tests (2018-07-11) 6 commits
205 + - t6036: add a failed conflict detection case: regular files, different modes
206 + - t6036: add a failed conflict detection case with conflicting types
207 + - t6036: add a failed conflict detection case with submodule add/add
208 + - t6036: add a failed conflict detection case with submodule modify/modify
209 + - t6036: add a failed conflict detection case with symlink add/add
210 + - t6036: add a failed conflict detection case with symlink modify/modify
211
153 - Honor core.commentchar when preparing the list of commits to replay
154 - in "rebase -i".
155 -
212 + Tests to cover various conflicting cases have been added for
213 + merge-recursive.
214
157 -* dj/runtime-prefix (2018-06-26) 1 commit
158 - - Makefile: tweak sed invocation
215 + Will merge to 'next'.
216
160 - POSIX portability fix in Makefile to fix a glitch introduced a few
161 - releases ago.
217 +
218 +* en/t6036-recursive-corner-cases (2018-07-06) 1 commit
219 + - t6036: add lots of detail for directory/file conflicts in recursive case
220 +
221 + Tests to cover more D/F conflict cases have been added for
222 + merge-recursive.
223
224 Will merge to 'next'.
225
226
166 -* ds/commit-graph (2018-06-28) 1 commit
167 - - commit-graph: fix documentation inconsistencies
227 +* en/t6042-insane-merge-rename-testcases (2018-07-03) 3 commits
228 + - t6042: add testcase covering long chains of rename conflicts
229 + - t6042: add testcase covering rename/rename(2to1)/delete/delete conflict
230 + - t6042: add testcase covering rename/add/delete conflict type
231
169 - Docfix.
232 + Various glitches in the heuristics of merge-recursive strategy have
233 + been documented in new tests.
234
235 Will merge to 'next'.
236
237 + I am not sure if there is a single "correct" answer everybody can
238 + agree on for each of these "insane" cases, though.
239
174 -* en/rebase-i-microfixes (2018-06-27) 3 commits
175 - - git-rebase--merge: modernize "git-$cmd" to "git $cmd"
176 - - Fix use of strategy options with interactive rebases
177 - - t3418: add testcase showing problems with rebase -i and strategy options
240 +
241 +* en/t7405-recursive-submodule-conflicts (2018-07-11) 3 commits
242 + - t7405: verify 'merge --abort' works after submodule/path conflicts
243 + - t7405: add a directory/submodule conflict
244 + - t7405: add a file/submodule conflict
245 +
246 + Tests to cover conflict cases that involve submodules have been
247 + added for merge-recursive.
248
249 Will merge to 'next'.
250
251
182 -* js/enhanced-version-info (2018-06-28) 1 commit
183 - - Makefile: fix the "built from commit" code
252 +* es/test-fixes (2018-07-03) 25 commits
253 + - t9119: fix broken &&-chains
254 + - t9000-t9999: fix broken &&-chains
255 + - t7000-t7999: fix broken &&-chains
256 + - t6000-t6999: fix broken &&-chains
257 + - t5000-t5999: fix broken &&-chains
258 + - t4000-t4999: fix broken &&-chains
259 + - t3030: fix broken &&-chains
260 + - t3000-t3999: fix broken &&-chains
261 + - t2000-t2999: fix broken &&-chains
262 + - t1000-t1999: fix broken &&-chains
263 + - t0000-t0999: fix broken &&-chains
264 + - t9814: simplify convoluted check that command correctly errors out
265 + - t9001: fix broken "invoke hook" test
266 + - t7810: use test_expect_code() instead of hand-rolled comparison
267 + - t7400: fix broken "submodule add/reconfigure --force" test
268 + - t7201: drop pointless "exit 0" at end of subshell
269 + - t6036: fix broken "merge fails but has appropriate contents" tests
270 + - t5505: modernize and simplify hard-to-digest test
271 + - t5406: use write_script() instead of birthing shell script manually
272 + - t5405: use test_must_fail() instead of checking exit code manually
273 + - t/lib-submodule-update: fix "absorbing" test
274 + - t: drop unnecessary terminating semicolon in subshell
275 + - t: use sane_unset() rather than 'unset' with broken &&-chain
276 + - t: use test_write_lines() instead of series of 'echo' commands
277 + - t: use test_might_fail() instead of manipulating exit code manually
278 +
279 + Test clean-up and corrections.
280
185 - Build fix.
281 + Will merge to 'next'.
282 +
283 +
284 +* jk/empty-pick-fix (2018-07-11) 2 commits
285 + - sequencer: don't say BUG on bogus input
286 + - sequencer: handle empty-set cases consistently
287 +
288 + Handling of an empty range by "git cherry-pick" was inconsistent
289 + depending on how the range ended up to be empty, which has been
290 + corrected.
291
292 Will merge to 'next'.
293
294
190 -* js/rebase-recreate-merge (2018-06-27) 1 commit
191 - - rebase: fix documentation formatting
295 +* jk/fetch-all-peeled-fix (2018-07-06) 1 commit
296 + - t5500: prettify non-commit tag tests
297
193 - Docfix.
298 + Test modernization.
299
300 Will merge to 'next'.
301
302
198 -* jt/connectivity-check-after-unshallow (2018-06-27) 1 commit
199 - - fetch: when deepening, check connectivity fully
303 +* jk/for-each-ref-icase (2018-07-03) 3 commits
304 + - ref-filter: avoid backend filtering with --ignore-case
305 + - for-each-ref: consistently pass WM_IGNORECASE flag
306 + - t6300: add a test for --ignore-case
307
201 - "git fetch" failed to correctly validate the set of objects it
202 - received when making a shallow history deeper, which has been
203 - corrected.
308 + The "--ignore-case" option of "git for-each-ref" (and its friends)
309 + did not work correctly, which has been fixed.
310
311 + Will merge to 'next'.
312
206 -* jt/fetch-nego-tip (2018-06-27) 1 commit
207 - - fetch-pack: support negotiation tip whitelist
208 - (this branch uses jt/fetch-pack-negotiator.)
313
210 - "git fetch" learned a new option "--negotiation-tip" to limit the
211 - set of commits it tells the other end as "have", to reduce wasted
212 - bandwidth and cycles, which would be helpful when the receiving
213 - repository has a lot of refs that have little to do with the
214 - history at the remote it is fetching from.
314 +* jk/fsck-gitmodules-gently (2018-07-03) 5 commits
315 + - fsck: silence stderr when parsing .gitmodules
316 + - fsck: silence stderr when parsing .gitmodules
317 + - config: add options parameter to git_config_from_mem
318 + - config: add CONFIG_ERROR_SILENT handler
319 + - config: turn die_on_error into caller-facing enum
320
321 + What's the status of this one?
322
217 -* mb/filter-branch-optim (2018-06-26) 1 commit
218 - - filter-branch: skip commits present on --state-branch
323
220 - "git filter-branch" when used with the "--state-branch" option
221 - still attempted to rewrite the commits whose filtered result is
222 - known from the previous attempt (which is recorded on the state
223 - branch); the command has been corrected not to waste cycles doing
224 - so.
324 +* js/range-diff (2018-07-09) 20 commits
325 + - range-diff: make --dual-color the default mode
326 + - range-diff: left-pad patch numbers
327 + - completion: support `git range-diff`
328 + - range-diff: add a man page
329 + - range-diff --dual-color: work around bogus white-space warning
330 + - range-diff: offer to dual-color the diffs
331 + - diff: add an internal option to dual-color diffs of diffs
332 + - color: add the meta color GIT_COLOR_REVERSE
333 + - range-diff: use color for the commit pairs
334 + - range-diff: add tests
335 + - range-diff: do not show "function names" in hunk headers
336 + - range-diff: adjust the output of the commit pairs
337 + - range-diff: suppress the diff headers
338 + - range-diff: indent the diffs just like tbdiff
339 + - range-diff: right-trim commit messages
340 + - range-diff: also show the diff between patches
341 + - range-diff: improve the order of the shown commits
342 + - range-diff: first rudimentary implementation
343 + - Introduce `range-diff` to compare iterations of a topic branch
344 + - linear-assignment: a function to solve least-cost assignment problems
345 +
346 + "git tbdiff" that lets us compare individual patches in two
347 + iterations of a topic has been rewritten and made into a built-in
348 + command.
349 +
350 + Supersedes js/branch-diff topic that added a similar command under
351 + a different name.
352 +
353 +
354 +* jt/commit-graph-per-object-store (2018-07-09) 6 commits
355 + . commit-graph: add repo arg to graph readers
356 + . commit-graph: store graph in struct object_store
357 + . commit-graph: add free_commit_graph
358 + . commit-graph: add missing forward declaration
359 + . object-store: add missing include
360 + . commit-graph: refactor preparing commit graph
361 + (this branch uses ds/commit-graph-fsck.)
362 +
363 + The singleton commit-graph in-core instance is made per in-core
364 + repository instance.
365 +
366 + Expecting a reroll, as it breaks 32-bit build.
367 + cf. https://travis-ci.org/git/git/jobs/402422108
368 +
369 +
370 +* jt/partial-clone-fsck-connectivity (2018-07-09) 2 commits
371 + - clone: check connectivity even if clone is partial
372 + - upload-pack: send refs' objects despite "filter"
373 + (this branch uses bw/ref-in-want and jt/connectivity-check-after-unshallow.)
374 +
375 + Partial clone support of "git clone" has been updated to correctly
376 + validate the objects it receives from the other side. The server
377 + side has been corrected to send objects that are directly
378 + requested, even if they may match the filtering criteria (e.g. when
379 + doing a "lazy blob" partial clone).
380
381 Will merge to 'next'.
382
383
229 -* ms/core-icase-doc (2018-06-28) 1 commit
230 - - Documentation: declare "core.ignoreCase" as internal variable
384 +* kg/gc-auto-windows-workaround (2018-07-09) 1 commit
385 + - gc --auto: release pack files before auto packing
386
232 - Clarify that setting core.ignoreCase to deviate from reality would
233 - not turn a case-incapable filesystem into a case-capable one.
387 + "git gc --auto" opens file descriptors for the packfiles before
388 + spawning "git repack/prune", which would upset Windows that does
389 + not want a process to work on a file that is open by another
390 + process. The issue has been worked around.
391
392 Will merge to 'next'.
393
394
238 -* rj/submodule-fsck-skip (2018-06-27) 1 commit
239 - - fsck: check skiplist for object in fsck_blob()
395 +* kn/userdiff-php (2018-07-06) 2 commits
396 + - userdiff: support new keywords in PHP hunk header
397 + - t4018: add missing test cases for PHP
398
241 - "fsck.skipList" did not prevent a blob object listed there from
242 - being inspected for is contents (e.g. we recently started to
243 - inspect the contents of ".gitmodules" for certain malicious
244 - patterns), which has been corrected.
399 + The userdiff pattern for .php has been updated.
400
401 Will merge to 'next'.
402
403
249 -* tb/grep-only-matching (2018-06-27) 3 commits
250 - - SQUASH??? emerg compilation fix
251 - - grep.c: teach 'git grep --only-matching'
252 - - grep.c: extract show_line_header()
253 - (this branch uses tb/grep-column.)
404 +* lt/date-human (2018-07-09) 1 commit
405 + - Add 'human' date format
406
255 - "git grep" learned the "--only-matching" option.
407
408 +* mh/fast-import-no-diff-delta-empty (2018-07-06) 1 commit
409 + - fast-import: do not call diff_delta() with empty buffer
410
258 -* tz/exclude-doc-smallfixes (2018-06-27) 2 commits
259 - - dir.c: fix typos in core.excludesfile comment
260 - - gitignore.txt: clarify default core.excludesfile path
411 + "git fast-import" has been updated to avoid attempting to create
412 + delta against a zero-byte-long string, which is pointless.
413
262 - Doc updates.
414 + Will merge to 'next'.
415 +
416 +
417 +* ot/ref-filter-object-info (2018-07-09) 4 commits
418 + . ref-filter: use oid_object_info() to get object
419 + . ref-filter: merge get_obj and get_object
420 + . ref-filter: add empty values to technical fields
421 + . ref-filter: add info_source to valid_atom
422 +
423 + Expecting a reroll, as it breaks compilation with uninitialized var.
424 + cf. https://travis-ci.org/git/git/jobs/402422102
425 +
426 +
427 +* pk/rebase-in-c (2018-07-09) 4 commits
428 + - builtin/rebase: support running "git rebase <upstream>"
429 + - sequencer: refactor the code to detach HEAD to checkout.c
430 + - rebase: refactor common shell functions into their own file
431 + - rebase: start implementing it as a builtin
432 +
433 + Piecemeal rewrite of the "rebase" machinery in C.
434 +
435 + Expecting a reroll, but it seems that this is getting quite close.
436 + cf. <CAOZc8M8YmLwJOzG-1jyz8ft4W_tJMwNs6kSV8inX1q_zmDW8Sg@mail.gmail.com>
437 +
438 +
439 +* tb/config-default (2018-07-06) 1 commit
440 + - builtin/config: work around an unsized array forward declaration
441 +
442 + Compilation fix.
443
444 Will merge to 'next'.
445
266 ---------------------------------------------------
267 -[Stalled]
446
269 -* ab/fetch-tags-noclobber (2018-05-16) 9 commits
270 - - fixup! push tests: assert re-pushing annotated tags
271 - - fetch: stop clobbering existing tags without --force
272 - - fetch tests: add a test clobbering tag behavior
273 - - fetch tests: correct a comment "remove it" -> "remove them"
274 - - push doc: correct lies about how push refspecs work
275 - - push tests: assert re-pushing annotated tags
276 - - push tests: add more testing for forced tag pushing
277 - - push tests: fix logic error in "push" test assertion
278 - - push tests: remove redundant 'git push' invocation
447 +* bp/log-ref-write-fd-with-strbuf (2018-07-10) 1 commit
448 + - convert log_ref_write_fd() to use strbuf
449
280 - Expecting a reboot of the discussion to take it to some conclusion
281 - and then a reroll.
282 - cf. <f3b891c3-381f-de42-51d8-24fdfbca91d2@gmail.com>
283 - cf. <xmqq603yn50l.fsf@gitster-ct.c.googlers.com>
284 - cf. <xmqqzi1alodz.fsf@gitster-ct.c.googlers.com>
285 - cf. <xmqqvabylnbi.fsf@gitster-ct.c.googlers.com>
450 + Code clean-up.
451
452 + Will merge to 'next'.
453 +
454 +
455 +* hs/push-cert-check-cleanup (2018-07-11) 2 commits
456 + - gpg-interface: make parse_gpg_output static and remove from interface header
457 + - builtin/receive-pack: use check_signature from gpg-interface
458 +
459 + Code clean-up.
460 +
461 + Will merge to 'next'.
462 +
463 +
464 +* mk/merge-in-sparse-checkout (2018-07-11) 1 commit
465 + - unpack-trees: do not fail reset because of unmerged skipped entry
466 +
467 + "git reset --merge" (hence "git merge ---abort") and "git reset --hard"
468 + had trouble working correctly in a sparsely checked out working
469 + tree after a conflict, which has been corrected.
470 +
471 + Will merge to 'next'.
472 +
473 +--------------------------------------------------
474 +[Stalled]
475
476 * pw/add-p-select (2018-03-16) 3 commits
477 - add -p: optimize line selection for short hunks
@@ -390,42 +578,197 @@ of the repositories listed at
578 --------------------------------------------------
579 [Cooking]
580
581 +* ao/config-from-gitmodules (2018-06-26) 6 commits
582 + (merged to 'next' on 2018-07-11 at 5d88dc6fb7)
583 + + submodule-config: reuse config_from_gitmodules in repo_read_gitmodules
584 + + submodule-config: pass repository as argument to config_from_gitmodules
585 + + submodule-config: make 'config_from_gitmodules' private
586 + + submodule-config: add helper to get 'update-clone' config from .gitmodules
587 + + submodule-config: add helper function to get 'fetch' config from .gitmodules
588 + + config: move config_from_gitmodules to submodule-config.c
589 +
590 + Tighten the API to make it harder to misuse in-tree .gitmodules
591 + file, even though it shares the same syntax with configuration
592 + files, to read random configuration items from it.
593 +
594 + Will merge to 'master'.
595 +
596 +
597 +* as/sequencer-customizable-comment-char (2018-06-28) 1 commit
598 + - sequencer: use configured comment character
599 +
600 + Honor core.commentchar when preparing the list of commits to replay
601 + in "rebase -i".
602 +
603 + Needs inter-contributor coordination.
604 + cf. <e8973797-fc5f-2ca5-1881-5ee66fc8279b@living180.net>
605 +
606 +
607 +* dj/runtime-prefix (2018-06-26) 1 commit
608 + (merged to 'next' on 2018-07-11 at 27d99fef94)
609 + + Makefile: tweak sed invocation
610 +
611 + POSIX portability fix in Makefile to fix a glitch introduced a few
612 + releases ago.
613 +
614 + Will merge to 'master'.
615 +
616 +
617 +* ds/commit-graph (2018-06-28) 1 commit
618 + (merged to 'next' on 2018-07-11 at d579f733ed)
619 + + commit-graph: fix documentation inconsistencies
620 +
621 + Docfix.
622 +
623 + Will merge to 'master'.
624 +
625 +
626 +* en/rebase-i-microfixes (2018-06-27) 3 commits
627 + (merged to 'next' on 2018-07-11 at d913ca0f77)
628 + + git-rebase--merge: modernize "git-$cmd" to "git $cmd"
629 + + Fix use of strategy options with interactive rebases
630 + + t3418: add testcase showing problems with rebase -i and strategy options
631 +
632 + Will merge to 'master'.
633 +
634 +
635 +* js/enhanced-version-info (2018-06-29) 1 commit
636 + (merged to 'next' on 2018-07-11 at 815b2ea2bc)
637 + + Makefile: fix the "built from commit" code
638 +
639 + Build fix.
640 +
641 + Will merge to 'master'.
642 +
643 +
644 +* js/rebase-recreate-merge (2018-06-27) 1 commit
645 + (merged to 'next' on 2018-07-11 at eb8f33aaef)
646 + + rebase: fix documentation formatting
647 +
648 + Docfix.
649 +
650 + Will merge to 'master'.
651 +
652 +
653 +* jt/connectivity-check-after-unshallow (2018-07-03) 1 commit
654 + - fetch-pack: write shallow, then check connectivity
655 + (this branch is used by jt/partial-clone-fsck-connectivity; uses bw/ref-in-want.)
656 +
657 + "git fetch" failed to correctly validate the set of objects it
658 + received when making a shallow history deeper, which has been
659 + corrected.
660 +
661 + Will merge to 'next'.
662 +
663 +
664 +* jt/fetch-nego-tip (2018-07-03) 1 commit
665 + - fetch-pack: support negotiation tip whitelist
666 + (this branch uses jt/fetch-pack-negotiator.)
667 +
668 + "git fetch" learned a new option "--negotiation-tip" to limit the
669 + set of commits it tells the other end as "have", to reduce wasted
670 + bandwidth and cycles, which would be helpful when the receiving
671 + repository has a lot of refs that have little to do with the
672 + history at the remote it is fetching from.
673 +
674 + Will merge to 'next'.
675 +
676 +
677 +* mb/filter-branch-optim (2018-06-26) 1 commit
678 + (merged to 'next' on 2018-07-11 at e43a0136c2)
679 + + filter-branch: skip commits present on --state-branch
680 +
681 + "git filter-branch" when used with the "--state-branch" option
682 + still attempted to rewrite the commits whose filtered result is
683 + known from the previous attempt (which is recorded on the state
684 + branch); the command has been corrected not to waste cycles doing
685 + so.
686 +
687 + Will merge to 'master'.
688 +
689 +
690 +* ms/core-icase-doc (2018-06-28) 1 commit
691 + (merged to 'next' on 2018-07-11 at 8f0d71c32d)
692 + + Documentation: declare "core.ignoreCase" as internal variable
693 +
694 + Clarify that setting core.ignoreCase to deviate from reality would
695 + not turn a case-incapable filesystem into a case-capable one.
696 +
697 + Will merge to 'master'.
698 +
699 +
700 +* rj/submodule-fsck-skip (2018-07-03) 1 commit
701 + (merged to 'next' on 2018-07-11 at 985f88cf7e)
702 + + fsck: check skiplist for object in fsck_blob()
703 +
704 + "fsck.skipList" did not prevent a blob object listed there from
705 + being inspected for is contents (e.g. we recently started to
706 + inspect the contents of ".gitmodules" for certain malicious
707 + patterns), which has been corrected.
708 +
709 + Will merge to 'master'.
710 +
711 +
712 +* tb/grep-only-matching (2018-07-09) 2 commits
713 + - grep.c: teach 'git grep --only-matching'
714 + - grep.c: extract show_line_header()
715 + (this branch uses tb/grep-column.)
716 +
717 + "git grep" learned the "--only-matching" option.
718 +
719 + Will merge to 'next'.
720 +
721 +
722 +* tz/exclude-doc-smallfixes (2018-06-27) 2 commits
723 + (merged to 'next' on 2018-07-11 at 5134f1ca72)
724 + + dir.c: fix typos in core.excludesfile comment
725 + + gitignore.txt: clarify default core.excludesfile path
726 +
727 + Doc updates.
728 +
729 + Will merge to 'master'.
730 +
731 +
732 * ld/p423 (2018-06-19) 6 commits
394 - - git-p4: python3: fix octal constants
395 - - git-p4: python3: use print() function
396 - - git-p4: python3: basestring workaround
397 - - git-p4: python3: remove backticks
398 - - git-p4: python3: replace dict.has_key(k) with "k in dict"
399 - - git-p4: python3: replace <> with !=
733 + (merged to 'next' on 2018-06-29 at af76acb664)
734 + + git-p4: python3: fix octal constants
735 + + git-p4: python3: use print() function
736 + + git-p4: python3: basestring workaround
737 + + git-p4: python3: remove backticks
738 + + git-p4: python3: replace dict.has_key(k) with "k in dict"
739 + + git-p4: python3: replace <> with !=
740
741 Code preparation to make "git p4" closer to be usable with Python 3.
742
403 - Will merge to 'next'.
743 + Will merge to 'master'.
744
745
746 * pw/rebase-i-keep-reword-after-conflict (2018-06-19) 1 commit
407 - - sequencer: do not squash 'reword' commits when we hit conflicts
747 + (merged to 'next' on 2018-06-29 at 538337be74)
748 + + sequencer: do not squash 'reword' commits when we hit conflicts
749
750 Bugfix for "rebase -i" corner case regression.
751
411 - Will merge to 'next'.
752 + Will merge to 'master'.
753
754
755 * xy/format-patch-prereq-patch-id-fix (2018-06-19) 1 commit
415 - - format-patch: clear UNINTERESTING flag before prepare_bases
756 + (merged to 'next' on 2018-06-29 at 0dffc46ce2)
757 + + format-patch: clear UNINTERESTING flag before prepare_bases
758
759 Recently added "--base" option to "git format-patch" command did
760 not correctly generate prereq patch ids.
761
420 - Will merge to 'next'.
762 + Will merge to 'master'.
763
764
765 * bw/config-refer-to-gitsubmodules-doc (2018-06-21) 1 commit
424 - - docs: link to gitsubmodules
766 + (merged to 'next' on 2018-06-29 at da6f49d292)
767 + + docs: link to gitsubmodules
768
769 Docfix.
770
428 - Will merge to 'next'.
771 + Will merge to 'master'.
772
773
774 * bw/ref-in-want (2018-06-28) 8 commits
@@ -437,11 +780,14 @@ of the repositories listed at
780 - upload-pack: test negotiation with changing repository
781 - upload-pack: implement ref-in-want
782 - test-pkt-line: add unpack-sideband subcommand
783 + (this branch is used by jt/connectivity-check-after-unshallow and jt/partial-clone-fsck-connectivity.)
784
785 Protocol v2 has been updated to allow slightly out-of-sync set of
786 servers to work together to serve a single client, which would be
787 useful with load-balanced servers that talk smart HTTP transport.
788
789 + Will merge to 'next'.
790 +
791
792 * en/rebase-consistency (2018-06-27) 9 commits
793 - git-rebase: make --allow-empty-message the default
@@ -458,28 +804,33 @@ of the repositories listed at
804 the three backends gets used; this has been documented and an
805 effort to make them more uniform has begun.
806
807 + Will merge to 'next'.
808 +
809
810 * jt/remove-pack-bitmap-global (2018-06-21) 2 commits
463 - - pack-bitmap: add free function
464 - - pack-bitmap: remove bitmap_git global variable
811 + (merged to 'next' on 2018-06-29 at 852857b04e)
812 + + pack-bitmap: add free function
813 + + pack-bitmap: remove bitmap_git global variable
814
815 The effort to move globals to per-repository in-core structure
816 continues.
817
818 + Will merge to 'master'.
819 +
820
821 * sb/submodule-move-head-error-msg (2018-06-25) 1 commit
822 - submodule.c: report the submodule that an error occurs in
823
473 - Needs a reroll.
474 - cf. <20180622081713.5360-1-szeder.dev@gmail.com>
824 + Will merge to 'next'.
825
826
827 * bw/protocol-v2 (2018-06-22) 1 commit
478 - - protocol-v2 doc: put HTTP headers after request
828 + (merged to 'next' on 2018-06-29 at 78090cc343)
829 + + protocol-v2 doc: put HTTP headers after request
830
831 Doc fix.
832
482 - Will merge to 'next'.
833 + Will merge to 'master'.
834
835
836 * jk/branch-l-1-repurpose (2018-06-22) 1 commit
@@ -492,97 +843,79 @@ of the repositories listed at
843
844
845 * vs/typofixes (2018-06-22) 1 commit
495 - - Documentation: spelling and grammar fixes
846 + (merged to 'next' on 2018-06-29 at 665c8db2f7)
847 + + Documentation: spelling and grammar fixes
848
849 Doc fix.
850
499 - Will merge to 'next'.
851 + Will merge to 'master'.
852
853
502 -* cc/remote-odb (2018-06-25) 9 commits
503 - . Documentation/config: add odb.<name>.promisorRemote
504 - . t0410: test fetching from many promisor remotes
505 - . Use odb.origin.partialclonefilter instead of core.partialclonefilter
506 - . Use remote_odb_get_direct() and has_remote_odb()
507 - . remote-odb: add remote_odb_reinit()
508 - . remote-odb: implement remote_odb_get_many_direct()
509 - . remote-odb: implement remote_odb_get_direct()
510 - . Add initial remote odb support
511 - . fetch-object: make functions return an error code
854 +* cc/remote-odb (2018-07-06) 10 commits
855 + - SQUASH??? error: unused variable 'o' [-Werror=unused-variable]
856 + - Documentation/config: add odb.<name>.promisorRemote
857 + - t0410: test fetching from many promisor remotes
858 + - Use odb.origin.partialclonefilter instead of core.partialclonefilter
859 + - Use remote_odb_get_direct() and has_remote_odb()
860 + - remote-odb: add remote_odb_reinit()
861 + - remote-odb: implement remote_odb_get_many_direct()
862 + - remote-odb: implement remote_odb_get_direct()
863 + - Add initial remote odb support
864 + - fetch-object: make functions return an error code
865
866 Needs a reroll.
867
868
516 -* ds/multi-pack-index (2018-06-25) 24 commits
517 - - midx: clear midx on repack
518 - - packfile: skip loading index if in multi-pack-index
519 - - midx: prevent duplicate packfile loads
520 - - midx: use midx in approximate_object_count
521 - - midx: use existing midx when writing new one
522 - - midx: use midx in abbreviation calculations
523 - - midx: read objects from multi-pack-index
524 - - midx: prepare midxed_git struct
525 - - config: create core.multiPackIndex setting
526 - - midx: write object offsets
527 - - midx: write object id fanout chunk
528 - - midx: write object ids in a chunk
529 - - midx: sort and deduplicate objects from packfiles
530 - - midx: read pack names into array
531 - - multi-pack-index: write pack names in chunk
532 - - multi-pack-index: read packfile list
533 - - packfile: generalize pack directory list
534 - - multi-pack-index: expand test data
535 - - multi-pack-index: load into memory
536 - - midx: write header information to lockfile
537 - - multi-pack-index: add 'write' verb
538 - - multi-pack-index: add builtin
539 - - multi-pack-index: add format details
540 - - multi-pack-index: add design document
869 +* ds/multi-pack-index (2018-07-09) 24 commits
870 + . midx: clear midx on repack
871 + . packfile: skip loading index if in multi-pack-index
872 + . midx: prevent duplicate packfile loads
873 + . midx: use midx in approximate_object_count
874 + . midx: use existing midx when writing new one
875 + . midx: use midx in abbreviation calculations
876 + . midx: read objects from multi-pack-index
877 + . midx: prepare midxed_git struct
878 + . config: create core.multiPackIndex setting
879 + . midx: write object offsets
880 + . midx: write object id fanout chunk
881 + . midx: write object ids in a chunk
882 + . midx: sort and deduplicate objects from packfiles
883 + . midx: read pack names into array
884 + . multi-pack-index: write pack names in chunk
885 + . multi-pack-index: read packfile list
886 + . packfile: generalize pack directory list
887 + . multi-pack-index: expand test data
888 + . multi-pack-index: load into memory
889 + . midx: write header information to lockfile
890 + . multi-pack-index: add 'write' verb
891 + . multi-pack-index: add builtin
892 + . multi-pack-index: add format details
893 + . multi-pack-index: add design document
894
895 When there are too many packfiles in a repository (which is not
896 recommended), looking up an object in these would require
897 consulting many pack .idx files; a new mechanism to have a single
898 file that consolidates all of these .idx files is introduced.
899
547 -
548 -* nd/use-the-index-compat-less (2018-06-25) 13 commits
549 - - wt-status.c: stop using index compat macros
550 - - sha1-name.c: stop using index compat macros
551 - - sequencer.c: stop using index compat macros
552 - - revision.c: stop using index compat macros
553 - - rerere.c: stop using index compat macros
554 - - merge.c: stop using index compat macros
555 - - merge-recursive.c: stop using index compat macros
556 - - entry.c: stop using index compat macros
557 - - diff.c: stop using index compat macros
558 - - diff-lib.c: stop using index compat macros
559 - - check-racy.c: stop using index compat macros
560 - - blame.c: stop using index compat macros
561 - - apply.c: stop using index compat macros
562 -
563 - Use of many convenience functions that operate on the_index
564 - "primary in-core index instance" have been rewritten to explicitly
565 - call the coutnerpart functions that take arbitrary index_state and
566 - pass the_index.
567 -
568 - I'd say that alone is a useless code churn, but people seem to be
569 - excited about the change, so it is queued here.
900 + Expecting a reroll to fix documentation build.
901 + cf. https://travis-ci.org/git/git/jobs/402422110
902
903
904 * tb/grep-column (2018-06-22) 7 commits
573 - - contrib/git-jump/git-jump: jump to exact location
574 - - grep.c: add configuration variables to show matched option
575 - - builtin/grep.c: add '--column' option to 'git-grep(1)'
576 - - grep.c: display column number of first match
577 - - grep.[ch]: extend grep_opt to allow showing matched column
578 - - grep.c: expose {,inverted} match column in match_line()
579 - - Documentation/config.txt: camel-case lineNumber for consistency
905 + (merged to 'next' on 2018-06-29 at 25dc70426e)
906 + + contrib/git-jump/git-jump: jump to exact location
907 + + grep.c: add configuration variables to show matched option
908 + + builtin/grep.c: add '--column' option to 'git-grep(1)'
909 + + grep.c: display column number of first match
910 + + grep.[ch]: extend grep_opt to allow showing matched column
911 + + grep.c: expose {,inverted} match column in match_line()
912 + + Documentation/config.txt: camel-case lineNumber for consistency
913 (this branch is used by tb/grep-only-matching.)
914
915 "git grep" learned the "--column" option that gives not just the
916 line number but the column number of the hit.
917
585 - Will merge to 'next'.
918 + Will merge to 'master'.
919
920
921 * jt/fetch-pack-negotiator (2018-06-15) 7 commits
@@ -598,27 +931,7 @@ of the repositories listed at
931 Code restructuring and a small fix to transport protocol v2 during
932 fetching.
933
601 - Is this ready for 'next'?
602 -
603 -
604 -* ag/rebase-i-append-todo-help (2018-06-14) 2 commits
605 - - rebase--interactive: rewrite append_todo_help() in C
606 - - Merge branch 'ag/rebase-p' into ag/rebase-i-append-todo-help
607 - (this branch is used by ag/rebase-i-rewrite-todo.)
608 -
609 - Stepwise rewriting of the machinery of "rebase -i" into C continues.
610 -
611 - Needs a reroll.
612 - cf. <nycvar.QRO.7.76.6.1806261125330.21419@tvgsbejvaqbjf.bet>
613 -
614 -
615 -* ag/rebase-i-rewrite-todo (2018-06-15) 3 commits
616 - - rebase--interactive: rewrite the edit-todo functionality in C
617 - - editor: add a function to launch the sequence editor
618 - - Merge branch 'bc/t3430-fixup' into ag/rebase-i-rewrite-todo
619 - (this branch uses ag/rebase-i-append-todo-help.)
620 -
621 - Stepwise rewriting of the machinery of "rebase -i" into C continues.
934 + Will merge to 'next'.
935
936
937 * sb/submodule-core-worktree (2018-06-19) 3 commits
@@ -665,6 +978,8 @@ of the repositories listed at
978 Parsing of -L[<N>][,[<M>]] parameters "git blame" and "git log"
979 take has been tweaked.
980
981 + Will merge to 'next'.
982 +
983
984 * en/merge-recursive-cleanup (2018-06-12) 6 commits
985 (merged to 'next' on 2018-06-28 at 1a3646eb7d)
@@ -692,6 +1007,13 @@ of the repositories listed at
1007 - checkout.h: wrap the arguments to unique_tracking_name()
1008 - checkout tests: index should be clean after dwim checkout
1009
1010 + "git checkout" and "git worktree add" learned to honor
1011 + checkout.defaultRemote when auto-vivifying a local branch out of a
1012 + remote tracking branch in a repository with multiple remotes that
1013 + have tracking branches that share the same names.
1014 +
1015 + Will merge to 'next'.
1016 +
1017
1018 * ds/commit-graph-fsck (2018-06-27) 22 commits
1019 - commit-graph: update design document
@@ -716,11 +1038,12 @@ of the repositories listed at
1038 - commit-graph: fix GRAPH_MIN_SIZE
1039 - commit-graph: UNLEAK before die()
1040 - t5318-commit-graph.sh: use core.commitGraph
1041 + (this branch is used by jt/commit-graph-per-object-store.)
1042
1043 "git fsck" learns to make sure the optional commit-graph file is in
1044 a sane state.
1045
723 - Is this ready for 'next'?
1046 + Will merge to 'next'.
1047
1048
1049 * ma/wrapped-info (2018-05-28) 2 commits
@@ -734,20 +1057,25 @@ of the repositories listed at
1057 cf. <20180529213957.GF7964@sigill.intra.peff.net>
1058
1059
737 -* jm/cache-entry-from-mem-pool (2018-06-28) 8 commits
1060 +* jm/cache-entry-from-mem-pool (2018-07-03) 8 commits
1061 - block alloc: add validations around cache_entry lifecyle
739 - - block alloc: allocate cache entries from mem-pool
1062 + - block alloc: allocate cache entries from mem_pool
1063 - mem-pool: fill out functionality
1064 - mem-pool: add life cycle management functions
1065 - mem-pool: only search head block for available space
1066 - block alloc: add lifecycle APIs for cache_entry structs
744 - - read-cache: make_cache_entry should take object_id struct
745 - - read-cache: teach refresh_cache_entry() to take istate
1067 + - read-cache: teach make_cache_entry to take object_id
1068 + - read-cache: teach refresh_cache_entry to take istate
1069
1070 For a large tree, the index needs to hold many cache entries
1071 allocated on heap. These cache entries are now allocated out of a
1072 dedicated memory pool to amortize malloc(3) overhead.
1073
1074 + Will merge to 'next'.
1075 +
1076 + This makes each cache-entry larger by either 4 or 8 bytes, which is
1077 + a bit sad, though.
1078 +
1079
1080 * sb/object-store-grafts (2018-05-18) 19 commits
1081 (merged to 'next' on 2018-06-28 at 02f70d6302)
@@ -770,6 +1098,7 @@ of the repositories listed at
1098 + commit: add repository argument to commit_graft_pos
1099 + object: move grafts to object parser
1100 + object-store: move object access functions to object-store.h
1101 + (this branch is used by sb/object-store-lookup.)
1102
1103 Originally merged to 'next' on 2018-06-22
1104
@@ -779,57 +1108,27 @@ of the repositories listed at
1108 Will merge to 'master'.
1109
1110
782 -* js/branch-diff (2018-05-16) 19 commits
783 - - fixup! Add a function to solve least-cost assignment problems
784 - - completion: support branch-diff
785 - - branch-diff: add a man page
786 - - branch-diff --dual-color: work around bogus white-space warning
787 - - branch-diff: offer to dual-color the diffs
788 - - diff: add an internal option to dual-color diffs of diffs
789 - - color: provide inverted colors, too
790 - - branch-diff: use color for the commit pairs
791 - - branch-diff: add tests
792 - - branch-diff: do not show "function names" in hunk headers
793 - - branch-diff: adjust the output of the commit pairs
794 - - branch-diff: suppress the diff headers
795 - - branch-diff: indent the diffs just like tbdiff
796 - - branch-diff: right-trim commit messages
797 - - branch-diff: also show the diff between patches
798 - - branch-diff: improve the order of the shown commits
799 - - branch-diff: first rudimentary implementation
800 - - Add a new builtin: branch-diff
801 - - Add a function to solve least-cost assignment problems
802 -
803 - "git tbdiff" that lets us compare individual patches in two
804 - iterations of a topic has been rewritten and made into a built-in
805 - command.
806 -
807 - Expecting a reroll.
808 - cf. <nycvar.QRO.7.76.6.1805052351560.77@tvgsbejvaqbjf.bet>
809 -
810 -
811 -* sb/diff-color-move-more (2018-06-25) 11 commits
812 - - diff: fix a sparse 'dubious one-bit signed bitfield' error
813 - - SQUASH??? t/4015 GETTEXT_POISON emergency fix
814 - - SQUASH????? Documentation breakage emergency fix
1111 +* sb/diff-color-move-more (2018-06-29) 9 commits
1112 - diff.c: add white space mode to move detection that allows indent changes
1113 - diff.c: factor advance_or_nullify out of mark_color_as_moved
1114 - diff.c: decouple white space treatment from move detection algorithm
1115 - diff.c: add a blocks mode for moved code detection
1116 - diff.c: adjust hash function signature to match hashmap expectation
1117 - diff.c: do not pass diff options as keydata to hashmap
1118 + - t4015: avoid git as a pipe input
1119 - xdiff/xdiffi.c: remove unneeded function declarations
1120 - xdiff/xdiff.h: remove unused flags
1121
1122 "git diff --color-moved" feature has further been tweaked.
1123
826 - Needs to be cleaned-up with various fix-up bits applied inline.
1124 + Will merge to 'next'.
1125
1126
1127 * jk/branch-l-0-deprecation (2018-06-22) 3 commits
830 - - branch: deprecate "-l" option
831 - - t: switch "branch -l" to "branch --create-reflog"
832 - - t3200: unset core.logallrefupdates when testing reflog creation
1128 + (merged to 'next' on 2018-06-29 at fac676dfb9)
1129 + + branch: deprecate "-l" option
1130 + + t: switch "branch -l" to "branch --create-reflog"
1131 + + t3200: unset core.logallrefupdates when testing reflog creation
1132 (this branch is used by jk/branch-l-1-repurpose.)
1133
1134 The "-l" option in "git branch -l" is an unfortunate short-hand for
@@ -838,4 +1137,91 @@ of the repositories listed at
1137 is used as a short-hand for "--create-reflog" and warns about the
1138 future repurposing of the it when it is used.
1139
841 - Will merge to 'next'.
1140 + Will merge to 'master'.
1141 +
1142 +--------------------------------------------------
1143 +[Discarded]
1144 +
1145 +* ag/rebase-i-append-todo-help (2018-06-14) 2 commits
1146 + . rebase--interactive: rewrite append_todo_help() in C
1147 + . Merge branch 'ag/rebase-p' into ag/rebase-i-append-todo-help
1148 + (this branch is used by ag/rebase-i-rewrite-todo.)
1149 +
1150 + Stepwise rewriting of the machinery of "rebase -i" into C continues.
1151 +
1152 + Now part of ag/rebase-i-in-c
1153 +
1154 +
1155 +* ag/rebase-i-rewrite-todo (2018-06-15) 3 commits
1156 + . rebase--interactive: rewrite the edit-todo functionality in C
1157 + . editor: add a function to launch the sequence editor
1158 + . Merge branch 'bc/t3430-fixup' into ag/rebase-i-rewrite-todo
1159 + (this branch uses ag/rebase-i-append-todo-help.)
1160 +
1161 + Stepwise rewriting of the machinery of "rebase -i" into C continues.
1162 +
1163 + Now part of ag/rebase-i-in-c
1164 +
1165 +
1166 +* ab/fetch-tags-noclobber (2018-05-16) 9 commits
1167 + - fixup! push tests: assert re-pushing annotated tags
1168 + - fetch: stop clobbering existing tags without --force
1169 + - fetch tests: add a test clobbering tag behavior
1170 + - fetch tests: correct a comment "remove it" -> "remove them"
1171 + - push doc: correct lies about how push refspecs work
1172 + - push tests: assert re-pushing annotated tags
1173 + - push tests: add more testing for forced tag pushing
1174 + - push tests: fix logic error in "push" test assertion
1175 + - push tests: remove redundant 'git push' invocation
1176 +
1177 + Discarded per request.
1178 + cf. <87po09cnir.fsf@evledraar.gmail.com>
1179 +
1180 +
1181 +* nd/use-the-index-compat-less (2018-06-25) 13 commits
1182 + . wt-status.c: stop using index compat macros
1183 + . sha1-name.c: stop using index compat macros
1184 + . sequencer.c: stop using index compat macros
1185 + . revision.c: stop using index compat macros
1186 + . rerere.c: stop using index compat macros
1187 + . merge.c: stop using index compat macros
1188 + . merge-recursive.c: stop using index compat macros
1189 + . entry.c: stop using index compat macros
1190 + . diff.c: stop using index compat macros
1191 + . diff-lib.c: stop using index compat macros
1192 + . check-racy.c: stop using index compat macros
1193 + . blame.c: stop using index compat macros
1194 + . apply.c: stop using index compat macros
1195 +
1196 + Retracted to be replaced with a more vertical approach where the
1197 + lower-level helper functions are taught to be capable of working on
1198 + an istate instance that is not the_index first, and then upwards to
1199 + support the application layer that wants to work on an arbitrary
1200 + istate instance, as the goal is not a mechanical replacement of
1201 + foo_cache(...) to foo_index(&the_index, ...).
1202 +
1203 +
1204 +* js/branch-diff (2018-05-16) 19 commits
1205 + . fixup! Add a function to solve least-cost assignment problems
1206 + . completion: support branch-diff
1207 + . branch-diff: add a man page
1208 + . branch-diff --dual-color: work around bogus white-space warning
1209 + . branch-diff: offer to dual-color the diffs
1210 + . diff: add an internal option to dual-color diffs of diffs
1211 + . color: provide inverted colors, too
1212 + . branch-diff: use color for the commit pairs
1213 + . branch-diff: add tests
1214 + . branch-diff: do not show "function names" in hunk headers
1215 + . branch-diff: adjust the output of the commit pairs
1216 + . branch-diff: suppress the diff headers
1217 + . branch-diff: indent the diffs just like tbdiff
1218 + . branch-diff: right-trim commit messages
1219 + . branch-diff: also show the diff between patches
1220 + . branch-diff: improve the order of the shown commits
1221 + . branch-diff: first rudimentary implementation
1222 + . Add a new builtin: branch-diff
1223 + . Add a function to solve least-cost assignment problems
1224 +
1225 + "git tbdiff" that lets us compare individual patches in two
1226 + iterations of a topic has been rewritten and made into a built-in
1227 + command.