What's cooking (2018/08 #05)

Junio C Hamano committed Aug 20, 2018 at 13:29 UTC a8669656cddd925c101f24e26136c72c887aa5df
1 file changed +319 -602
whats-cooking.txt
+319 -602
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2018, #04; Fri, 17)
4 -X-master-at: fa03cdc39b951d1cfbfd690fe6f3ac6c57ab6a44
5 -X-next-at: e017bf2cd19392a79e02d0636972bd4c284f89be
3 +Subject: What's cooking in git.git (Aug 2018, #05; Mon, 20)
4 +X-master-at: 7e8bfb0412581daf8f3c89909f1d37844e8610dd
5 +X-next-at: 281dcd1b4d06be64a0a976ddb7172bf180b74c09
6
7 -What's cooking in git.git (Aug 2018, #04; Fri, 17)
7 +What's cooking in git.git (Aug 2018, #05; Mon, 20)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,22 +12,9 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -Quite a many topics have graduated to 'master', and also a handful
16 -of topics have entered 'next'. I am planning to tag -rc0 over the
17 -weekend, and some topics that are in 'next' and marked for 'master'
18 -in this issue of "What's cooking" report may be reclassified to cook
19 -in 'next' during the pre-release period when that happens.
20 -
21 -Usually, I refrain from merging larger topics in 'next' down to
22 -'master' when we get close to -rc0, but I am wondering if it is
23 -better to merge all of them to 'master', even the ones on the larger
24 -and possibly undercooked side, expecting that we collectively spend
25 -effort on hunting and fixing bugs in them during the pre-release
26 -freeze period. If we were to go that route, I'd want everybody's
27 -buy-in and I'll promise to ignore any shiny new toys that appear on
28 -list that are not regression fixes to topics merged to 'master'
29 -since the end of the previous cycle to make sure people are not
30 -distracted.
15 +An early preview of the upcoming 2.19 release of Git has been tagged
16 +as v2.19.0-rc0; before -rc1, I plan to merge three more topics to
17 +'master' from 'next'.
18
19 You can find the changes described here in the integration branches
20 of the repositories listed at
@@ -37,230 +24,238 @@ of the repositories listed at
24 --------------------------------------------------
25 [Graduated to "master"]
26
40 -* ab/fetch-nego (2018-08-01) 3 commits
41 - (merged to 'next' on 2018-08-08 at 87662bb344)
42 - + fetch doc: cross-link two new negotiation options
43 - + negotiator: unknown fetch.negotiationAlgorithm should error out
44 - + Merge branch 'jt/fetch-nego-tip' into ab/fetch-nego
27 +* ab/checkout-default-remote (2018-08-18) 1 commit
28 + (merged to 'next' on 2018-08-20 at 21fff26f74)
29 + + t2024: mark test using "checkout -p" with PERL prerequisite
30
46 - Update to a few other topics around 'git fetch'.
31 + Test fix.
32
33
49 -* ab/fsck-transfer-updates (2018-07-27) 10 commits
50 - (merged to 'next' on 2018-08-08 at d92085269f)
51 - + fsck: test and document unknown fsck.<msg-id> values
52 - + fsck: add stress tests for fsck.skipList
53 - + fsck: test & document {fetch,receive}.fsck.* config fallback
54 - + fetch: implement fetch.fsck.*
55 - + transfer.fsckObjects tests: untangle confusing setup
56 - + config doc: elaborate on fetch.fsckObjects security
57 - + config doc: elaborate on what transfer.fsckObjects does
58 - + config doc: unify the description of fsck.* and receive.fsck.*
59 - + config doc: don't describe *.fetchObjects twice
60 - + receive.fsck.<msg-id> tests: remove dead code
34 +* ab/fetch-tags-noclobber (2018-08-13) 7 commits
35 + (merged to 'next' on 2018-08-15 at eca0ac8afa)
36 + + pull doc: fix a long-standing grammar error
37 + + fetch tests: correct a comment "remove it" -> "remove them"
38 + + push tests: assert re-pushing annotated tags
39 + + push tests: add more testing for forced tag pushing
40 + + push tests: fix logic error in "push" test assertion
41 + + push tests: remove redundant 'git push' invocation
42 + + fetch tests: change "Tag" test tag to "testTag"
43 +
44 + Test and doc clean-ups.
45 +
46 +
47 +* ab/newhash-is-sha256 (2018-08-07) 2 commits
48 + (merged to 'next' on 2018-08-15 at 2e808d75d3)
49 + + doc hash-function-transition: pick SHA-256 as NewHash
50 + + doc hash-function-transition: note the lack of a changelog
51
62 - The test performed at the receiving end of "git push" to prevent
63 - bad objects from entering repository can be customized via
64 - receive.fsck.* configuration variables; we now have gained a
65 - counterpart to do the same on the "git fetch" side, with
66 - fetch.fsck.* configuration variables.
52 + Documentation update.
53
54
69 -* ab/sha1dc (2018-08-02) 1 commit
70 - (merged to 'next' on 2018-08-08 at 920c190941)
71 - + sha1dc: update from upstream
55 +* ab/submodule-relative-url-tests (2018-08-14) 1 commit
56 + (merged to 'next' on 2018-08-17 at 17b28d8262)
57 + + submodule: add more exhaustive up-path testing
58
73 - AIX portability update for the SHA1DC hash, imported from upstream.
59 + Test updates.
60
61
76 -* ab/test-must-be-empty (2018-07-30) 1 commit
77 - (merged to 'next' on 2018-08-08 at 06599ebd1f)
62 +* ab/test-must-be-empty-for-master (2018-07-30) 1 commit
63 + (merged to 'next' on 2018-08-15 at 17652a77fb)
64 + tests: make use of the test_must_be_empty function
65
66 Test updates.
67
68
83 -* ar/t4150-am-scissors-test-fix (2018-08-06) 1 commit
84 - (merged to 'next' on 2018-08-08 at e639183205)
85 - + t4150: fix broken test for am --scissors
69 +* ds/commit-graph-fsck (2018-08-13) 1 commit
70 + (merged to 'next' on 2018-08-15 at a2f82d3cbd)
71 + + t5318: use 'test_cmp_bin' to compare commit-graph files
72
73 Test fix.
74
75
90 -* en/abort-df-conflict-fixes (2018-07-31) 2 commits
91 - (merged to 'next' on 2018-08-08 at a19cad0bb7)
92 - + read-cache: fix directory/file conflict handling in read_index_unmerged()
93 - + t1015: demonstrate directory/file conflict recovery failures
94 -
95 - "git merge --abort" etc. did not clean things up properly when
96 - there were conflicted entries in the index in certain order that
97 - are involved in D/F conflicts. This has been corrected.
76 +* en/incl-forward-decl (2018-08-15) 6 commits
77 + (merged to 'next' on 2018-08-17 at 04fc9c11bb)
78 + + Remove forward declaration of an enum
79 + + compat/precompose_utf8.h: use more common include guard style
80 + + urlmatch.h: fix include guard
81 + + Move definition of enum branch_track from cache.h to branch.h
82 + + alloc: make allocate_alloc_state and clear_alloc_state more consistent
83 + + Add missing includes and forward declarations
84
85 + Code hygiene improvement for the header files.
86
100 -* en/t3031-title-fix (2018-08-06) 1 commit
101 - (merged to 'next' on 2018-08-08 at 3913b03884)
102 - + t3031: update test description to mention desired behavior
87
104 - Test fix.
88 +* en/t7406-fixes (2018-08-08) 5 commits
89 + (merged to 'next' on 2018-08-15 at c6a740d828)
90 + + t7406: avoid using test_must_fail for commands other than git
91 + + t7406: prefer test_* helper functions to test -[feds]
92 + + t7406: avoid having git commands upstream of a pipe
93 + + t7406: simplify by using diff --name-only instead of diff --raw
94 + + t7406: fix call that was failing for the wrong reason
95
96 + Test fixes.
97
107 -* es/rebase-i-author-script-fix (2018-07-31) 4 commits
108 - (merged to 'next' on 2018-08-08 at 6b34261b72)
109 - + sequencer: don't die() on bogus user-edited timestamp
110 - + sequencer: fix "rebase -i --root" corrupting author header timestamp
111 - + sequencer: fix "rebase -i --root" corrupting author header timezone
112 - + sequencer: fix "rebase -i --root" corrupting author header
113 - (this branch is used by pw/rebase-i-author-script-fix.)
98
115 - The "author-script" file "git rebase -i" creates got broken when
116 - we started to move the command away from shell script, which is
117 - getting fixed now.
99 +* en/update-index-doc (2018-08-08) 1 commit
100 + (merged to 'next' on 2018-08-15 at 3ee0ae14dc)
101 + + git-update-index.txt: reword possibly confusing example
102
103 + Doc update.
104
120 -* es/want-color-fd-defensive (2018-08-03) 1 commit
121 - (merged to 'next' on 2018-08-08 at a11d90d26f)
122 - + color: protect against out-of-bounds reads and writes
105
124 - Futureproofing a helper function that can easily be misused.
106 +* es/chain-lint-more (2018-08-13) 6 commits
107 + (merged to 'next' on 2018-08-15 at bb5150ee96)
108 + + chainlint: add test of pathological case which triggered false positive
109 + + chainlint: recognize multi-line quoted strings more robustly
110 + + chainlint: let here-doc and multi-line string commence on same line
111 + + chainlint: recognize multi-line $(...) when command cuddled with "$("
112 + + chainlint: match 'quoted' here-doc tags
113 + + chainlint: match arbitrary here-docs tags rather than hard-coded names
114
115 + Improve built-in facility to catch broken &&-chain in the tests.
116
127 -* hn/config-in-code-comment (2018-08-06) 1 commit
128 - (merged to 'next' on 2018-08-08 at 1fae946a0f)
129 - + config: document git config getter return value
117
131 - Header update.
118 +* hn/highlight-sideband-keywords (2018-08-18) 2 commits
119 + (merged to 'next' on 2018-08-20 at ec6f953f8c)
120 + + sideband: do not read beyond the end of input
121 + (merged to 'next' on 2018-08-15 at f8945f3be5)
122 + + sideband: highlight keywords in remote sideband output
123
124 + The sideband code learned to optionally paint selected keywords at
125 + the beginning of incoming lines on the receiving end.
126
134 -* jk/diff-rendered-docs (2018-08-06) 1 commit
135 - (merged to 'next' on 2018-08-08 at fe6e1b4dbe)
136 - + add a script to diff rendered documentation
127
138 - The end result of documentation update has been made to be
139 - inspected more easily to help developers.
128 +* jc/gpg-status (2018-08-09) 1 commit
129 + (merged to 'next' on 2018-08-15 at 824781761a)
130 + + gpg-interface: propagate exit status from gpg back to the callers
131
132 + "git verify-tag" and "git verify-commit" have been taught to use
133 + the exit status of underlying "gpg --verify" to signal bad or
134 + untrusted signature they found.
135
142 -* jk/merge-subtree-heuristics (2018-08-02) 1 commit
143 - (merged to 'next' on 2018-08-08 at 5126c2d717)
144 - + score_trees(): fix iteration over trees with missing entries
136
146 - The automatic tree-matching in "git merge -s subtree" was broken 5
147 - years ago and nobody has noticed since then, which is now fixed.
137 +* jc/update-index-doc (2018-08-08) 1 commit
138 + (merged to 'next' on 2018-08-15 at 055994ccca)
139 + + update-index: there no longer is `apply --index-info`
140
141 + Doc update.
142
150 -* js/pull-rebase-type-shorthand (2018-08-06) 1 commit
151 - (merged to 'next' on 2018-08-08 at 9213756b36)
152 - + pull --rebase=<type>: allow single-letter abbreviations for the type
143
154 - "git pull --rebase=interactive" learned "i" as a short-hand for
155 - "interactive".
144 +* jh/partial-clone-doc (2018-08-15) 1 commit
145 + (merged to 'next' on 2018-08-15 at cf09e8be6a)
146 + + partial-clone: render design doc using asciidoc
147
148 + Doc updates.
149
158 -* jt/refspec-dwim-precedence-fix (2018-08-02) 1 commit
159 - (merged to 'next' on 2018-08-08 at 34d0484d3a)
160 - + remote: make refspec follow the same disambiguation rule as local refs
150
162 - "git fetch $there refs/heads/s" ought to fetch the tip of the
163 - branch 's', but when "refs/heads/refs/heads/s", i.e. a branch whose
164 - name is "refs/heads/s" exists at the same time, fetched that one
165 - instead by mistake. This has been corrected to honor the usual
166 - disambiguation rules for abbreviated refnames.
151 +* jk/for-each-object-iteration (2018-08-14) 11 commits
152 + (merged to 'next' on 2018-08-15 at e2558810ff)
153 + + for_each_*_object: move declarations to object-store.h
154 + + cat-file: use a single strbuf for all output
155 + + cat-file: split batch "buf" into two variables
156 + + cat-file: use oidset check-and-insert
157 + + cat-file: support "unordered" output for --batch-all-objects
158 + + cat-file: rename batch_{loose,packed}_object callbacks
159 + + t1006: test cat-file --batch-all-objects with duplicates
160 + + for_each_packed_object: support iterating in pack-order
161 + + for_each_*_object: give more comprehensive docstrings
162 + + for_each_*_object: take flag arguments as enum
163 + + for_each_*_object: store flag definitions in a single location
164
165 + The API to iterate over all objects learned to optionally list
166 + objects in the order they appear in packfiles, which helps locality
167 + of access if the caller accesses these objects while as objects are
168 + enumerated.
169
169 -* mk/http-backend-content-length (2018-07-30) 4 commits
170 - (merged to 'next' on 2018-08-08 at 0091062ec4)
171 - + t5562: avoid non-portable "export FOO=bar" construct
172 - + http-backend: respect CONTENT_LENGTH for receive-pack
173 - + http-backend: respect CONTENT_LENGTH as specified by rfc3875
174 - + http-backend: cleanup writing to child process
170
176 - The http-backend (used for smart-http transport) used to slurp the
177 - whole input until EOF, without paying attention to CONTENT_LENGTH
178 - that is supplied in the environment and instead expecting the Web
179 - server to close the input stream. This has been fixed.
171 +* js/chain-lint-attrfix (2018-08-15) 1 commit
172 + (merged to 'next' on 2018-08-15 at e9ad19a848)
173 + + chainlint: fix for core.autocrlf=true
174
175 + Test fix.
176
182 -* nd/complete-config-vars (2018-08-06) 1 commit
183 - (merged to 'next' on 2018-08-08 at ffc8e1a3cd)
184 - + Makefile: add missing dependency for command-list.h
177
186 - Build fix.
178 +* js/mingw-o-append (2018-08-13) 1 commit
179 + (merged to 'next' on 2018-08-15 at 284527a0fb)
180 + + mingw: enable atomic O_APPEND
181
182 + Among the three codepaths we use O_APPEND to open a file for
183 + appending, one used for writing GIT_TRACE output requires O_APPEND
184 + implementation that behaves sensibly when multiple processes are
185 + writing to the same file. POSIX emulation used in the Windows port
186 + has been updated to improve in this area.
187
189 -* nd/config-blame-sort (2018-08-06) 1 commit
190 - (merged to 'next' on 2018-08-08 at 34ebb9888f)
191 - + config.txt: reorder blame stuff to keep config keys sorted
188
193 - Doc fix.
189 +* js/range-diff (2018-08-13) 21 commits
190 + (merged to 'next' on 2018-08-15 at 8d56067806)
191 + + range-diff: use dim/bold cues to improve dual color mode
192 + + range-diff: make --dual-color the default mode
193 + + range-diff: left-pad patch numbers
194 + + completion: support `git range-diff`
195 + + range-diff: populate the man page
196 + + range-diff --dual-color: skip white-space warnings
197 + + range-diff: offer to dual-color the diffs
198 + + diff: add an internal option to dual-color diffs of diffs
199 + + color: add the meta color GIT_COLOR_REVERSE
200 + + range-diff: use color for the commit pairs
201 + + range-diff: add tests
202 + + range-diff: do not show "function names" in hunk headers
203 + + range-diff: adjust the output of the commit pairs
204 + + range-diff: suppress the diff headers
205 + + range-diff: indent the diffs just like tbdiff
206 + + range-diff: right-trim commit messages
207 + + range-diff: also show the diff between patches
208 + + range-diff: improve the order of the shown commits
209 + + range-diff: first rudimentary implementation
210 + + Introduce `range-diff` to compare iterations of a topic branch
211 + + linear-assignment: a function to solve least-cost assignment problems
212 + (this branch is used by es/format-patch-rangediff and sb/range-diff-colors.)
213
214 + "git tbdiff" that lets us compare individual patches in two
215 + iterations of a topic has been rewritten and made into a built-in
216 + command.
217
196 -* nd/no-extern (2018-08-03) 12 commits
197 - (merged to 'next' on 2018-08-08 at bcce75766b)
198 - + submodule.h: drop extern from function declaration
199 - + revision.h: drop extern from function declaration
200 - + repository.h: drop extern from function declaration
201 - + rerere.h: drop extern from function declaration
202 - + line-range.h: drop extern from function declaration
203 - + diff.h: remove extern from function declaration
204 - + diffcore.h: drop extern from function declaration
205 - + convert.h: drop 'extern' from function declaration
206 - + cache-tree.h: drop extern from function declaration
207 - + blame.h: drop extern on func declaration
208 - + attr.h: drop extern from function declaration
209 - + apply.h: drop extern on func declaration
210 - (this branch is used by nd/no-the-index.)
218
212 - Noiseword "extern" has been removed from function decls in the
213 - header files.
219 +* js/rebase-merges-exec-fix (2018-08-09) 2 commits
220 + (merged to 'next' on 2018-08-15 at 9de975d92d)
221 + + rebase --exec: make it work with --rebase-merges
222 + + t3430: demonstrate what -r, --autosquash & --exec should do
223
224 + The "--exec" option to "git rebase --rebase-merges" placed the exec
225 + commands at wrong places, which has been corrected.
226
216 -* ot/ref-filter-object-info (2018-07-17) 5 commits
217 - (merged to 'next' on 2018-08-08 at 9ed619941b)
218 - + ref-filter: use oid_object_info() to get object
219 - + ref-filter: merge get_obj and get_object
220 - + ref-filter: initialize eaten variable
221 - + ref-filter: fill empty fields with empty values
222 - + ref-filter: add info_source to valid_atom
227
224 - A few atoms like %(objecttype) and %(objectsize) in the format
225 - specifier of "for-each-ref --format=<format>" can be filled without
226 - getting the full contents of the object, but just with the object
227 - header. These cases have been optimized by calling
228 - oid_object_info() API (instead of reading and inspecting the data).
228 +* js/typofixes (2018-08-08) 2 commits
229 + (merged to 'next' on 2018-08-15 at ce3932254a)
230 + + remote-curl: remove spurious period
231 + + git-compat-util.h: fix typo
232
233 + Comment update.
234
231 -* rs/parse-opt-lithelp (2018-08-03) 7 commits
232 - (merged to 'next' on 2018-08-08 at 3a4e0142fe)
233 - + parse-options: automatically infer PARSE_OPT_LITERAL_ARGHELP
234 - + shortlog: correct option help for -w
235 - + send-pack: specify --force-with-lease argument help explicitly
236 - + pack-objects: specify --index-version argument help explicitly
237 - + difftool: remove angular brackets from argument help
238 - + add, update-index: fix --chmod argument help
239 - + push: use PARSE_OPT_LITERAL_ARGHELP instead of unbalanced brackets
235
241 - The parse-options machinery learned to refrain from enclosing
242 - placeholder string inside a "<bra" and "ket>" pair automatically
243 - without PARSE_OPT_LITERAL_ARGHELP. Existing help text for option
244 - arguments that are not formatted correctly have been identified and
245 - fixed.
236 +* jt/commit-graph-per-object-store (2018-08-13) 1 commit
237 + (merged to 'next' on 2018-08-15 at 5d6db738d8)
238 + + t5318: avoid unnecessary command substitutions
239
240 + Test update.
241
248 -* sb/indent-heuristic-optim (2018-08-01) 1 commit
249 - (merged to 'next' on 2018-08-08 at 539dcc967a)
250 - + xdiff: reduce indent heuristic overhead
242
252 - "git diff --indent-heuristic" had a bad corner case performance.
243 +* jt/fetch-negotiator-skipping (2018-08-10) 1 commit
244 + (merged to 'next' on 2018-08-15 at 3cf8fa32f5)
245 + + t5552: suppress upload-pack trace output
246
254 ---------------------------------------------------
255 -[New Topics]
247 + Test fix.
248
257 -* ep/worktree-quiet-option (2018-08-17) 1 commit
258 - - worktree: add --quiet option
249
260 - "git worktree" command learned "--quiet" option to make it less
261 - verbose.
250 +* jt/repack-promisor-packs (2018-08-09) 2 commits
251 + (merged to 'next' on 2018-08-17 at 6869b53a69)
252 + + repack: repack promisor objects if -a or -A is set
253 + + repack: refactor setup of pack-objects cmd
254
263 - Will merge to 'next'.
255 + After a partial clone, repeated fetches from promisor remote would
256 + have accumulated many packfiles marked with .promisor bit without
257 + getting them coalesced into fewer packfiles, hurting performance.
258 + "git repack" now learned to repack them.
259
260
261 * nd/cherry-pick-quit-fix (2018-08-16) 1 commit
@@ -271,17 +266,45 @@ of the repositories listed at
266 though we won't be in a cherry-pick session after it returns, which
267 has been corrected.
268
274 - Will merge to 'master'.
269
270 +* nd/no-the-index (2018-08-13) 24 commits
271 + (merged to 'next' on 2018-08-15 at 41e53dc53b)
272 + + blame.c: remove implicit dependency on the_index
273 + + apply.c: remove implicit dependency on the_index
274 + + apply.c: make init_apply_state() take a struct repository
275 + + apply.c: pass struct apply_state to more functions
276 + + resolve-undo.c: use the right index instead of the_index
277 + + archive-*.c: use the right repository
278 + + archive.c: avoid access to the_index
279 + + grep: use the right index instead of the_index
280 + + attr: remove index from git_attr_set_direction()
281 + + entry.c: use the right index instead of the_index
282 + + submodule.c: use the right index instead of the_index
283 + + pathspec.c: use the right index instead of the_index
284 + + unpack-trees: avoid the_index in verify_absent()
285 + + unpack-trees: convert clear_ce_flags* to avoid the_index
286 + + unpack-trees: don't shadow global var the_index
287 + + unpack-trees: add a note about path invalidation
288 + + unpack-trees: remove 'extern' on function declaration
289 + + ls-files: correct index argument to get_convert_attr_ascii()
290 + + preload-index.c: use the right index instead of the_index
291 + + dir.c: remove an implicit dependency on the_index in pathspec code
292 + + convert.c: remove an implicit dependency on the_index
293 + + attr: remove an implicit dependency on the_index
294 + + cache-tree: wrap the_index based wrappers with #ifdef
295 + + diff.c: move read_index() code back to the caller
296 +
297 + The more library-ish parts of the codebase learned to work on the
298 + in-core index-state instance that is passed in by their callers,
299 + instead of always working on the singleton "the_index" instance.
300
277 -* nd/config-core-checkstat-doc (2018-08-17) 1 commit
278 - - config.txt: clarify core.checkStat
301
280 - The meaning of the possible values the "core.checkStat"
281 - configuration variable can take were not adequately documented,
282 - which has been fixed.
302 +* ng/mergetool-lose-final-prompt (2018-08-13) 1 commit
303 + (merged to 'next' on 2018-08-15 at f8f7ac365b)
304 + + mergetool: don't suggest to continue after last file
305
284 - Will merge to 'next'.
306 + "git mergetool" stopped and gave an extra prompt to continue after
307 + the last path has been handled, which did not make much sense.
308
309
310 * pw/rebase-i-merge-segv-fix (2018-08-16) 2 commits
@@ -292,7 +315,34 @@ of the repositories listed at
315 "git rebase -i", when a 'merge <branch>' insn in its todo list
316 fails, segfaulted, which has been (minimally) corrected.
317
295 - Will merge to 'master'.
318 +
319 +* pw/rebase-i-squash-number-fix (2018-08-15) 1 commit
320 + (merged to 'next' on 2018-08-17 at ac54dfa51a)
321 + + rebase -i: fix numbering in squash message
322 +
323 + When "git rebase -i" is told to squash two or more commits into
324 + one, it labeled the log message for each commit with its number.
325 + It correctly called the first one "1st commit", but the next one
326 + was "commit #1", which was off-by-one. This has been corrected.
327 +
328 +
329 +* sb/config-write-fix (2018-08-08) 3 commits
330 + (merged to 'next' on 2018-08-17 at 7d9c7ce81f)
331 + + git-config: document accidental multi-line setting in deprecated syntax
332 + + config: fix case sensitive subsection names on writing
333 + + t1300: document current behavior of setting options
334 +
335 + Recent update to "git config" broke updating variable in a
336 + subsection, which has been corrected.
337 +
338 +
339 +* sb/pull-rebase-submodule (2018-08-14) 1 commit
340 + (merged to 'next' on 2018-08-15 at 07c7b55cc9)
341 + + git-submodule.sh: accept verbose flag in cmd_update to be non-quiet
342 +
343 + "git pull --rebase -v" in a repository with a submodule barfed as
344 + an intermediate process did not understand what "-v(erbose)" flag
345 + meant, which has been fixed.
346
347
348 * sb/submodule-cleanup (2018-08-16) 2 commits
@@ -302,25 +352,30 @@ of the repositories listed at
352
353 A few preliminary minor clean-ups in the area around submodules.
354
305 - Will merge to 'master'.
355
356 +* sg/t5310-empty-input-fix (2018-08-14) 1 commit
357 + (merged to 'next' on 2018-08-15 at c3c03973a0)
358 + + t5310-pack-bitmaps: fix bogus 'pack-objects to file can use bitmap' test
359
308 -* sm/branch-sort-config (2018-08-16) 1 commit
309 - - branch: support configuring --sort via .gitconfig
360 + Test fix.
361
311 - "git branch --list" learned to take the default sort order from the
312 - 'branch.sort' configuration variable, just like "git tag --list"
313 - pays attention to 'tag.sort'.
362
315 - Will merge to 'next'.
363 +* sk/instaweb-rh-update (2018-08-08) 2 commits
364 + (merged to 'next' on 2018-08-15 at ce5f1115e9)
365 + + git-instaweb: fix apache2 config with apache >= 2.4
366 + + git-instaweb: support Fedora/Red Hat apache module path
367
368 + "git instaweb" has been adjusted to run better with newer Apache on
369 + RedHat based distros.
370
318 -* ab/unconditional-free-and-null (2018-08-17) 1 commit
319 - - refactor various if (x) FREE_AND_NULL(x) to just FREE_AND_NULL(x)
371
321 - Code clean-up.
372 +* wc/make-funnynames-shared-lazy-prereq (2018-08-06) 1 commit
373 + (merged to 'next' on 2018-08-17 at b932a0894b)
374 + + t: factor out FUNNYNAMES as shared lazy prereq
375
323 - Will merge to 'next'.
376 + A test prerequisite defined by various test scripts with slightly
377 + different semantics has been consolidated into a single copy and
378 + made into a lazily defined one.
379
380 --------------------------------------------------
381 [Stalled]
@@ -419,251 +474,99 @@ of the repositories listed at
474 --------------------------------------------------
475 [Cooking]
476
422 -* bp/checkout-new-branch-optim (2018-08-16) 1 commit
423 - - checkout: optimize "git checkout -b <new_branch>"
424 -
425 - "git checkout -b newbranch [HEAD]" should not have to do as much as
426 - checking out a commit different from HEAD. An attempt is made to
427 - optimize this special case.
428 -
429 - So... what is the status of this thing? Is the other "optimize
430 - unpack-trees" effort turning out to be a safer and less hacky way
431 - to achieve similar gain and this no longer is needed?
432 -
433 -
434 -* en/t7406-fixes (2018-08-08) 5 commits
435 - (merged to 'next' on 2018-08-15 at c6a740d828)
436 - + t7406: avoid using test_must_fail for commands other than git
437 - + t7406: prefer test_* helper functions to test -[feds]
438 - + t7406: avoid having git commands upstream of a pipe
439 - + t7406: simplify by using diff --name-only instead of diff --raw
440 - + t7406: fix call that was failing for the wrong reason
441 -
442 - Test fixes.
443 -
444 - Will merge to 'master'.
445 -
446 -
447 -* en/update-index-doc (2018-08-08) 1 commit
448 - (merged to 'next' on 2018-08-15 at 3ee0ae14dc)
449 - + git-update-index.txt: reword possibly confusing example
450 -
451 - Doc update.
452 -
453 - Will merge to 'master'.
454 -
455 -
456 -* jc/update-index-doc (2018-08-08) 1 commit
457 - (merged to 'next' on 2018-08-15 at 055994ccca)
458 - + update-index: there no longer is `apply --index-info`
459 -
460 - Doc update.
461 -
462 - Will merge to 'master'.
463 -
464 -
465 -* js/typofixes (2018-08-08) 2 commits
466 - (merged to 'next' on 2018-08-15 at ce3932254a)
467 - + remote-curl: remove spurious period
468 - + git-compat-util.h: fix typo
469 -
470 - Comment update.
471 -
472 - Will merge to 'master'.
473 -
474 -
475 -* jt/repack-promisor-packs (2018-08-09) 2 commits
476 - (merged to 'next' on 2018-08-17 at 6869b53a69)
477 - + repack: repack promisor objects if -a or -A is set
478 - + repack: refactor setup of pack-objects cmd
479 -
480 - After a partial clone, repeated fetches from promisor remote would
481 - have accumulated many packfiles marked with .promisor bit without
482 - getting them coalesced into fewer packfiles, hurting performance.
483 - "git repack" now learned to repack them.
484 -
485 - Will merge to 'master'.
486 -
487 -
488 -* sk/instaweb-rh-update (2018-08-08) 2 commits
489 - (merged to 'next' on 2018-08-15 at ce5f1115e9)
490 - + git-instaweb: fix apache2 config with apache >= 2.4
491 - + git-instaweb: support Fedora/Red Hat apache module path
492 -
493 - "git instaweb" has been adjusted to run better with newer Apache on
494 - RedHat based distros.
495 -
496 - Will merge to 'master'.
497 -
498 -
499 -* ab/submodule-relative-url-tests (2018-08-14) 1 commit
500 - (merged to 'next' on 2018-08-17 at 17b28d8262)
501 - + submodule: add more exhaustive up-path testing
502 -
503 - Test updates.
504 -
505 - Will merge to 'master'.
506 -
507 -
508 -* ao/submodule-wo-gitmodules-checked-out (2018-08-14) 7 commits
509 - - submodule: support reading .gitmodules even when it's not checked out
510 - - t7506: clean up .gitmodules properly before setting up new scenario
511 - - submodule: use the 'submodule--helper config' command
512 - - submodule--helper: add a new 'config' subcommand
513 - - t7411: be nicer to future tests and really clean things up
514 - - submodule: factor out a config_set_in_gitmodules_file_gently function
515 - - submodule: add a print_config_from_gitmodules() helper
516 -
517 - The submodule support has been updated to read from the blob at
518 - HEAD:.gitmodules when the .gitmodules file is missing from the
519 - working tree.
520 -
521 - I find the design a bit iffy in that our usual "missing in the
522 - working tree? let's use the latest blob" fallback is to take it
523 - from the index, not from the HEAD.
524 -
525 -
526 -* bw/submodule-name-to-dir (2018-08-10) 2 commits
527 - - submodule: munge paths to submodule git directories
528 - - submodule: create helper to build paths to submodule gitdirs
477 +* ep/worktree-quiet-option (2018-08-17) 1 commit
478 + - worktree: add --quiet option
479
530 - In modern repository layout, the real body of a cloned submodule
531 - repository is held in .git/modules/ of the superproject, indexed by
532 - the submodule name. URLencode the submodule name before computing
533 - the name of the directory to make sure they form a flat namespace.
480 + "git worktree" command learned "--quiet" option to make it less
481 + verbose.
482
483 Will merge to 'next'.
484
485
538 -* cc/delta-islands (2018-08-16) 7 commits
539 - - pack-objects: move 'layer' into 'struct packing_data'
540 - - pack-objects: move tree_depth into 'struct packing_data'
541 - - t5320: tests for delta islands
542 - - repack: add delta-islands support
543 - - pack-objects: add delta-islands support
544 - - pack-objects: refactor code into compute_layer_order()
545 - - Add delta-islands.{c,h}
546 -
547 - Lift code from GitHub to restrict delta computation so that an
548 - object that exists in one fork is not made into a delta against
549 - another object that does not appear in the same forked repository.
550 -
551 - What's the doneness of this topic?
552 -
553 -
554 -* ds/commit-graph-fsck (2018-08-13) 1 commit
555 - (merged to 'next' on 2018-08-15 at a2f82d3cbd)
556 - + t5318: use 'test_cmp_bin' to compare commit-graph files
557 -
558 - Test fix.
559 -
560 - Will merge to 'master'.
561 -
562 -
563 -* en/incl-forward-decl (2018-08-15) 6 commits
564 - (merged to 'next' on 2018-08-17 at 04fc9c11bb)
565 - + Remove forward declaration of an enum
566 - + compat/precompose_utf8.h: use more common include guard style
567 - + urlmatch.h: fix include guard
568 - + Move definition of enum branch_track from cache.h to branch.h
569 - + alloc: make allocate_alloc_state and clear_alloc_state more consistent
570 - + Add missing includes and forward declarations
571 -
572 - Code hygiene improvement for the header files.
573 -
574 - Will merge to 'master'.
575 -
576 -
577 -* es/chain-lint-more (2018-08-13) 6 commits
578 - (merged to 'next' on 2018-08-15 at bb5150ee96)
579 - + chainlint: add test of pathological case which triggered false positive
580 - + chainlint: recognize multi-line quoted strings more robustly
581 - + chainlint: let here-doc and multi-line string commence on same line
582 - + chainlint: recognize multi-line $(...) when command cuddled with "$("
583 - + chainlint: match 'quoted' here-doc tags
584 - + chainlint: match arbitrary here-docs tags rather than hard-coded names
585 -
586 - Improve built-in facility to catch broken &&-chain in the tests.
587 -
588 - Will merge to 'master'.
589 -
486 +* nd/config-core-checkstat-doc (2018-08-17) 1 commit
487 + - config.txt: clarify core.checkStat
488
591 -* jc/gpg-status (2018-08-09) 1 commit
592 - (merged to 'next' on 2018-08-15 at 824781761a)
593 - + gpg-interface: propagate exit status from gpg back to the callers
489 + The meaning of the possible values the "core.checkStat"
490 + configuration variable can take were not adequately documented,
491 + which has been fixed.
492
595 - Will merge to 'master'.
493 + Will merge to 'next'.
494
495
598 -* jh/partial-clone-doc (2018-08-15) 1 commit
599 - (merged to 'next' on 2018-08-15 at cf09e8be6a)
600 - + partial-clone: render design doc using asciidoc
496 +* sm/branch-sort-config (2018-08-16) 1 commit
497 + - branch: support configuring --sort via .gitconfig
498
602 - Doc updates.
499 + "git branch --list" learned to take the default sort order from the
500 + 'branch.sort' configuration variable, just like "git tag --list"
501 + pays attention to 'tag.sort'.
502
604 - Will merge to 'master'.
503 + Will merge to 'next'.
504
505
607 -* jk/for-each-object-iteration (2018-08-14) 11 commits
608 - (merged to 'next' on 2018-08-15 at e2558810ff)
609 - + for_each_*_object: move declarations to object-store.h
610 - + cat-file: use a single strbuf for all output
611 - + cat-file: split batch "buf" into two variables
612 - + cat-file: use oidset check-and-insert
613 - + cat-file: support "unordered" output for --batch-all-objects
614 - + cat-file: rename batch_{loose,packed}_object callbacks
615 - + t1006: test cat-file --batch-all-objects with duplicates
616 - + for_each_packed_object: support iterating in pack-order
617 - + for_each_*_object: give more comprehensive docstrings
618 - + for_each_*_object: take flag arguments as enum
619 - + for_each_*_object: store flag definitions in a single location
506 +* ab/unconditional-free-and-null (2018-08-17) 1 commit
507 + - refactor various if (x) FREE_AND_NULL(x) to just FREE_AND_NULL(x)
508
621 - The API to iterate over all objects learned to optionally list
622 - objects in the order they appear in packfiles, which helps locality
623 - of access if the caller accesses these objects while as objects are
624 - enumerated.
509 + Code clean-up.
510
626 - Will merge to 'master'.
511 + Will merge to 'next'.
512
513
629 -* js/chain-lint-attrfix (2018-08-15) 1 commit
630 - (merged to 'next' on 2018-08-15 at e9ad19a848)
631 - + chainlint: fix for core.autocrlf=true
514 +* bp/checkout-new-branch-optim (2018-08-16) 1 commit
515 + - checkout: optimize "git checkout -b <new_branch>"
516
633 - Test fix.
517 + "git checkout -b newbranch [HEAD]" should not have to do as much as
518 + checking out a commit different from HEAD. An attempt is made to
519 + optimize this special case.
520
635 - Will merge to 'master'.
521 + So... what is the status of this thing? Is the other "optimize
522 + unpack-trees" effort turning out to be a safer and less hacky way
523 + to achieve similar gain and this no longer is needed?
524
525
638 -* js/mingw-o-append (2018-08-13) 1 commit
639 - (merged to 'next' on 2018-08-15 at 284527a0fb)
640 - + mingw: enable atomic O_APPEND
526 +* ao/submodule-wo-gitmodules-checked-out (2018-08-14) 7 commits
527 + - submodule: support reading .gitmodules even when it's not checked out
528 + - t7506: clean up .gitmodules properly before setting up new scenario
529 + - submodule: use the 'submodule--helper config' command
530 + - submodule--helper: add a new 'config' subcommand
531 + - t7411: be nicer to future tests and really clean things up
532 + - submodule: factor out a config_set_in_gitmodules_file_gently function
533 + - submodule: add a print_config_from_gitmodules() helper
534
642 - Among the three codepaths we use O_APPEND to open a file for
643 - appending, one used for writing GIT_TRACE output requires O_APPEND
644 - implementation that behaves sensibly when multiple processes are
645 - writing to the same file. POSIX emulation used in the Windows port
646 - has been updated to improve in this area.
535 + The submodule support has been updated to read from the blob at
536 + HEAD:.gitmodules when the .gitmodules file is missing from the
537 + working tree.
538
648 - Will merge to 'master'.
539 + I find the design a bit iffy in that our usual "missing in the
540 + working tree? let's use the latest blob" fallback is to take it
541 + from the index, not from the HEAD.
542
543
651 -* jt/commit-graph-per-object-store (2018-08-13) 1 commit
652 - (merged to 'next' on 2018-08-15 at 5d6db738d8)
653 - + t5318: avoid unnecessary command substitutions
544 +* bw/submodule-name-to-dir (2018-08-10) 2 commits
545 + - submodule: munge paths to submodule git directories
546 + - submodule: create helper to build paths to submodule gitdirs
547
655 - Test update.
548 + In modern repository layout, the real body of a cloned submodule
549 + repository is held in .git/modules/ of the superproject, indexed by
550 + the submodule name. URLencode the submodule name before computing
551 + the name of the directory to make sure they form a flat namespace.
552
657 - Will merge to 'master'.
553 + Will merge to 'next'.
554
555
660 -* jt/fetch-negotiator-skipping (2018-08-10) 1 commit
661 - (merged to 'next' on 2018-08-15 at 3cf8fa32f5)
662 - + t5552: suppress upload-pack trace output
556 +* cc/delta-islands (2018-08-16) 7 commits
557 + - pack-objects: move 'layer' into 'struct packing_data'
558 + - pack-objects: move tree_depth into 'struct packing_data'
559 + - t5320: tests for delta islands
560 + - repack: add delta-islands support
561 + - pack-objects: add delta-islands support
562 + - pack-objects: refactor code into compute_layer_order()
563 + - Add delta-islands.{c,h}
564
664 - Test fix.
565 + Lift code from GitHub to restrict delta computation so that an
566 + object that exists in one fork is not made into a delta against
567 + another object that does not appear in the same forked repository.
568
666 - Will merge to 'master'.
569 + What's the doneness of this topic?
570
571
572 * md/filter-trees (2018-08-16) 6 commits
@@ -678,50 +581,6 @@ of the repositories listed at
581 "tree:0" filter.
582
583
681 -* nd/no-the-index (2018-08-13) 24 commits
682 - (merged to 'next' on 2018-08-15 at 41e53dc53b)
683 - + blame.c: remove implicit dependency on the_index
684 - + apply.c: remove implicit dependency on the_index
685 - + apply.c: make init_apply_state() take a struct repository
686 - + apply.c: pass struct apply_state to more functions
687 - + resolve-undo.c: use the right index instead of the_index
688 - + archive-*.c: use the right repository
689 - + archive.c: avoid access to the_index
690 - + grep: use the right index instead of the_index
691 - + attr: remove index from git_attr_set_direction()
692 - + entry.c: use the right index instead of the_index
693 - + submodule.c: use the right index instead of the_index
694 - + pathspec.c: use the right index instead of the_index
695 - + unpack-trees: avoid the_index in verify_absent()
696 - + unpack-trees: convert clear_ce_flags* to avoid the_index
697 - + unpack-trees: don't shadow global var the_index
698 - + unpack-trees: add a note about path invalidation
699 - + unpack-trees: remove 'extern' on function declaration
700 - + ls-files: correct index argument to get_convert_attr_ascii()
701 - + preload-index.c: use the right index instead of the_index
702 - + dir.c: remove an implicit dependency on the_index in pathspec code
703 - + convert.c: remove an implicit dependency on the_index
704 - + attr: remove an implicit dependency on the_index
705 - + cache-tree: wrap the_index based wrappers with #ifdef
706 - + diff.c: move read_index() code back to the caller
707 -
708 - The more library-ish parts of the codebase learned to work on the
709 - in-core index-state instance that is passed in by their callers,
710 - instead of always working on the singleton "the_index" instance.
711 -
712 - Will merge to 'master'.
713 -
714 -
715 -* ng/mergetool-lose-final-prompt (2018-08-13) 1 commit
716 - (merged to 'next' on 2018-08-15 at f8f7ac365b)
717 - + mergetool: don't suggest to continue after last file
718 -
719 - "git mergetool" stopped and gave an extra prompt to continue after
720 - the last path has been handled, which did not make much sense.
721 -
722 - Will merge to 'master'.
723 -
724 -
584 * ng/status-i-short-for-ignored (2018-08-09) 1 commit
585 - status: -i shorthand for --ignored command line option
586
@@ -822,95 +681,6 @@ of the repositories listed at
681 - sha1-name.c: added 'get_oidf', which acts like 'get_oid'
682
683
825 -* pw/rebase-i-squash-number-fix (2018-08-15) 1 commit
826 - (merged to 'next' on 2018-08-17 at ac54dfa51a)
827 - + rebase -i: fix numbering in squash message
828 -
829 - When "git rebase -i" is told to squash two or more commits into
830 - one, it labeled the log message for each commit with its number.
831 - It correctly called the first one "1st commit", but the next one
832 - was "commit #1", which was off-by-one. This has been corrected.
833 -
834 - Will merge to 'master'.
835 -
836 -
837 -* sb/pull-rebase-submodule (2018-08-14) 1 commit
838 - (merged to 'next' on 2018-08-15 at 07c7b55cc9)
839 - + git-submodule.sh: accept verbose flag in cmd_update to be non-quiet
840 -
841 - "git pull --rebase -v" in a repository with a submodule barfed as
842 - an intermediate process did not understand what "-v(erbose)" flag
843 - meant, which has been fixed.
844 -
845 - Will merge to 'master'.
846 -
847 -
848 -* sg/t5310-empty-input-fix (2018-08-14) 1 commit
849 - (merged to 'next' on 2018-08-15 at c3c03973a0)
850 - + t5310-pack-bitmaps: fix bogus 'pack-objects to file can use bitmap' test
851 -
852 - Test fix.
853 -
854 - Will merge to 'master'.
855 -
856 -
857 -* js/rebase-merges-exec-fix (2018-08-09) 2 commits
858 - (merged to 'next' on 2018-08-15 at 9de975d92d)
859 - + rebase --exec: make it work with --rebase-merges
860 - + t3430: demonstrate what -r, --autosquash & --exec should do
861 -
862 - The "--exec" option to "git rebase --rebase-merges" placed the exec
863 - commands at wrong places, which has been corrected.
864 -
865 - Will merge to 'master'.
866 -
867 -
868 -* wc/make-funnynames-shared-lazy-prereq (2018-08-06) 1 commit
869 - (merged to 'next' on 2018-08-17 at b932a0894b)
870 - + t: factor out FUNNYNAMES as shared lazy prereq
871 -
872 - A test prerequisite defined by various test scripts with slightly
873 - different semantics has been consolidated into a single copy and
874 - made into a lazily defined one.
875 -
876 - Will merge to 'master'.
877 -
878 -
879 -* ab/test-must-be-empty-for-master (2018-07-30) 1 commit
880 - (merged to 'next' on 2018-08-15 at 17652a77fb)
881 - + tests: make use of the test_must_be_empty function
882 -
883 - Test updates.
884 -
885 - Will merge to 'master'.
886 -
887 -
888 -* hn/highlight-sideband-keywords (2018-08-17) 2 commits
889 - - sideband: do not read beyond the end of input
890 - (merged to 'next' on 2018-08-15 at f8945f3be5)
891 - + sideband: highlight keywords in remote sideband output
892 -
893 - The sideband code learned to optionally paint selected keywords at
894 - the beginning of incoming lines on the receiving end.
895 -
896 - Will merge to 'master'.
897 -
898 -
899 -* ab/fetch-tags-noclobber (2018-08-13) 7 commits
900 - (merged to 'next' on 2018-08-15 at eca0ac8afa)
901 - + pull doc: fix a long-standing grammar error
902 - + fetch tests: correct a comment "remove it" -> "remove them"
903 - + push tests: assert re-pushing annotated tags
904 - + push tests: add more testing for forced tag pushing
905 - + push tests: fix logic error in "push" test assertion
906 - + push tests: remove redundant 'git push' invocation
907 - + fetch tests: change "Tag" test tag to "testTag"
908 -
909 - Test and doc clean-ups.
910 -
911 - Will merge to 'master'.
912 -
913 -
684 * nd/clone-case-smashing-warning (2018-08-17) 1 commit
685 - clone: report duplicate entries on case-insensitive filesystems
686
@@ -923,7 +693,9 @@ of the repositories listed at
693 Will merge to 'next'.
694
695
926 -* nd/unpack-trees-with-cache-tree (2018-08-13) 5 commits
696 +* nd/unpack-trees-with-cache-tree (2018-08-18) 7 commits
697 + - cache-tree: verify valid cache-tree in the test suite
698 + - unpack-trees: add missing cache invalidation
699 - unpack-trees: reuse (still valid) cache-tree from src_index
700 - unpack-trees: reduce malloc in cache-tree walk
701 - unpack-trees: optimize walking same trees with cache-tree
@@ -941,18 +713,6 @@ of the repositories listed at
713 Will merge to and cook in 'next'.
714
715
944 -* sb/config-write-fix (2018-08-08) 3 commits
945 - (merged to 'next' on 2018-08-17 at 7d9c7ce81f)
946 - + git-config: document accidental multi-line setting in deprecated syntax
947 - + config: fix case sensitive subsection names on writing
948 - + t1300: document current behavior of setting options
949 -
950 - Recent update to "git config" broke updating variable in a
951 - subsection, which has been corrected.
952 -
953 - Will merge to 'master'.
954 -
955 -
716 * sb/range-diff-colors (2018-08-14) 8 commits
717 - diff.c: rewrite emit_line_0 more understandably
718 - diff.c: omit check for line prefix in emit_line_0
@@ -962,7 +722,6 @@ of the repositories listed at
722 - diff.c: simplify caller of emit_line_0
723 - t3206: add color test for range-diff --dual-color
724 - test_decode_color: understand FAINT and ITALIC
965 - (this branch uses js/range-diff; is tangled with es/format-patch-rangediff.)
725
726 The color output support for recently introduced "range-diff"
727 command got tweaked a bit.
@@ -1079,7 +838,7 @@ of the repositories listed at
838 - range-diff: respect diff_option.file rather than assuming 'stdout'
839 - Merge branch 'es/format-patch-interdiff' into es/format-patch-rangediff
840 - Merge branch 'js/range-diff' into es/format-patch-rangediff
1082 - (this branch uses es/format-patch-interdiff and js/range-diff; is tangled with sb/range-diff-colors.)
841 + (this branch uses es/format-patch-interdiff.)
842
843 "git format-patch" learned a new "--range-diff" option to explain
844 the difference between this version and the previous atttempt in
@@ -1096,16 +855,6 @@ of the repositories listed at
855 producing a larger than necessary packfiles by missing
856 opportunities to use large deltas.
857
1099 - Will cook in 'next'.
1100 -
1101 -
1102 -* ab/newhash-is-sha256 (2018-08-07) 2 commits
1103 - (merged to 'next' on 2018-08-15 at 2e808d75d3)
1104 - + doc hash-function-transition: pick SHA-256 as NewHash
1105 - + doc hash-function-transition: note the lack of a changelog
1106 -
1107 - Documentation update.
1108 -
858 Will merge to 'master'.
859
860
@@ -1167,7 +916,7 @@ of the repositories listed at
916
917 "git submodule update" is getting rewritten piece-by-piece into C.
918
1170 - Will cook in 'next'.
919 + Will merge to 'master'.
920
921
922 * tg/rerere (2018-08-06) 11 commits
@@ -1187,7 +936,7 @@ of the repositories listed at
936 Fixes to "git rerere" corner cases, especially when conflict
937 markers cannot be parsed in the file.
938
1190 - Will cook in 'next'.
939 + Will merge to 'master'.
940
941
942 * ag/rebase-i-in-c (2018-08-10) 20 commits
@@ -1219,38 +968,6 @@ of the repositories listed at
968 other topics need a bit more work to play with each other better.
969
970
1222 -* js/range-diff (2018-08-13) 21 commits
1223 - (merged to 'next' on 2018-08-15 at 8d56067806)
1224 - + range-diff: use dim/bold cues to improve dual color mode
1225 - + range-diff: make --dual-color the default mode
1226 - + range-diff: left-pad patch numbers
1227 - + completion: support `git range-diff`
1228 - + range-diff: populate the man page
1229 - + range-diff --dual-color: skip white-space warnings
1230 - + range-diff: offer to dual-color the diffs
1231 - + diff: add an internal option to dual-color diffs of diffs
1232 - + color: add the meta color GIT_COLOR_REVERSE
1233 - + range-diff: use color for the commit pairs
1234 - + range-diff: add tests
1235 - + range-diff: do not show "function names" in hunk headers
1236 - + range-diff: adjust the output of the commit pairs
1237 - + range-diff: suppress the diff headers
1238 - + range-diff: indent the diffs just like tbdiff
1239 - + range-diff: right-trim commit messages
1240 - + range-diff: also show the diff between patches
1241 - + range-diff: improve the order of the shown commits
1242 - + range-diff: first rudimentary implementation
1243 - + Introduce `range-diff` to compare iterations of a topic branch
1244 - + linear-assignment: a function to solve least-cost assignment problems
1245 - (this branch is used by es/format-patch-rangediff and sb/range-diff-colors.)
1246 -
1247 - "git tbdiff" that lets us compare individual patches in two
1248 - iterations of a topic has been rewritten and made into a built-in
1249 - command.
1250 -
1251 - Will merge to 'master'.
1252 -
1253 -
971 * lt/date-human (2018-07-09) 1 commit
972 - Add 'human' date format
973