What's cooking (2018/09 #04)

Junio C Hamano committed Sep 20, 2018 at 22:19 UTC 722746685bce03f223ed75febe312495e6c139da
1 file changed +817 -699
whats-cooking.txt
+817 -699
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Sep 2018, #03; Fri, 14)
4 -X-master-at: 1d4361b0f344188ab5eec6dcea01f61a3a3a1670
5 -X-next-at: 18242da7ef2827fb2713d17d95e46d20630f67d2
3 +Subject: What's cooking in git.git (Sep 2018, #04; Thu, 20)
4 +X-master-at: 150f307afc13961b0322ad0e7205a7b193368586
5 +X-next-at: 22e244bd67aa2e7d6da808dd00093b071f3ffd7c
6
7 -What's cooking in git.git (Sep 2018, #03; Fri, 14)
7 +What's cooking in git.git (Sep 2018, #04; Thu, 20)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,17 +12,12 @@ 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 -The tip of 'next' hasn't been rewound yet, but the states of many
16 -topics that were marked to "Cook in 'next'" read "Will merge to
17 -'master'" now. I'll probably start merging a handful of topics that
18 -have been in 'next' down to 'master' tonight (they appear at the
19 -bottom of "log --first-parent master..pu" output).
20 -
21 -The three GSoC "rewrite in C" topics are still unclassified in this
22 -"What's cooking" report, but I am hoping that we can have them in
23 -'next' sooner rather than later. I got an impression that Dscho
24 -wanted a chance for the final clean-up on some of them, so I am not
25 -doing anything hasty yet at this moment, though.
15 +The tip of 'next' hasn't been rewound yet. The three GSoC "rewrite
16 +in C" topics are still unclassified in this "What's cooking" report,
17 +but I am hoping that we can have them in 'next' sooner rather than
18 +later. I got an impression that Dscho wanted a chance for the final
19 +clean-up on some of them, so I am not doing anything hasty yet at
20 +this moment, though.
21
22 You can find the changes described here in the integration branches
23 of the repositories listed at
@@ -30,216 +25,587 @@ of the repositories listed at
25 http://git-blame.blogspot.com/p/git-public-repositories.html
26
27 --------------------------------------------------
33 -[New Topics]
28 +[Graduated to "master"]
29
35 -* ab/fsck-skiplist (2018-09-12) 10 commits
36 - - fsck: support comments & empty lines in skipList
37 - - fsck: use oidset instead of oid_array for skipList
38 - - fsck: use strbuf_getline() to read skiplist file
39 - - fsck: add a performance test for skipList
40 - - fsck: add a performance test
41 - - fsck: document that skipList input must be unabbreviated
42 - - fsck: document and test commented & empty line skipList input
43 - - fsck: document and test sorted skipList input
44 - - fsck tests: add a test for no skipList input
45 - - fsck tests: setup of bogus commit object
30 +* ab/fetch-tags-noclobber (2018-08-31) 11 commits
31 + (merged to 'next' on 2018-09-20 at 3e950afa0f)
32 + + fetch doc: correct grammar in --force docs
33 + + push doc: add spacing between two words
34 + (merged to 'next' on 2018-09-14 at 0384a7a8b4)
35 + + fetch: stop clobbering existing tags without --force
36 + + fetch: document local ref updates with/without --force
37 + + push doc: correct lies about how push refspecs work
38 + + push doc: move mention of "tag <tag>" later in the prose
39 + + push doc: remove confusing mention of remote merger
40 + + fetch tests: add a test for clobbering tag behavior
41 + + push tests: use spaces in interpolated string
42 + + push tests: make use of unused $1 in test description
43 + + fetch: change "branch" to "reference" in --force -h output
44
47 - Update fsck.skipList implementation and documentation.
45 + The rules used by "git push" and "git fetch" to determine if a ref
46 + can or cannot be updated were inconsistent; specifically, fetching
47 + to update existing tags were allowed even though tags are supposed
48 + to be unmoving anchoring points. "git fetch" was taught to forbid
49 + updates to existing tags without the "--force" option.
50 + This is a backward incompatible change but in a good way; it may
51 + still need to be treated carefully.
52
49 - Will merge to 'next'.
53
54 +* bp/checkout-new-branch-optim (2018-08-16) 1 commit
55 + (merged to 'next' on 2018-09-20 at 329edd4960)
56 + + config doc: add missing list separator for checkout.optimizeNewBranch
57 + (merged to 'next' on 2018-08-27 at e69bfd115f)
58 + + checkout: optimize "git checkout -b <new_branch>"
59
52 -* bc/hash-independent-tests (2018-09-13) 12 commits
53 - - t5318: use test_oid for HASH_LEN
54 - - t1407: make hash size independent
55 - - t1406: make hash-size independent
56 - - t1405: make hash size independent
57 - - t1400: switch hard-coded object ID to variable
58 - - t1006: make hash size independent
59 - - t0064: make hash size independent
60 - - t0027: make hash size independent
61 - - t0002: abstract away SHA-1 specific constants
62 - - t0000: update tests for SHA-256
63 - - t0000: use hash translation table
64 - - t: add test functions to translate hash-related values
60 + "git checkout -b newbranch [HEAD]" should not have to do as much as
61 + checking out a commit different from HEAD. An attempt is made to
62 + optimize this special case.
63
66 - Various tests have been updated to make it easier to swap the
67 - hash function used for object identification.
64
69 - Will merge to 'next'.
65 +* cc/delta-islands (2018-08-16) 7 commits
66 + (merged to 'next' on 2018-08-27 at cf3d7bd93f)
67 + + pack-objects: move 'layer' into 'struct packing_data'
68 + + pack-objects: move tree_depth into 'struct packing_data'
69 + + t5320: tests for delta islands
70 + + repack: add delta-islands support
71 + + pack-objects: add delta-islands support
72 + + pack-objects: refactor code into compute_layer_order()
73 + + Add delta-islands.{c,h}
74 +
75 + Lift code from GitHub to restrict delta computation so that an
76 + object that exists in one fork is not made into a delta against
77 + another object that does not appear in the same forked repository.
78 +
79 +
80 +* ds/commit-graph-tests (2018-08-29) 1 commit
81 + (merged to 'next' on 2018-09-14 at d072a0ee3e)
82 + + commit-graph: define GIT_TEST_COMMIT_GRAPH
83 +
84 + We can now optionally run tests with commit-graph enabled.
85 +
86 +
87 +* ds/multi-pack-index (2018-08-20) 33 commits
88 + (merged to 'next' on 2018-08-21 at d15e8cadd4)
89 + + pack-objects: consider packs in multi-pack-index
90 + + midx: test a few commands that use get_all_packs
91 + + treewide: use get_all_packs
92 + + packfile: add all_packs list
93 + + midx: fix bug that skips midx with alternates
94 + + midx: stop reporting garbage
95 + + midx: mark bad packed objects
96 + + multi-pack-index: store local property
97 + + multi-pack-index: provide more helpful usage info
98 + + Sync 'ds/multi-pack-index' to v2.19.0-rc0
99 + (merged to 'next' on 2018-08-08 at 1a56c52967)
100 + + midx: clear midx on repack
101 + + packfile: skip loading index if in multi-pack-index
102 + + midx: prevent duplicate packfile loads
103 + + midx: use midx in approximate_object_count
104 + + midx: use existing midx when writing new one
105 + + midx: use midx in abbreviation calculations
106 + + midx: read objects from multi-pack-index
107 + + config: create core.multiPackIndex setting
108 + + midx: write object offsets
109 + + midx: write object id fanout chunk
110 + + midx: write object ids in a chunk
111 + + midx: sort and deduplicate objects from packfiles
112 + + midx: read pack names into array
113 + + multi-pack-index: write pack names in chunk
114 + + multi-pack-index: read packfile list
115 + + packfile: generalize pack directory list
116 + + t5319: expand test data
117 + + multi-pack-index: load into memory
118 + + midx: write header information to lockfile
119 + + multi-pack-index: add 'write' verb
120 + + multi-pack-index: add builtin
121 + + multi-pack-index: add format details
122 + + multi-pack-index: add design document
123 + (this branch is used by ds/multi-pack-verify.)
124 +
125 + When there are too many packfiles in a repository (which is not
126 + recommended), looking up an object in these would require
127 + consulting many pack .idx files; a new mechanism to have a single
128 + file that consolidates all of these .idx files is introduced.
129 +
130 +
131 +* ds/reachable (2018-08-28) 19 commits
132 + (merged to 'next' on 2018-08-28 at b1634b371d)
133 + + commit-reach: correct accidental #include of C file
134 + (merged to 'next' on 2018-08-22 at 17f3275afb)
135 + + commit-reach: use can_all_from_reach
136 + + commit-reach: make can_all_from_reach... linear
137 + + commit-reach: replace ref_newer logic
138 + + test-reach: test commit_contains
139 + + test-reach: test can_all_from_reach_with_flags
140 + + test-reach: test reduce_heads
141 + + test-reach: test get_merge_bases_many
142 + + test-reach: test is_descendant_of
143 + + test-reach: test in_merge_bases
144 + + test-reach: create new test tool for ref_newer
145 + + commit-reach: move can_all_from_reach_with_flags
146 + + upload-pack: generalize commit date cutoff
147 + + upload-pack: refactor ok_to_give_up()
148 + + upload-pack: make reachable() more generic
149 + + commit-reach: move commit_contains from ref-filter
150 + + commit-reach: move ref_newer from remote.c
151 + + commit.h: remove method declarations
152 + + commit-reach: move walk methods from commit.c
153
154 + The code for computing history reachability has been shuffled,
155 + obtained a bunch of new tests to cover them, and then being
156 + improved.
157 +
158 +
159 +* es/format-patch-interdiff (2018-07-23) 6 commits
160 + (merged to 'next' on 2018-08-31 at 63927e0227)
161 + + format-patch: allow --interdiff to apply to a lone-patch
162 + + log-tree: show_log: make commentary block delimiting reusable
163 + + interdiff: teach show_interdiff() to indent interdiff
164 + + format-patch: teach --interdiff to respect -v/--reroll-count
165 + + format-patch: add --interdiff option to embed diff in cover letter
166 + + format-patch: allow additional generated content in make_cover_letter()
167 + (this branch is used by ds/format-patch-range-diff-test and es/format-patch-rangediff.)
168 +
169 + "git format-patch" learned a new "--interdiff" option to explain
170 + the difference between this version and the previous atttempt in
171 + the cover letter (or after the tree-dashes as a comment).
172 +
173 +
174 +* es/format-patch-rangediff (2018-08-14) 10 commits
175 + (merged to 'next' on 2018-08-31 at 65627afece)
176 + + format-patch: allow --range-diff to apply to a lone-patch
177 + + format-patch: add --creation-factor tweak for --range-diff
178 + + format-patch: teach --range-diff to respect -v/--reroll-count
179 + + format-patch: extend --range-diff to accept revision range
180 + + format-patch: add --range-diff option to embed diff in cover letter
181 + + range-diff: relieve callers of low-level configuration burden
182 + + range-diff: publish default creation factor
183 + + range-diff: respect diff_option.file rather than assuming 'stdout'
184 + + Merge branch 'es/format-patch-interdiff' into es/format-patch-rangediff
185 + + Merge branch 'js/range-diff' into es/format-patch-rangediff
186 + (this branch is used by ds/format-patch-range-diff-test; uses es/format-patch-interdiff.)
187 +
188 + "git format-patch" learned a new "--range-diff" option to explain
189 + the difference between this version and the previous attempt in
190 + the cover letter (or after the tree-dashes as a comment).
191 +
192 +
193 +* es/worktree-forced-ops-fix (2018-09-05) 10 commits
194 + (merged to 'next' on 2018-09-14 at 1a0cc3204d)
195 + + doc-diff: force worktree add
196 + + worktree: delete .git/worktrees if empty after 'remove'
197 + + worktree: teach 'remove' to override lock when --force given twice
198 + + worktree: teach 'move' to override lock when --force given twice
199 + + worktree: teach 'add' to respect --force for registered but missing path
200 + + worktree: disallow adding same path multiple times
201 + + worktree: prepare for more checks of whether path can become worktree
202 + + worktree: generalize delete_git_dir() to reduce code duplication
203 + + worktree: move delete_git_dir() earlier in file for upcoming new callers
204 + + worktree: don't die() in library function find_worktree()
205 +
206 + Fix a bug in which the same path could be registered under multiple
207 + worktree entries if the path was missing (for instance, was removed
208 + manually). Also, as a convenience, expand the number of cases in
209 + which --force is applicable.
210 +
211 +
212 +* jk/branch-l-1-repurpose (2018-08-30) 2 commits
213 + (merged to 'next' on 2018-08-31 at cfa73bbfcb)
214 + + doc/git-branch: remove obsolete "-l" references
215 + (merged to 'next' on 2018-08-08 at d2a08dd08e)
216 + + branch: make "-l" a synonym for "--list"
217 +
218 + Updated plan to repurpose the "-l" option to "git branch".
219 +
220 +
221 +* jk/cocci (2018-08-29) 9 commits
222 + (merged to 'next' on 2018-08-31 at 914b4f17ce)
223 + + show_dirstat: simplify same-content check
224 + + read-cache: use oideq() in ce_compare functions
225 + + convert hashmap comparison functions to oideq()
226 + + convert "hashcmp() != 0" to "!hasheq()"
227 + + convert "oidcmp() != 0" to "!oideq()"
228 + + convert "hashcmp() == 0" to hasheq()
229 + + convert "oidcmp() == 0" to oideq()
230 + + introduce hasheq() and oideq()
231 + + coccinelle: use <...> for function exclusion
232 +
233 + spatch transformation to replace boolean uses of !hashcmp() to
234 + newly introduced oideq() is added, and applied, to regain
235 + performance lost due to support of multiple hash algorithms.
236 +
237 +
238 +* jk/diff-rendered-docs (2018-08-31) 5 commits
239 + (merged to 'next' on 2018-09-14 at 9b43d5a568)
240 + + doc/Makefile: drop doc-diff worktree and temporary files on "make clean"
241 + + doc-diff: add --clean mode to remove temporary working gunk
242 + + doc-diff: fix non-portable 'man' invocation
243 + + doc-diff: always use oids inside worktree
244 + (merged to 'next' on 2018-08-22 at dd7a2b71cd)
245 + + SubmittingPatches: mention doc-diff
246 +
247 + Dev doc update.
248 +
249 +
250 +* jk/pack-delta-reuse-with-bitmap (2018-08-21) 6 commits
251 + (merged to 'next' on 2018-08-22 at fc50b59dab)
252 + + pack-objects: reuse on-disk deltas for thin "have" objects
253 + + pack-bitmap: save "have" bitmap from walk
254 + + t/perf: add perf tests for fetches from a bitmapped server
255 + + t/perf: add infrastructure for measuring sizes
256 + + t/perf: factor out percent calculations
257 + + t/perf: factor boilerplate out of test_perf
258 + (this branch is used by jk/pack-objects-with-bitmap-fix.)
259 +
260 + When creating a thin pack, which allows objects to be made into a
261 + delta against another object that is not in the resulting pack but
262 + is known to be present on the receiving end, the code learned to
263 + take advantage of the reachability bitmap; this allows the server
264 + to send a delta against a base beyond the "boundary" commit.
265 +
266 +
267 +* jk/pack-objects-with-bitmap-fix (2018-09-04) 4 commits
268 + (merged to 'next' on 2018-09-14 at 392eb2abb1)
269 + + pack-bitmap: drop "loaded" flag
270 + + traverse_bitmap_commit_list(): don't free result
271 + + t5310: test delta reuse with bitmaps
272 + + bitmap_has_sha1_in_uninteresting(): drop BUG check
273 + (this branch uses jk/pack-delta-reuse-with-bitmap.)
274 +
275 + Hotfix of the base topic.
276 +
277 +
278 +* jk/patch-corrupted-delta-fix (2018-08-30) 6 commits
279 + (merged to 'next' on 2018-09-14 at 7517309cb0)
280 + + t5303: use printf to generate delta bases
281 + + patch-delta: handle truncated copy parameters
282 + + patch-delta: consistently report corruption
283 + + patch-delta: fix oob read
284 + + t5303: test some corrupt deltas
285 + + test-delta: read input into a heap buffer
286 +
287 + Malformed or crafted data in packstream can make our code attempt
288 + to read or write past the allocated buffer and abort, instead of
289 + reporting an error, which has been fixed.
290 +
291 +
292 +* jk/rev-list-stdin-noop-is-ok (2018-08-22) 1 commit
293 + (merged to 'next' on 2018-08-27 at d5916f7bc1)
294 + + rev-list: make empty --stdin not an error
295 +
296 + "git rev-list --stdin </dev/null" used to be an error; it now shows
297 + no output without an error. "git rev-list --stdin --default HEAD"
298 + still falls back to the given default when nothing is given on the
299 + standard input.
300 +
301 +
302 +* jk/trailer-fixes (2018-08-23) 8 commits
303 + (merged to 'next' on 2018-08-27 at 93b671b8c6)
304 + + append_signoff: use size_t for string offsets
305 + + sequencer: ignore "---" divider when parsing trailers
306 + + pretty, ref-filter: format %(trailers) with no_divider option
307 + + interpret-trailers: allow suppressing "---" divider
308 + + interpret-trailers: tighten check for "---" patch boundary
309 + + trailer: pass process_trailer_opts to trailer_info_get()
310 + + trailer: use size_t for iterating trailer list
311 + + trailer: use size_t for string offsets
312 +
313 + "git interpret-trailers" and its underlying machinery had a buggy
314 + code that attempted to ignore patch text after commit log message,
315 + which triggered in various codepaths that will always get the log
316 + message alone and never get such an input.
317 +
318 +
319 +* mk/http-backend-content-length (2018-09-11) 1 commit
320 + (merged to 'next' on 2018-09-11 at e8095fc635)
321 + + http-backend test: make empty CONTENT_LENGTH test more realistic
322 +
323 + Test update.
324 +
325 +
326 +* nd/bisect-show-list-fix (2018-09-04) 1 commit
327 + (merged to 'next' on 2018-09-14 at 18242da7ef)
328 + + bisect.c: make show_list() build again
329 +
330 + Debugging aid update.
331 +
332 +
333 +* nd/clone-case-smashing-warning (2018-08-17) 1 commit
334 + (merged to 'next' on 2018-08-22 at eedae40a8d)
335 + + clone: report duplicate entries on case-insensitive filesystems
336 +
337 + Running "git clone" against a project that contain two files with
338 + pathnames that differ only in cases on a case insensitive
339 + filesystem would result in one of the files lost because the
340 + underlying filesystem is incapable of holding both at the same
341 + time. An attempt is made to detect such a case and warn.
342 +
343 +
344 +* nd/unpack-trees-with-cache-tree (2018-08-27) 8 commits
345 + (merged to 'next' on 2018-08-27 at b1d841d034)
346 + + Document update for nd/unpack-trees-with-cache-tree
347 + (merged to 'next' on 2018-08-22 at 138b902673)
348 + + cache-tree: verify valid cache-tree in the test suite
349 + + unpack-trees: add missing cache invalidation
350 + + unpack-trees: reuse (still valid) cache-tree from src_index
351 + + unpack-trees: reduce malloc in cache-tree walk
352 + + unpack-trees: optimize walking same trees with cache-tree
353 + + unpack-trees: add performance tracing
354 + + trace.h: support nested performance tracing
355 +
356 + The unpack_trees() API used in checking out a branch and merging
357 + walks one or more trees along with the index. When the cache-tree
358 + in the index tells us that we are walking a tree whose flattened
359 + contents is known (i.e. matches a span in the index), as linearly
360 + scanning a span in the index is much more efficient than having to
361 + open tree objects recursively and listing their entries, the walk
362 + can be optimized, which is done in this topic.
363 +
364 +
365 +* rs/mailinfo-format-flowed (2018-08-29) 1 commit
366 + (merged to 'next' on 2018-08-31 at 9e8b92176c)
367 + + mailinfo: support format=flowed
368 +
369 + "git mailinfo" used in "git am" learned to make a best-effort
370 + recovery of a patch corrupted by MUA that sends text/plain with
371 + format=flawed option.
372 +
373 +
374 +* sb/range-diff-colors (2018-08-20) 11 commits
375 + (merged to 'next' on 2018-08-22 at eb7ed4fca3)
376 + + range-diff: indent special lines as context
377 + + range-diff: make use of different output indicators
378 + + diff.c: add --output-indicator-{new, old, context}
379 + + diff.c: rewrite emit_line_0 more understandably
380 + + diff.c: omit check for line prefix in emit_line_0
381 + + diff: use emit_line_0 once per line
382 + + diff.c: add set_sign to emit_line_0
383 + + diff.c: reorder arguments for emit_line_ws_markup
384 + + diff.c: simplify caller of emit_line_0
385 + + t3206: add color test for range-diff --dual-color
386 + + test_decode_color: understand FAINT and ITALIC
387 +
388 + The color output support for recently introduced "range-diff"
389 + command got tweaked a bit.
390 +
391 +
392 +* sb/submodule-update-in-c (2018-08-14) 7 commits
393 + (merged to 'next' on 2018-08-17 at 23c81e5ff7)
394 + + submodule--helper: introduce new update-module-mode helper
395 + + submodule--helper: replace connect-gitdir-workingtree by ensure-core-worktree
396 + + builtin/submodule--helper: factor out method to update a single submodule
397 + + builtin/submodule--helper: store update_clone information in a struct
398 + + builtin/submodule--helper: factor out submodule updating
399 + + git-submodule.sh: rename unused variables
400 + + git-submodule.sh: align error reporting for update mode to use path
401 +
402 + "git submodule update" is getting rewritten piece-by-piece into C.
403 +
404 +
405 +* sg/doc-trace-appends (2018-09-04) 1 commit
406 + (merged to 'next' on 2018-09-14 at 6d82abb8bf)
407 + + Documentation/git.txt: clarify that GIT_TRACE=/path appends
408 +
409 + Docfix.
410 +
411 +
412 +* sg/t1404-update-ref-test-timeout (2018-08-01) 1 commit
413 + (merged to 'next' on 2018-08-22 at f3cd37b5ea)
414 + + t1404: increase core.packedRefsTimeout to avoid occasional test failure
415 +
416 + An attempt to unflake a test a bit.
417 +
418 +
419 +* tg/conflict-marker-size (2018-08-29) 1 commit
420 + (merged to 'next' on 2018-08-31 at 12099161f0)
421 + + .gitattributes: add conflict-marker-size for relevant files
422
72 -* bp/mv-submodules-with-fsmonitor (2018-09-12) 1 commit
73 - - git-mv: allow submodules and fsmonitor to work together
423 + Developer aid.
424
75 - When fsmonitor is in use, after operation on submodules updates
76 - .gitmodules, we lost track of the fact that we did so and relied on
77 - stale fsmonitor data.
425
79 - Will merge to 'next'.
426 +* tg/rerere (2018-08-06) 11 commits
427 + (merged to 'next' on 2018-08-17 at 919a958cdc)
428 + + rerere: recalculate conflict ID when unresolved conflict is committed
429 + + rerere: teach rerere to handle nested conflicts
430 + + rerere: return strbuf from handle path
431 + + rerere: factor out handle_conflict function
432 + + rerere: only return whether a path has conflicts or not
433 + + rerere: fix crash with files rerere can't handle
434 + + rerere: add documentation for conflict normalization
435 + + rerere: mark strings for translation
436 + + rerere: wrap paths in output in sq
437 + + rerere: lowercase error messages
438 + + rerere: unify error messages when read_cache fails
439 + (this branch is used by tg/rerere-doc-updates.)
440
441 + Fixes to "git rerere" corner cases, especially when conflict
442 + markers cannot be parsed in the file.
443
82 -* bp/read-cache-parallel (2018-09-13) 6 commits
83 - - SQUASH???
84 - - read-cache: clean up casting and byte decoding
85 - - read-cache.c: optimize reading index format v4
86 - - read-cache: load cache entries on worker threads
87 - - read-cache: load cache extensions on a worker thread
88 - - eoie: add End of Index Entry (EOIE) extension
444
90 - A new extension to the index file has been introduced, which allows
91 - the file to be read in parallel.
445 +* tg/rerere-doc-updates (2018-08-29) 2 commits
446 + (merged to 'next' on 2018-08-31 at ce4fef1a97)
447 + + rerere: add note about files with existing conflict markers
448 + + rerere: mention caveat about unmatched conflict markers
449 + (this branch uses tg/rerere.)
450
93 - Will merge to 'next' after squashing the fix in.
451 + Clarify a part of technical documentation for rerere.
452
453
96 -* ds/coverage-diff (2018-09-12) 1 commit
97 - - contrib: add coverage-diff script
454 +* ts/doc-build-manpage-xsl-quietly (2018-08-29) 1 commit
455 + (merged to 'next' on 2018-08-31 at 7527e0f8d3)
456 + + Documentation/Makefile: make manpage-base-url.xsl generation quieter
457
99 - The result of coverage test can be combined with "git blame" to
100 - check the test coverage of code introduced recently with a new
101 - 'coverage-diff' tool (in contrib/).
458 + Build tweak.
459
103 - Expecting a reroll.
460 +--------------------------------------------------
461 +[New Topics]
462
463 +* jn/gc-auto-prep (2018-07-17) 2 commits
464 + - gc: exit with status 128 on failure
465 + - gc: improve handling of errors reading gc.log
466 + (this branch is used by jn/gc-auto.)
467
106 -* ds/format-patch-range-diff-test (2018-09-12) 1 commit
107 - - t3206-range-diff.sh: cover single-patch case
108 - (this branch uses es/format-patch-interdiff and es/format-patch-rangediff.)
468 + Code clean-up.
469
470 Will merge to 'next'.
471
472
113 -* ds/multi-pack-verify (2018-09-13) 11 commits
114 - - fsck: verify multi-pack-index
115 - - multi-pack-index: report progress during 'verify'
116 - - multi-pack-index: verify object offsets
117 - - multi-pack-index: fix 32-bit vs 64-bit size check
118 - - multi-pack-index: verify oid lookup order
119 - - multi-pack-index: verify oid fanout order
120 - - multi-pack-index: verify missing pack
121 - - multi-pack-index: verify packname order
122 - - multi-pack-index: verify corrupt chunk lookup table
123 - - multi-pack-index: verify bad header
124 - - multi-pack-index: add 'verify' verb
125 - (this branch uses ds/multi-pack-index.)
473 +* nd/status-refresh-progress (2018-09-17) 1 commit
474 + - status: show progress bar if refreshing the index takes too long
475
127 - "git multi-pack-index" learned to detect corruption in the .midx
128 - file it uses, and this feature has been integrated into "git fsck".
476 + "git status" learns to show progress bar when refreshing the index
477 + takes a long time.
478
479 Will merge to 'next'.
480
481
133 -* en/sequencer-empty-edit-result-aborts (2018-09-13) 1 commit
134 - - sequencer: fix --allow-empty-message behavior, make it smarter
135 -
136 - "git rebase" etc. in Git 2.19 fails to abort when given an empty
137 - commit log message as result of editing, which has been corrected.
482 +* nd/the-index (2018-09-17) 23 commits
483 + - revision.c: reduce implicit dependency the_repository
484 + - revision.c: remove implicit dependency on the_index
485 + - ws.c: remove implicit dependency on the_index
486 + - tree-diff.c: remove implicit dependency on the_index
487 + - submodule.c: remove implicit dependency on the_index
488 + - line-range.c: remove implicit dependency on the_index
489 + - userdiff.c: remove implicit dependency on the_index
490 + - rerere.c: remove implicit dependency on the_index
491 + - sha1-file.c: remove implicit dependency on the_index
492 + - patch-ids.c: remove implicit dependency on the_index
493 + - merge.c: remove implicit dependency on the_index
494 + - merge-blobs.c: remove implicit dependency on the_index
495 + - ll-merge.c: remove implicit dependency on the_index
496 + - diff-lib.c: remove implicit dependency on the_index
497 + - read-cache.c: remove implicit dependency on the_index
498 + - diff.c: remove implicit dependency on the_index
499 + - grep.c: remove implicit dependency on the_index
500 + - diff.c: remove the_index dependency in textconv() functions
501 + - blame.c: rename "repo" argument to "r"
502 + - combine-diff.c: remove implicit dependency on the_index
503 + - diff.c: reduce implicit dependency on the_index
504 + - read-cache.c: remove 'const' from index_has_changes()
505 + - archive.c: remove implicit dependency the_repository
506 +
507 + Various codepaths in the core-ish part learn to work on an
508 + arbitrary in-core index structure, not necessarily the default
509 + instance "the_index".
510
511 Will merge to 'next'.
512
513 + As expected, this has close to irritating amount of textual conflicts
514 + with the topics in-flight. Hopefully we can minimize the pain by
515 + letting it pass through quickly?
516
142 -* en/update-ref-no-deref-stdin (2018-09-12) 2 commits
143 - - update-ref: allow --no-deref with --stdin
144 - - update-ref: fix type of update_flags variable to match its usage
517
146 - "git update-ref" learned to make both "--no-deref" and "--stdin"
147 - work at the same time.
518 +* tq/refs-internal-comment-fix (2018-09-17) 1 commit
519 + - refs: docstring typo
520 +
521 + Fix for typo in a sample code in comment.
522
523 Will merge to 'next'.
524
525
152 -* jt/lazy-object-fetch-fix (2018-09-13) 2 commits
153 - - fetch-object: set exact_oid when fetching
154 - - fetch-object: unify fetch_object[s] functions
526 +* ts/alias-of-alias (2018-09-17) 3 commits
527 + - t0014: introduce an alias testing suite
528 + - alias: show the call history when an alias is looping
529 + - alias: add support for aliases of an alias
530
156 - The code to backfill objects in lazily cloned repository did not
157 - work correctly, which has been corrected.
531 + An alias that expands to another alias has so far been forbidden,
532 + but now it is allowed to create such an alias.
533
534 Will merge to 'next'.
535
536
162 -* ms/remote-error-message-update (2018-09-14) 1 commit
163 - - builtin/remote: quote remote name on error to display empty name
164 -
165 - Update error messages given by "git remote" and make them consistent.
537 +* ds/reachable-topo-order (2018-09-20) 8 commits
538 + - revision.c: refactor basic topo-order logic
539 + - commit/revisions: bookkeeping before refactoring
540 + - revision.c: begin refactoring --topo-order logic
541 + - fixup! test-reach: add rev-list tests
542 + - test-reach: add rev-list tests
543 + - fixup! test-reach: add run_three_modes method
544 + - test-reach: add run_three_modes method
545 + - prio-queue: add 'peek' operation
546
167 - Will merge to 'next'.
547 + The revision walker machinery learned to take advantage of the
548 + commit generation numbers stored in the commit-graph file.
549
550
170 -* nd/config-split (2018-09-12) 11 commits
171 - - config.txt: move submodule part out to a separate file
172 - - config.txt: move sequence.editor out of "core" part
173 - - config.txt: move sendemail part out to a separate file
174 - - config.txt: move receive part out to a separate file
175 - - config.txt: move push part out to a separate file
176 - - config.txt: move pull part out to a separate file
177 - - config.txt: move gui part out to a separate file
178 - - config.txt: move gitcvs part out to a separate file
179 - - config.txt: move format part out to a separate file
180 - - config.txt: move fetch part out to a separate file
181 - - config.txt: follow camelCase naming
551 +* en/merge-cleanup (2018-09-20) 4 commits
552 + - merge-recursive: rename merge_file_1() and merge_content()
553 + - merge-recursive: remove final remaining caller of merge_file_one()
554 + - merge-recursive: avoid wrapper function when unnecessary and wasteful
555 + - merge-recursive: set paths correctly when three-way merging content
556
183 - Split Documentation/config.txt for easier maintenance.
557 + Code clean-up.
558
559 Will merge to 'next'.
560
561
188 -* sb/submodule-recursive-fetch-gets-the-tip (2018-09-12) 9 commits
189 - - builtin/fetch: check for submodule updates for non branch fetches
190 - - fetch: retry fetching submodules if sha1 were not fetched
191 - - submodule: fetch in submodules git directory instead of in worktree
192 - - submodule.c: do not copy around submodule list
193 - - submodule: move global changed_submodule_names into fetch submodule struct
194 - - submodule.c: sort changed_submodule_names before searching it
195 - - submodule.c: fix indentation
196 - - sha1-array: provide oid_array_filter
197 - - string-list: add string_list_{pop, last} functions
562 +* jk/delta-islands-with-bitmap-reuse-delta-fix (2018-09-19) 1 commit
563 + - pack-objects: handle island check for "external" delta base
564
199 - "git fetch --recurse-submodules" may not fetch the necessary commit
200 - that is bound to the superproject, which is getting corrected.
565 + Fix interactions between two recent topics.
566
202 - Expecting a reroll.
203 - cf. <CAGZ79kbavjVbTqXsmtjW6=jhkq47_p3mc6=92xOp4_mfhqDtvw@mail.gmail.com>
204 - cf. <b16af8c0-0435-0de4-ed6c-53888d6190af@ramsayjones.plus.com>
205 - cf. <CAGZ79kZKKf9N8yx9EuCRZhrZS_mA2218PouEG7aHDhK2bJGEdA@mail.gmail.com>
567 + Will merge to 'next'.
568
569
208 -* sg/split-index-test (2018-09-12) 2 commits
209 - - t0090: disable GIT_TEST_SPLIT_INDEX for the test checking split index
210 - - t1700-split-index: drop unnecessary 'grep'
570 +* jn/mailmap-update (2018-09-19) 1 commit
571 + - mailmap: consistently normalize brian m. carlson's name
572
212 - Test updates.
573 + The mailmap file update.
574
575 Will merge to 'next'.
576
577
217 -* tb/void-check-attr (2018-09-12) 1 commit
218 - - Make git_check_attr() a void function
578 +* ma/config-doc-update (2018-09-20) 2 commits
579 + - git-config.txt: fix 'see: above' note
580 + - Doc: use `--type=bool` instead of `--bool`
581
220 - Code clean-up.
582 + Doc update.
583
584 Will merge to 'next'.
585
586
225 -* tg/range-diff-corner-case-fix (2018-09-14) 1 commit
226 - - linear-assignment: fix potential out of bounds memory access
587 +* nd/attr-pathspec-fix (2018-09-20) 2 commits
588 + - fixup! add: do not accept pathspec magic 'attr'
589 + - add: do not accept pathspec magic 'attr'
590
228 - Recently added "range-diff" had a corner-case bug to cause it
229 - segfault, which has been corrected.
591 + "git add ':(attr:foo)'" is not supported and is supposed to be
592 + rejected while the command line arguments are parsed, but we fail
593 + to reject such a command line upfront.
594
595 Will merge to 'next'.
596
597
234 -* bp/rename-test-env-var (2018-09-14) 5 commits
235 - - preload-index: update GIT_FORCE_PRELOAD_TEST support
236 - - read-cache: update TEST_GIT_INDEX_VERSION support
237 - - fsmonitor: update GIT_TEST_FSMONITOR support
238 - - preload-index: teach GIT_FORCE_PRELOAD_TEST to take a boolean
239 - - correct typo/spelling error in t/README
598 +* rj/header-check (2018-09-20) 8 commits
599 + - delta-islands.h: add missing forward declarations (hdr-check)
600 + - midx.h: add missing forward declarations (hdr-check)
601 + - refs/refs-internal.h: add missing declarations (hdr-check)
602 + - refs/packed-backend.h: add missing declaration (hdr-check)
603 + - refs/ref-cache.h: add missing declarations (hdr-check)
604 + - ewah/ewok_rlw.h: add missing include (hdr-check)
605 + - json-writer.h: add missing include (hdr-check)
606 + - Makefile: add a hdr-check target
607
241 - Some environment variables that control the runtime options of Git
242 - used during tests are getting renamed for consistency.
608 + Header files clean-up.
609
610 Will merge to 'next'.
611
@@ -358,113 +724,340 @@ of the repositories listed at
724 --------------------------------------------------
725 [Cooking]
726
361 -* ab/commit-graph-progress (2018-09-11) 2 commits
362 - - commit-graph verify: add progress output
363 - - commit-graph write: add progress output
727 +* ab/fsck-skiplist (2018-09-12) 10 commits
728 + (merged to 'next' on 2018-09-17 at dc9094ba9b)
729 + + fsck: support comments & empty lines in skipList
730 + + fsck: use oidset instead of oid_array for skipList
731 + + fsck: use strbuf_getline() to read skiplist file
732 + + fsck: add a performance test for skipList
733 + + fsck: add a performance test
734 + + fsck: document that skipList input must be unabbreviated
735 + + fsck: document and test commented & empty line skipList input
736 + + fsck: document and test sorted skipList input
737 + + fsck tests: add a test for no skipList input
738 + + fsck tests: setup of bogus commit object
739 +
740 + Update fsck.skipList implementation and documentation.
741 +
742 + Will merge to 'master'.
743 +
744 +
745 +* bc/hash-independent-tests (2018-09-17) 11 commits
746 + (merged to 'next' on 2018-09-17 at 9e94794d05)
747 + + t5318: use test_oid for HASH_LEN
748 + + t1407: make hash size independent
749 + + t1406: make hash-size independent
750 + + t1405: make hash size independent
751 + + t1400: switch hard-coded object ID to variable
752 + + t1006: make hash size independent
753 + + t0064: make hash size independent
754 + + t0002: abstract away SHA-1 specific constants
755 + + t0000: update tests for SHA-256
756 + + t0000: use hash translation table
757 + + t: add test functions to translate hash-related values
758 +
759 + Various tests have been updated to make it easier to swap the
760 + hash function used for object identification.
761 +
762 + Will merge to 'master'.
763 +
764 +
765 +* bp/mv-submodules-with-fsmonitor (2018-09-12) 1 commit
766 + (merged to 'next' on 2018-09-17 at 61c3dc4ebe)
767 + + git-mv: allow submodules and fsmonitor to work together
768 +
769 + When fsmonitor is in use, after operation on submodules updates
770 + .gitmodules, we lost track of the fact that we did so and relied on
771 + stale fsmonitor data.
772 +
773 + Will merge to 'master'.
774 +
775 +
776 +* bp/read-cache-parallel (2018-09-17) 5 commits
777 + - read-cache: clean up casting and byte decoding
778 + - read-cache.c: optimize reading index format v4
779 + - read-cache: load cache entries on worker threads
780 + - read-cache: load cache extensions on a worker thread
781 + - eoie: add End of Index Entry (EOIE) extension
782 +
783 + A new extension to the index file has been introduced, which allows
784 + the file to be read in parallel.
785 +
786 + Expecting a reroll.
787 + cf. <78f62979-18a7-2fc1-6f26-c4f84e19424f@gmail.com>
788 +
789 +
790 +* ds/coverage-diff (2018-09-12) 1 commit
791 + - contrib: add coverage-diff script
792 +
793 + The result of coverage test can be combined with "git blame" to
794 + check the test coverage of code introduced recently with a new
795 + 'coverage-diff' tool (in contrib/).
796 +
797 + Expecting a reroll.
798 +
799 +
800 +* ds/format-patch-range-diff-test (2018-09-12) 1 commit
801 + (merged to 'next' on 2018-09-17 at bd99e0e88c)
802 + + t3206-range-diff.sh: cover single-patch case
803 +
804 + Will merge to 'master'.
805 +
806 +
807 +* ds/multi-pack-verify (2018-09-17) 11 commits
808 + (merged to 'next' on 2018-09-17 at f27244f302)
809 + + fsck: verify multi-pack-index
810 + + multi-pack-index: report progress during 'verify'
811 + + multi-pack-index: verify object offsets
812 + + multi-pack-index: fix 32-bit vs 64-bit size check
813 + + multi-pack-index: verify oid lookup order
814 + + multi-pack-index: verify oid fanout order
815 + + multi-pack-index: verify missing pack
816 + + multi-pack-index: verify packname order
817 + + multi-pack-index: verify corrupt chunk lookup table
818 + + multi-pack-index: verify bad header
819 + + multi-pack-index: add 'verify' verb
820 +
821 + "git multi-pack-index" learned to detect corruption in the .midx
822 + file it uses, and this feature has been integrated into "git fsck".
823 +
824 + Will merge to 'master'.
825 +
826 +
827 +* en/sequencer-empty-edit-result-aborts (2018-09-13) 1 commit
828 + (merged to 'next' on 2018-09-17 at 768dcf3cab)
829 + + sequencer: fix --allow-empty-message behavior, make it smarter
830 +
831 + "git rebase" etc. in Git 2.19 fails to abort when given an empty
832 + commit log message as result of editing, which has been corrected.
833 +
834 + Will merge to 'master'.
835 +
836 +
837 +* en/update-ref-no-deref-stdin (2018-09-12) 2 commits
838 + (merged to 'next' on 2018-09-17 at a56c0a3003)
839 + + update-ref: allow --no-deref with --stdin
840 + + update-ref: fix type of update_flags variable to match its usage
841 +
842 + "git update-ref" learned to make both "--no-deref" and "--stdin"
843 + work at the same time.
844 +
845 + Will merge to 'master'.
846 +
847 +
848 +* jt/lazy-object-fetch-fix (2018-09-13) 2 commits
849 + (merged to 'next' on 2018-09-17 at 321602b284)
850 + + fetch-object: set exact_oid when fetching
851 + + fetch-object: unify fetch_object[s] functions
852 +
853 + The code to backfill objects in lazily cloned repository did not
854 + work correctly, which has been corrected.
855 +
856 + Will merge to 'master'.
857 +
858 +
859 +* ms/remote-error-message-update (2018-09-14) 1 commit
860 + (merged to 'next' on 2018-09-17 at d37a215b62)
861 + + builtin/remote: quote remote name on error to display empty name
862 +
863 + Update error messages given by "git remote" and make them consistent.
864 +
865 + Will merge to 'master'.
866 +
867 +
868 +* nd/config-split (2018-09-12) 11 commits
869 + (merged to 'next' on 2018-09-17 at 33e6cb8f48)
870 + + config.txt: move submodule part out to a separate file
871 + + config.txt: move sequence.editor out of "core" part
872 + + config.txt: move sendemail part out to a separate file
873 + + config.txt: move receive part out to a separate file
874 + + config.txt: move push part out to a separate file
875 + + config.txt: move pull part out to a separate file
876 + + config.txt: move gui part out to a separate file
877 + + config.txt: move gitcvs part out to a separate file
878 + + config.txt: move format part out to a separate file
879 + + config.txt: move fetch part out to a separate file
880 + + config.txt: follow camelCase naming
881 +
882 + Split Documentation/config.txt for easier maintenance.
883 +
884 + Will merge to 'master'.
885 +
886 +
887 +* sb/submodule-recursive-fetch-gets-the-tip (2018-09-12) 9 commits
888 + - builtin/fetch: check for submodule updates for non branch fetches
889 + - fetch: retry fetching submodules if sha1 were not fetched
890 + - submodule: fetch in submodules git directory instead of in worktree
891 + - submodule.c: do not copy around submodule list
892 + - submodule: move global changed_submodule_names into fetch submodule struct
893 + - submodule.c: sort changed_submodule_names before searching it
894 + - submodule.c: fix indentation
895 + - sha1-array: provide oid_array_filter
896 + - string-list: add string_list_{pop, last} functions
897 +
898 + "git fetch --recurse-submodules" may not fetch the necessary commit
899 + that is bound to the superproject, which is getting corrected.
900 +
901 + Expecting a reroll.
902 + cf. <CAGZ79kbavjVbTqXsmtjW6=jhkq47_p3mc6=92xOp4_mfhqDtvw@mail.gmail.com>
903 + cf. <b16af8c0-0435-0de4-ed6c-53888d6190af@ramsayjones.plus.com>
904 + cf. <CAGZ79kZKKf9N8yx9EuCRZhrZS_mA2218PouEG7aHDhK2bJGEdA@mail.gmail.com>
905 +
906 +
907 +* sg/split-index-test (2018-09-12) 2 commits
908 + (merged to 'next' on 2018-09-17 at aed95d1bb5)
909 + + t0090: disable GIT_TEST_SPLIT_INDEX for the test checking split index
910 + + t1700-split-index: drop unnecessary 'grep'
911 +
912 + Test updates.
913 +
914 + Will merge to 'master'.
915 +
916 +
917 +* tb/void-check-attr (2018-09-12) 1 commit
918 + (merged to 'next' on 2018-09-17 at 92f5473ff4)
919 + + Make git_check_attr() a void function
920 +
921 + Code clean-up.
922 +
923 + Will merge to 'master'.
924 +
925 +
926 +* tg/range-diff-corner-case-fix (2018-09-14) 1 commit
927 + (merged to 'next' on 2018-09-17 at b5cf2541e7)
928 + + linear-assignment: fix potential out of bounds memory access
929 +
930 + Recently added "range-diff" had a corner-case bug to cause it
931 + segfault, which has been corrected.
932 +
933 + Will merge to 'master'.
934 +
935 +
936 +* bp/rename-test-env-var (2018-09-20) 6 commits
937 + - t0000: do not get self-test disrupted by environment warnings
938 + - preload-index: update GIT_FORCE_PRELOAD_TEST support
939 + - read-cache: update TEST_GIT_INDEX_VERSION support
940 + - fsmonitor: update GIT_TEST_FSMONITOR support
941 + - preload-index: use git_env_bool() not getenv() for customization
942 + - t/README: correct spelling of "uncommon"
943 +
944 + Some environment variables that control the runtime options of Git
945 + used during tests are getting renamed for consistency.
946 +
947 + Waiting for review of the fix-up at the tip.
948 +
949 +
950 +* ab/commit-graph-progress (2018-09-20) 3 commits
951 + (merged to 'next' on 2018-09-20 at 24ca94b1d4)
952 + + gc: fix regression in 7b0f229222 impacting --quiet
953 + (merged to 'next' on 2018-09-17 at 6f82c695e4)
954 + + commit-graph verify: add progress output
955 + + commit-graph write: add progress output
956
957 Generation of (expermental) commit-graph files have so far been
958 fairly silent, even though it takes noticeable amount of time in a
959 meaningfully large repository. The users will now see progress
960 output.
961
370 - Will merge to 'next'.
962 + Will merge to 'master'.
963
964
965 * bw/protocol-v2 (2018-09-10) 1 commit
374 - - config: document value 2 for protocol.version
966 + (merged to 'next' on 2018-09-17 at 973a67bf55)
967 + + config: document value 2 for protocol.version
968
969 Doc fix.
970
378 - Will merge to 'next'.
971 + Will merge to 'master'.
972
973
974 * en/double-semicolon-fix (2018-09-05) 1 commit
382 - - Remove superfluous trailing semicolons
975 + (merged to 'next' on 2018-09-17 at dc3847b728)
976 + + Remove superfluous trailing semicolons
977
978 Code clean-up.
979
386 - Will merge to 'next'.
980 + Will merge to 'master'.
981
982
983 * en/rerere-multi-stage-1-fix (2018-09-11) 2 commits
390 - - rerere: avoid buffer overrun
391 - - t4200: demonstrate rerere segfault on specially crafted merge
984 + (merged to 'next' on 2018-09-17 at 07b9b319ab)
985 + + rerere: avoid buffer overrun
986 + + t4200: demonstrate rerere segfault on specially crafted merge
987
988 A corner case bugfix in "git rerere" code.
989
395 - Will merge to 'next'.
990 + Will merge to 'master'.
991
992
993 * jk/dev-build-format-security (2018-09-11) 1 commit
399 - - config.mak.dev: add -Wformat-security
994 + (merged to 'next' on 2018-09-17 at 36fbb6a88b)
995 + + config.mak.dev: add -Wformat-security
996
997 Build tweak to help developers.
998
403 - Will merge to 'next'.
999 + Will merge to 'master'.
1000
1001
1002 * jk/reopen-tempfile-truncate (2018-09-05) 1 commit
407 - - reopen_tempfile(): truncate opened file
1003 + (merged to 'next' on 2018-09-17 at 7c7a0608e0)
1004 + + reopen_tempfile(): truncate opened file
1005
1006 Fix for a long-standing bug that leaves the index file corrupt when
1007 it shrinks during a partial commit.
1008
412 - Will merge to 'next'.
1009 + Will merge to 'master'.
1010
1011
1012 * js/mingw-o-append (2018-09-11) 2 commits
416 - - mingw: fix mingw_open_append to work with named pipes
417 - - t0051: test GIT_TRACE to a windows named pipe
1013 + (merged to 'next' on 2018-09-17 at 5b6e9be48e)
1014 + + mingw: fix mingw_open_append to work with named pipes
1015 + + t0051: test GIT_TRACE to a windows named pipe
1016
1017 Further fix for O_APPEND emulation on Windows
1018
421 - Will merge to 'next'.
422 -
423 -
424 -* mk/http-backend-content-length (2018-09-11) 1 commit
425 - (merged to 'next' on 2018-09-11 at e8095fc635)
426 - + http-backend test: make empty CONTENT_LENGTH test more realistic
427 -
428 - Test update.
429 -
1019 Will merge to 'master'.
1020
1021
1022 * nd/test-tool (2018-09-11) 6 commits
434 - - Makefile: add a hint about TEST_BUILTINS_OBJS
435 - - t/helper: merge test-dump-fsmonitor into test-tool
436 - - t/helper: merge test-parse-options into test-tool
437 - - t/helper: merge test-pkt-line into test-tool
438 - - t/helper: merge test-dump-untracked-cache into test-tool
439 - - t/helper: keep test-tool command list sorted
1023 + (merged to 'next' on 2018-09-17 at decbf86eeb)
1024 + + Makefile: add a hint about TEST_BUILTINS_OBJS
1025 + + t/helper: merge test-dump-fsmonitor into test-tool
1026 + + t/helper: merge test-parse-options into test-tool
1027 + + t/helper: merge test-pkt-line into test-tool
1028 + + t/helper: merge test-dump-untracked-cache into test-tool
1029 + + t/helper: keep test-tool command list sorted
1030
1031 Test helper binaries clean-up.
1032
443 - Will merge to 'next'.
1033 + Will merge to 'master'.
1034
1035
1036 * sb/diff-color-move-more (2018-09-11) 1 commit
447 - - diff: fix --color-moved-ws=allow-indentation-change
1037 + (merged to 'next' on 2018-09-17 at 70c8d0fea8)
1038 + + diff: fix --color-moved-ws=allow-indentation-change
1039
1040 Bugfix.
1041
451 - Will merge to 'next'.
1042 + Will merge to 'master'.
1043
1044
1045 * sb/string-list-remove-unused (2018-09-11) 1 commit
455 - - string-list: remove unused function print_string_list
1046 + (merged to 'next' on 2018-09-17 at 9ecdec31d9)
1047 + + string-list: remove unused function print_string_list
1048
1049 Code clean-up.
1050
459 - Will merge to 'next'.
1051 + Will merge to 'master'.
1052
1053
1054 * sg/t3701-tighten-trace (2018-09-11) 1 commit
463 - - t3701-add-interactive: tighten the check of trace output
1055 + (merged to 'next' on 2018-09-17 at a3ed2d4df1)
1056 + + t3701-add-interactive: tighten the check of trace output
1057
1058 Test update.
1059
467 - Will merge to 'next'.
1060 + Will merge to 'master'.
1061
1062
1063 * ss/wt-status-committable (2018-09-07) 4 commits
@@ -484,115 +1077,27 @@ of the repositories listed at
1077 - WIP: roll wt_status_state into wt_status and populate in the collect phase
1078 (this branch uses ss/wt-status-committable.)
1079
1080 +
1081
1082
489 -* tz/t5551-with-curl-7.61.1 (2018-09-11) 1 commit
490 - - t5551-http-fetch-smart.sh: sort cookies before comparing
1083 +* tz/t5551-with-curl-7.61.1 (2018-09-17) 1 commit
1084 + (merged to 'next' on 2018-09-17 at a13e27d99e)
1085 + + t5551-http-fetch-smart.sh: sort cookies before comparing
1086
1087 Test fix.
1088
494 - Will merge to 'next'.
495 -
496 -
497 -* ab/fetch-tags-noclobber (2018-08-31) 9 commits
498 - (merged to 'next' on 2018-09-14 at 0384a7a8b4)
499 - + fetch: stop clobbering existing tags without --force
500 - + fetch: document local ref updates with/without --force
501 - + push doc: correct lies about how push refspecs work
502 - + push doc: move mention of "tag <tag>" later in the prose
503 - + push doc: remove confusing mention of remote merger
504 - + fetch tests: add a test for clobbering tag behavior
505 - + push tests: use spaces in interpolated string
506 - + push tests: make use of unused $1 in test description
507 - + fetch: change "branch" to "reference" in --force -h output
508 -
509 - The rules used by "git push" and "git fetch" to determine if a ref
510 - can or cannot be updated were inconsistent; specifically, fetching
511 - to update existing tags were allowed even though tags are supposed
512 - to be unmoving anchoring points. "git fetch" was taught to forbid
513 - updates to existing tags without the "--force" option.
514 -
515 - Will merge to 'master'.
516 - This is a backward incompatible change but in a good way; it may
517 - still need to be treated carefully.
518 -
519 -
520 -* es/worktree-forced-ops-fix (2018-09-05) 10 commits
521 - (merged to 'next' on 2018-09-14 at 1a0cc3204d)
522 - + doc-diff: force worktree add
523 - + worktree: delete .git/worktrees if empty after 'remove'
524 - + worktree: teach 'remove' to override lock when --force given twice
525 - + worktree: teach 'move' to override lock when --force given twice
526 - + worktree: teach 'add' to respect --force for registered but missing path
527 - + worktree: disallow adding same path multiple times
528 - + worktree: prepare for more checks of whether path can become worktree
529 - + worktree: generalize delete_git_dir() to reduce code duplication
530 - + worktree: move delete_git_dir() earlier in file for upcoming new callers
531 - + worktree: don't die() in library function find_worktree()
532 -
533 - Fix a bug in which the same path could be registered under multiple
534 - worktree entries if the path was missing (for instance, was removed
535 - manually). Also, as a convenience, expand the number of cases in
536 - which --force is applicable.
537 -
538 - Will merge to 'master'.
539 -
540 -
541 -* jk/patch-corrupted-delta-fix (2018-08-30) 6 commits
542 - (merged to 'next' on 2018-09-14 at 7517309cb0)
543 - + t5303: use printf to generate delta bases
544 - + patch-delta: handle truncated copy parameters
545 - + patch-delta: consistently report corruption
546 - + patch-delta: fix oob read
547 - + t5303: test some corrupt deltas
548 - + test-delta: read input into a heap buffer
549 -
550 - Malformed or crafted data in packstream can make our code attempt
551 - to read or write past the allocated buffer and abort, instead of
552 - reporting an error, which has been fixed.
553 -
554 - Will merge to 'master'.
555 -
556 -
557 -* jk/pack-objects-with-bitmap-fix (2018-09-04) 4 commits
558 - (merged to 'next' on 2018-09-14 at 392eb2abb1)
559 - + pack-bitmap: drop "loaded" flag
560 - + traverse_bitmap_commit_list(): don't free result
561 - + t5310: test delta reuse with bitmaps
562 - + bitmap_has_sha1_in_uninteresting(): drop BUG check
563 - (this branch uses jk/pack-delta-reuse-with-bitmap.)
564 -
565 - Hotfix of the base topic.
566 -
1089 Will merge to 'master'.
1090
1091
1092 * js/rebase-i-autosquash-fix (2018-09-04) 2 commits
571 - - rebase -i: be careful to wrap up fixup/squash chains
572 - - rebase -i --autosquash: demonstrate a problem skipping the last squash
1093 + (merged to 'next' on 2018-09-17 at cec540d24b)
1094 + + rebase -i: be careful to wrap up fixup/squash chains
1095 + + rebase -i --autosquash: demonstrate a problem skipping the last squash
1096
1097 "git rebase -i" did not clear the state files correctly when a run
1098 of "squash/fixup" is aborted and then the user manually amended the
1099 commit instead, which has been corrected.
1100
578 - Will merge to 'next'.
579 -
580 -
581 -* nd/bisect-show-list-fix (2018-09-04) 1 commit
582 - (merged to 'next' on 2018-09-14 at 18242da7ef)
583 - + bisect.c: make show_list() build again
584 -
585 - Debugging aid update.
586 -
587 - Will merge to 'master'.
588 -
589 -
590 -* sg/doc-trace-appends (2018-09-04) 1 commit
591 - (merged to 'next' on 2018-09-14 at 6d82abb8bf)
592 - + Documentation/git.txt: clarify that GIT_TRACE=/path appends
593 -
594 - Docfix.
595 -
1101 Will merge to 'master'.
1102
1103
@@ -608,51 +1113,6 @@ of the repositories listed at
1113 output over the text source. Opinions?
1114
1115
611 -* jk/diff-rendered-docs (2018-08-31) 5 commits
612 - (merged to 'next' on 2018-09-14 at 9b43d5a568)
613 - + doc/Makefile: drop doc-diff worktree and temporary files on "make clean"
614 - + doc-diff: add --clean mode to remove temporary working gunk
615 - + doc-diff: fix non-portable 'man' invocation
616 - + doc-diff: always use oids inside worktree
617 - (merged to 'next' on 2018-08-22 at dd7a2b71cd)
618 - + SubmittingPatches: mention doc-diff
619 -
620 - Dev doc update.
621 -
622 - Will merge to 'master'.
623 -
624 -
625 -* jk/pack-delta-reuse-with-bitmap (2018-08-21) 6 commits
626 - (merged to 'next' on 2018-08-22 at fc50b59dab)
627 - + pack-objects: reuse on-disk deltas for thin "have" objects
628 - + pack-bitmap: save "have" bitmap from walk
629 - + t/perf: add perf tests for fetches from a bitmapped server
630 - + t/perf: add infrastructure for measuring sizes
631 - + t/perf: factor out percent calculations
632 - + t/perf: factor boilerplate out of test_perf
633 - (this branch is used by jk/pack-objects-with-bitmap-fix.)
634 -
635 - When creating a thin pack, which allows objects to be made into a
636 - delta against another object that is not in the resulting pack but
637 - is known to be present on the receiving end, the code learned to
638 - take advantage of the reachability bitmap; this allows the server
639 - to send a delta against a base beyond the "boundary" commit.
640 -
641 - Will merge to 'master'.
642 -
643 -
644 -* jk/rev-list-stdin-noop-is-ok (2018-08-22) 1 commit
645 - (merged to 'next' on 2018-08-27 at d5916f7bc1)
646 - + rev-list: make empty --stdin not an error
647 -
648 - "git rev-list --stdin </dev/null" used to be an error; it now shows
649 - no output without an error. "git rev-list --stdin --default HEAD"
650 - still falls back to the given default when nothing is given on the
651 - standard input.
652 -
653 - Will merge to 'master'.
654 -
655 -
1116 * js/rebase-in-c-5.5-work-with-rebase-i-in-c (2018-09-06) 2 commits
1117 - builtin rebase: prepare for builtin rebase -i
1118 - Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c
@@ -663,120 +1123,24 @@ of the repositories listed at
1123 between two GSoC topics that stomped on each other's toes.
1124
1125
666 -* jk/trailer-fixes (2018-08-23) 8 commits
667 - (merged to 'next' on 2018-08-27 at 93b671b8c6)
668 - + append_signoff: use size_t for string offsets
669 - + sequencer: ignore "---" divider when parsing trailers
670 - + pretty, ref-filter: format %(trailers) with no_divider option
671 - + interpret-trailers: allow suppressing "---" divider
672 - + interpret-trailers: tighten check for "---" patch boundary
673 - + trailer: pass process_trailer_opts to trailer_info_get()
674 - + trailer: use size_t for iterating trailer list
675 - + trailer: use size_t for string offsets
676 -
677 - "git interpret-trailers" and its underlying machinery had a buggy
678 - code that attempted to ignore patch text after commit log message,
679 - which triggered in various codepaths that will always get the log
680 - message alone and never get such an input.
681 -
682 - Will merge to 'master'.
683 -
684 -
685 -* tg/rerere-doc-updates (2018-08-29) 2 commits
686 - (merged to 'next' on 2018-08-31 at ce4fef1a97)
687 - + rerere: add note about files with existing conflict markers
688 - + rerere: mention caveat about unmatched conflict markers
689 - (this branch uses tg/rerere.)
690 -
691 - Clarify a part of technical documentation for rerere.
692 -
693 - Will merge to 'master'.
694 -
695 -
696 -* ds/commit-graph-tests (2018-08-29) 1 commit
697 - (merged to 'next' on 2018-09-14 at d072a0ee3e)
698 - + commit-graph: define GIT_TEST_COMMIT_GRAPH
699 -
700 - We can now optionally run tests with commit-graph enabled.
701 -
702 - Will merge to 'master'.
703 -
704 -
705 -* jk/cocci (2018-08-29) 9 commits
706 - (merged to 'next' on 2018-08-31 at 914b4f17ce)
707 - + show_dirstat: simplify same-content check
708 - + read-cache: use oideq() in ce_compare functions
709 - + convert hashmap comparison functions to oideq()
710 - + convert "hashcmp() != 0" to "!hasheq()"
711 - + convert "oidcmp() != 0" to "!oideq()"
712 - + convert "hashcmp() == 0" to hasheq()
713 - + convert "oidcmp() == 0" to oideq()
714 - + introduce hasheq() and oideq()
715 - + coccinelle: use <...> for function exclusion
716 -
717 - spatch transformation to replace boolean uses of !hashcmp() to
718 - newly introduced oideq() is added, and applied, to regain
719 - performance lost due to support of multiple hash algorithms.
720 -
721 - Will merge to 'master'.
722 -
723 -
1126 * js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit
1127 - add -p: coalesce hunks before testing applicability
1128
727 - Applicability check after a patch is edited in a "git add -i/p"
728 - session has been improved.
729 -
730 - Will hold.
731 - cf. <e5b2900a-0558-d3bf-8ea1-d526b078bbc2@talktalk.net>
732 -
733 -
734 -* rs/mailinfo-format-flowed (2018-08-29) 1 commit
735 - (merged to 'next' on 2018-08-31 at 9e8b92176c)
736 - + mailinfo: support format=flowed
737 -
738 - "git mailinfo" used in "git am" learned to make a best-effort
739 - recovery of a patch corrupted by MUA that sends text/plain with
740 - format=flawed option.
741 -
742 - Will merge to 'master'.
743 -
744 -
745 -* tg/conflict-marker-size (2018-08-29) 1 commit
746 - (merged to 'next' on 2018-08-31 at 12099161f0)
747 - + .gitattributes: add conflict-marker-size for relevant files
748 -
749 - Developer aid.
750 -
751 - Will merge to 'master'.
752 -
753 -
754 -* ts/doc-build-manpage-xsl-quietly (2018-08-29) 1 commit
755 - (merged to 'next' on 2018-08-31 at 7527e0f8d3)
756 - + Documentation/Makefile: make manpage-base-url.xsl generation quieter
757 -
758 - Build tweak.
759 -
760 - Will merge to 'master'.
761 -
762 -
763 -* bp/checkout-new-branch-optim (2018-08-16) 1 commit
764 - (merged to 'next' on 2018-08-27 at e69bfd115f)
765 - + checkout: optimize "git checkout -b <new_branch>"
766 -
767 - "git checkout -b newbranch [HEAD]" should not have to do as much as
768 - checking out a commit different from HEAD. An attempt is made to
769 - optimize this special case.
770 -
771 - Will merge to 'master'.
1129 + Applicability check after a patch is edited in a "git add -i/p"
1130 + session has been improved.
1131 +
1132 + Will hold.
1133 + cf. <e5b2900a-0558-d3bf-8ea1-d526b078bbc2@talktalk.net>
1134
1135
774 -* ao/submodule-wo-gitmodules-checked-out (2018-08-14) 7 commits
775 - - submodule: support reading .gitmodules even when it's not checked out
1136 +* ao/submodule-wo-gitmodules-checked-out (2018-09-17) 9 commits
1137 + - submodule: support reading .gitmodules when it's not in the working tree
1138 + - submodule: add a helper to check if it is safe to write to .gitmodules
1139 - t7506: clean up .gitmodules properly before setting up new scenario
1140 - submodule: use the 'submodule--helper config' command
1141 - submodule--helper: add a new 'config' subcommand
1142 - t7411: be nicer to future tests and really clean things up
1143 + - t7411: merge tests 5 and 6
1144 - submodule: factor out a config_set_in_gitmodules_file_gently function
1145 - submodule: add a print_config_from_gitmodules() helper
1146
@@ -784,43 +1148,25 @@ of the repositories listed at
1148 HEAD:.gitmodules when the .gitmodules file is missing from the
1149 working tree.
1150
787 - Expecting a reroll.
788 -
789 - I find the design a bit iffy in that our usual "missing in the
790 - working tree? let's use the latest blob" fallback is to take it
791 - from the index, not from the HEAD.
792 -
793 -
794 -* cc/delta-islands (2018-08-16) 7 commits
795 - (merged to 'next' on 2018-08-27 at cf3d7bd93f)
796 - + pack-objects: move 'layer' into 'struct packing_data'
797 - + pack-objects: move tree_depth into 'struct packing_data'
798 - + t5320: tests for delta islands
799 - + repack: add delta-islands support
800 - + pack-objects: add delta-islands support
801 - + pack-objects: refactor code into compute_layer_order()
802 - + Add delta-islands.{c,h}
803 -
804 - Lift code from GitHub to restrict delta computation so that an
805 - object that exists in one fork is not made into a delta against
806 - another object that does not appear in the same forked repository.
807 -
808 - Will merge to 'master'.
1151 + Object-store access needs to be protected from multi-threading.
1152 + cf. <20180918171257.GC27036@localhost>
1153 + cf. <20180920173552.6109014827a062dcf3821632@ao2.it>
1154
1155
1156 * md/filter-trees (2018-09-14) 7 commits
812 - - list-objects-filter: implement filter tree:0
813 - - list-objects-filter: use BUG rather than die
814 - - revision: mark non-user-given objects instead
815 - - rev-list: handle missing tree objects properly
816 - - list-objects: always parse trees gently
817 - - list-objects: refactor to process_tree_contents
818 - - list-objects: store common func args in struct
1157 + (merged to 'next' on 2018-09-17 at ad07a3ebcf)
1158 + + list-objects-filter: implement filter tree:0
1159 + + list-objects-filter: use BUG rather than die
1160 + + revision: mark non-user-given objects instead
1161 + + rev-list: handle missing tree objects properly
1162 + + list-objects: always parse trees gently
1163 + + list-objects: refactor to process_tree_contents
1164 + + list-objects: store common func args in struct
1165
1166 The "rev-list --filter" feature learned to exclude all trees via
1167 "tree:0" filter.
1168
823 - Will merge to 'next'.
1169 + Will merge to 'master'.
1170 The test scripts need to be cleaned up.
1171
1172
@@ -910,71 +1256,6 @@ of the repositories listed at
1256 - sha1-name.c: add `get_oidf()` which acts like `get_oid()`
1257
1258
913 -* nd/clone-case-smashing-warning (2018-08-17) 1 commit
914 - (merged to 'next' on 2018-08-22 at eedae40a8d)
915 - + clone: report duplicate entries on case-insensitive filesystems
916 -
917 - Running "git clone" against a project that contain two files with
918 - pathnames that differ only in cases on a case insensitive
919 - filesystem would result in one of the files lost because the
920 - underlying filesystem is incapable of holding both at the same
921 - time. An attempt is made to detect such a case and warn.
922 -
923 - Will merge to 'master'.
924 -
925 -
926 -* nd/unpack-trees-with-cache-tree (2018-08-27) 8 commits
927 - (merged to 'next' on 2018-08-27 at b1d841d034)
928 - + Document update for nd/unpack-trees-with-cache-tree
929 - (merged to 'next' on 2018-08-22 at 138b902673)
930 - + cache-tree: verify valid cache-tree in the test suite
931 - + unpack-trees: add missing cache invalidation
932 - + unpack-trees: reuse (still valid) cache-tree from src_index
933 - + unpack-trees: reduce malloc in cache-tree walk
934 - + unpack-trees: optimize walking same trees with cache-tree
935 - + unpack-trees: add performance tracing
936 - + trace.h: support nested performance tracing
937 -
938 - The unpack_trees() API used in checking out a branch and merging
939 - walks one or more trees along with the index. When the cache-tree
940 - in the index tells us that we are walking a tree whose flattened
941 - contents is known (i.e. matches a span in the index), as linearly
942 - scanning a span in the index is much more efficient than having to
943 - open tree objects recursively and listing their entries, the walk
944 - can be optimized, which is done in this topic.
945 -
946 - Will merge to 'master'.
947 -
948 -
949 -* sb/range-diff-colors (2018-08-20) 11 commits
950 - (merged to 'next' on 2018-08-22 at eb7ed4fca3)
951 - + range-diff: indent special lines as context
952 - + range-diff: make use of different output indicators
953 - + diff.c: add --output-indicator-{new, old, context}
954 - + diff.c: rewrite emit_line_0 more understandably
955 - + diff.c: omit check for line prefix in emit_line_0
956 - + diff: use emit_line_0 once per line
957 - + diff.c: add set_sign to emit_line_0
958 - + diff.c: reorder arguments for emit_line_ws_markup
959 - + diff.c: simplify caller of emit_line_0
960 - + t3206: add color test for range-diff --dual-color
961 - + test_decode_color: understand FAINT and ITALIC
962 -
963 - The color output support for recently introduced "range-diff"
964 - command got tweaked a bit.
965 -
966 - Will merge to 'master'.
967 -
968 -
969 -* sg/t1404-update-ref-test-timeout (2018-08-01) 1 commit
970 - (merged to 'next' on 2018-08-22 at f3cd37b5ea)
971 - + t1404: increase core.packedRefsTimeout to avoid occasional test failure
972 -
973 - An attempt to unflake a test a bit.
974 -
975 - Will merge to 'master'.
976 -
977 -
1259 * pw/add-p-select (2018-07-26) 4 commits
1260 - add -p: optimize line selection for short hunks
1261 - add -p: allow line selection to be inverted
@@ -1007,81 +1288,12 @@ of the repositories listed at
1288 based on its use (and updating existing commit-graph) when these
1289 incompatible features are in use in the repository.
1290
1010 - Replaced with a newer version.
1011 -
1012 -
1013 -* ds/reachable (2018-08-28) 19 commits
1014 - (merged to 'next' on 2018-08-28 at b1634b371d)
1015 - + commit-reach: correct accidental #include of C file
1016 - (merged to 'next' on 2018-08-22 at 17f3275afb)
1017 - + commit-reach: use can_all_from_reach
1018 - + commit-reach: make can_all_from_reach... linear
1019 - + commit-reach: replace ref_newer logic
1020 - + test-reach: test commit_contains
1021 - + test-reach: test can_all_from_reach_with_flags
1022 - + test-reach: test reduce_heads
1023 - + test-reach: test get_merge_bases_many
1024 - + test-reach: test is_descendant_of
1025 - + test-reach: test in_merge_bases
1026 - + test-reach: create new test tool for ref_newer
1027 - + commit-reach: move can_all_from_reach_with_flags
1028 - + upload-pack: generalize commit date cutoff
1029 - + upload-pack: refactor ok_to_give_up()
1030 - + upload-pack: make reachable() more generic
1031 - + commit-reach: move commit_contains from ref-filter
1032 - + commit-reach: move ref_newer from remote.c
1033 - + commit.h: remove method declarations
1034 - + commit-reach: move walk methods from commit.c
1035 -
1036 - The code for computing history reachability has been shuffled,
1037 - obtained a bunch of new tests to cover them, and then being
1038 - improved.
1039 -
1040 - Will merge to 'master'.
1041 -
1042 -
1043 -* es/format-patch-interdiff (2018-07-23) 6 commits
1044 - (merged to 'next' on 2018-08-31 at 63927e0227)
1045 - + format-patch: allow --interdiff to apply to a lone-patch
1046 - + log-tree: show_log: make commentary block delimiting reusable
1047 - + interdiff: teach show_interdiff() to indent interdiff
1048 - + format-patch: teach --interdiff to respect -v/--reroll-count
1049 - + format-patch: add --interdiff option to embed diff in cover letter
1050 - + format-patch: allow additional generated content in make_cover_letter()
1051 - (this branch is used by ds/format-patch-range-diff-test and es/format-patch-rangediff.)
1052 -
1053 - "git format-patch" learned a new "--interdiff" option to explain
1054 - the difference between this version and the previous atttempt in
1055 - the cover letter (or after the tree-dashes as a comment).
1056 -
1057 - Will merge to 'master'.
1058 -
1059 -
1060 -* es/format-patch-rangediff (2018-08-14) 10 commits
1061 - (merged to 'next' on 2018-08-31 at 65627afece)
1062 - + format-patch: allow --range-diff to apply to a lone-patch
1063 - + format-patch: add --creation-factor tweak for --range-diff
1064 - + format-patch: teach --range-diff to respect -v/--reroll-count
1065 - + format-patch: extend --range-diff to accept revision range
1066 - + format-patch: add --range-diff option to embed diff in cover letter
1067 - + range-diff: relieve callers of low-level configuration burden
1068 - + range-diff: publish default creation factor
1069 - + range-diff: respect diff_option.file rather than assuming 'stdout'
1070 - + Merge branch 'es/format-patch-interdiff' into es/format-patch-rangediff
1071 - + Merge branch 'js/range-diff' into es/format-patch-rangediff
1072 - (this branch is used by ds/format-patch-range-diff-test; uses es/format-patch-interdiff.)
1073 -
1074 - "git format-patch" learned a new "--range-diff" option to explain
1075 - the difference between this version and the previous attempt in
1076 - the cover letter (or after the tree-dashes as a comment).
1077 -
1078 - Will merge to 'master'.
1291 + Will merge to 'next'.
1292
1293
1081 -* jn/gc-auto (2018-07-17) 3 commits
1294 +* jn/gc-auto (2018-07-17) 1 commit
1295 - gc: do not return error for prior errors in daemonized mode
1083 - - gc: exit with status 128 on failure
1084 - - gc: improve handling of errors reading gc.log
1296 + (this branch uses jn/gc-auto-prep.)
1297
1298 "gc --auto" ended up calling exit(-1) upon error, which has been
1299 corrected to use exit(1). Also the error reporting behaviour when
@@ -1090,44 +1302,7 @@ of the repositories listed at
1302 point running gc to improve the situation); we used to exit with
1303 failure in such a case.
1304
1093 - What's the donness of this one?
1094 - cf. <20180717201348.GD26218@sigill.intra.peff.net>
1095 -
1096 -
1097 -* sb/submodule-update-in-c (2018-08-14) 7 commits
1098 - (merged to 'next' on 2018-08-17 at 23c81e5ff7)
1099 - + submodule--helper: introduce new update-module-mode helper
1100 - + submodule--helper: replace connect-gitdir-workingtree by ensure-core-worktree
1101 - + builtin/submodule--helper: factor out method to update a single submodule
1102 - + builtin/submodule--helper: store update_clone information in a struct
1103 - + builtin/submodule--helper: factor out submodule updating
1104 - + git-submodule.sh: rename unused variables
1105 - + git-submodule.sh: align error reporting for update mode to use path
1106 -
1107 - "git submodule update" is getting rewritten piece-by-piece into C.
1108 -
1109 - Will merge to 'master'.
1110 -
1111 -
1112 -* tg/rerere (2018-08-06) 11 commits
1113 - (merged to 'next' on 2018-08-17 at 919a958cdc)
1114 - + rerere: recalculate conflict ID when unresolved conflict is committed
1115 - + rerere: teach rerere to handle nested conflicts
1116 - + rerere: return strbuf from handle path
1117 - + rerere: factor out handle_conflict function
1118 - + rerere: only return whether a path has conflicts or not
1119 - + rerere: fix crash with files rerere can't handle
1120 - + rerere: add documentation for conflict normalization
1121 - + rerere: mark strings for translation
1122 - + rerere: wrap paths in output in sq
1123 - + rerere: lowercase error messages
1124 - + rerere: unify error messages when read_cache fails
1125 - (this branch is used by tg/rerere-doc-updates.)
1126 -
1127 - Fixes to "git rerere" corner cases, especially when conflict
1128 - markers cannot be parsed in the file.
1129 -
1130 - Will merge to 'master'.
1305 + cf. <20180917182639.GB140909@aiede.svl.corp.google.com>
1306
1307
1308 * ag/rebase-i-in-c (2018-08-29) 20 commits
@@ -1174,63 +1349,6 @@ of the repositories listed at
1349
1350 Rewrite of the "rebase" machinery in C.
1351
1177 -
1178 -* jk/branch-l-1-repurpose (2018-08-30) 2 commits
1179 - (merged to 'next' on 2018-08-31 at cfa73bbfcb)
1180 - + doc/git-branch: remove obsolete "-l" references
1181 - (merged to 'next' on 2018-08-08 at d2a08dd08e)
1182 - + branch: make "-l" a synonym for "--list"
1183 -
1184 - Updated plan to repurpose the "-l" option to "git branch".
1185 -
1186 - Will merge to 'master'.
1187 -
1188 -
1189 -* ds/multi-pack-index (2018-08-20) 33 commits
1190 - (merged to 'next' on 2018-08-21 at d15e8cadd4)
1191 - + pack-objects: consider packs in multi-pack-index
1192 - + midx: test a few commands that use get_all_packs
1193 - + treewide: use get_all_packs
1194 - + packfile: add all_packs list
1195 - + midx: fix bug that skips midx with alternates
1196 - + midx: stop reporting garbage
1197 - + midx: mark bad packed objects
1198 - + multi-pack-index: store local property
1199 - + multi-pack-index: provide more helpful usage info
1200 - + Sync 'ds/multi-pack-index' to v2.19.0-rc0
1201 - (merged to 'next' on 2018-08-08 at 1a56c52967)
1202 - + midx: clear midx on repack
1203 - + packfile: skip loading index if in multi-pack-index
1204 - + midx: prevent duplicate packfile loads
1205 - + midx: use midx in approximate_object_count
1206 - + midx: use existing midx when writing new one
1207 - + midx: use midx in abbreviation calculations
1208 - + midx: read objects from multi-pack-index
1209 - + config: create core.multiPackIndex setting
1210 - + midx: write object offsets
1211 - + midx: write object id fanout chunk
1212 - + midx: write object ids in a chunk
1213 - + midx: sort and deduplicate objects from packfiles
1214 - + midx: read pack names into array
1215 - + multi-pack-index: write pack names in chunk
1216 - + multi-pack-index: read packfile list
1217 - + packfile: generalize pack directory list
1218 - + t5319: expand test data
1219 - + multi-pack-index: load into memory
1220 - + midx: write header information to lockfile
1221 - + multi-pack-index: add 'write' verb
1222 - + multi-pack-index: add builtin
1223 - + multi-pack-index: add format details
1224 - + multi-pack-index: add design document
1225 - (this branch is used by ds/multi-pack-verify.)
1226 -
1227 - When there are too many packfiles in a repository (which is not
1228 - recommended), looking up an object in these would require
1229 - consulting many pack .idx files; a new mechanism to have a single
1230 - file that consolidates all of these .idx files is introduced.
1231 -
1232 - Will merge to 'master'.
1233 -
1352 --------------------------------------------------
1353 [Discarded]
1354