What's cooking (2018/08 #03)
Junio C Hamano committed
Aug 15, 2018 at 16:01 UTC
a63be2f9bef440655fa710c2d98cccc75108cbfe
1 file changed
+1044
-651
whats-cooking.txt
+1044
-651
@@ -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, #02; Mon, 6)
4
-X-master-at: 1d89318c48d233d52f1db230cf622935ac3c69fa
5
-X-next-at: 1932418f4676b98c810dd5182aeba50bbd7c02d4
3
+Subject: What's cooking in git.git (Aug 2018, #03; Wed, 15)
4
+X-master-at: 63749b2dea5d1501ff85bab7b8a7f64911d21dea
5
+X-next-at: a543ac7ca4538799a4ba8d9b2640e17e2fdf406f
6
7
-What's cooking in git.git (Aug 2018, #02; Mon, 6)
7
+What's cooking in git.git (Aug 2018, #03; Wed, 15)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -17,109 +17,759 @@ of the repositories listed at
17
18
http://git-blame.blogspot.com/p/git-public-repositories.html
19
20
+--------------------------------------------------
21
+[Graduated to "master"]
22
+
23
+* bb/make-developer-pedantic (2018-07-25) 1 commit
24
+ (merged to 'next' on 2018-08-02 at c738a84b7e)
25
+ + Makefile: add a DEVOPTS flag to get pedantic compilation
26
+
27
+ "make DEVELOPER=1 DEVOPTS=pedantic" allows developers to compile
28
+ with -pedantic option, which may catch more problematic program
29
+ constructs and potential bugs.
30
+
31
+
32
+* bb/redecl-enum-fix (2018-07-26) 1 commit
33
+ (merged to 'next' on 2018-08-06 at 828dc4b156)
34
+ + packfile: ensure that enum object_type is defined
35
+
36
+ Compilation fix.
37
+
38
+
39
+* bw/clone-ref-prefixes (2018-07-20) 1 commit
40
+ (merged to 'next' on 2018-08-02 at c8ad140ab0)
41
+ + clone: send ref-prefixes when using protocol v2
42
+
43
+ The wire-protocol v2 relies on the client to send "ref prefixes" to
44
+ limit the bandwidth spent on the initial ref advertisement. "git
45
+ clone" when learned to speak v2 forgot to do so, which has been
46
+ corrected.
47
+
48
+
49
+* bw/fetch-pack-i18n (2018-07-23) 1 commit
50
+ (merged to 'next' on 2018-08-02 at df72001755)
51
+ + fetch-pack: mark die strings for translation
52
+
53
+ i18n updates.
54
+
55
+
56
+* bw/protocol-v2 (2018-07-24) 1 commit
57
+ (merged to 'next' on 2018-08-02 at f4076b3e94)
58
+ + pack-protocol: mention and point to docs for protocol v2
59
+
60
+ Doc update.
61
+
62
+
63
+* cb/p4-pre-submit-hook (2018-08-01) 1 commit
64
+ (merged to 'next' on 2018-08-06 at e40ae4af80)
65
+ + git-p4: add the `p4-pre-submit` hook
66
+
67
+ "git p4 submit" learns to ask its own pre-submit hook if it should
68
+ continue with submitting.
69
+
70
+
71
+* en/merge-recursive-skip-fix (2018-07-27) 2 commits
72
+ (merged to 'next' on 2018-08-06 at 9ab321a15c)
73
+ + merge-recursive: preserve skip_worktree bit when necessary
74
+ + t3507: add a testcase showing failure with sparse checkout
75
+
76
+ When the sparse checkout feature is in use, "git cherry-pick" and
77
+ other mergy operations lost the skip_worktree bit when a path that
78
+ is excluded from checkout requires content level merge, which is
79
+ resolved as the same as the HEAD version, without materializing the
80
+ merge result in the working tree, which made the path appear as
81
+ deleted. This has been corrected by preserving the skip_worktree
82
+ bit (and not materializing the file in the working tree).
83
+
84
+
85
+* es/diff-color-moved-fix (2018-07-25) 1 commit
86
+ (merged to 'next' on 2018-08-02 at 233bccfbfb)
87
+ + diff: --color-moved: rename "dimmed_zebra" to "dimmed-zebra"
88
+
89
+ One of the "diff --color-moved" mode "dimmed_zebra" that was named
90
+ in an unusual way has been deprecated and replaced by
91
+ "dimmed-zebra".
92
+
93
+
94
+* es/mw-to-git-chain-fix (2018-07-31) 1 commit
95
+ (merged to 'next' on 2018-08-06 at c10246e1c8)
96
+ + mw-to-git/t9360: fix broken &&-chain
97
+
98
+ Test fix.
99
+
100
+
101
+* hs/gpgsm (2018-07-20) 7 commits
102
+ (merged to 'next' on 2018-08-02 at db28bffe4f)
103
+ + gpg-interface t: extend the existing GPG tests with GPGSM
104
+ + gpg-interface: introduce new signature format "x509" using gpgsm
105
+ + gpg-interface: introduce new config to select per gpg format program
106
+ + gpg-interface: do not hardcode the key string len anymore
107
+ + gpg-interface: introduce an abstraction for multiple gpg formats
108
+ + t/t7510: check the validation of the new config gpg.format
109
+ + gpg-interface: add new config to select how to sign a commit
110
+
111
+ Teach "git tag -s" etc. a few configuration variables (gpg.format
112
+ that can be set to "openpgp" or "x509", and gpg.<format>.program
113
+ that is used to specify what program to use to deal with the format)
114
+ to allow x.509 certs with CMS via "gpgsm" to be used instead of
115
+ openpgp via "gnupg".
116
+
117
+
118
+* jh/json-writer (2018-07-16) 1 commit
119
+ (merged to 'next' on 2018-08-02 at d841450c7d)
120
+ + json_writer: new routines to create JSON data
121
+ (this branch is used by jh/structured-logging.)
122
+
123
+ Preparatory code to later add json output for telemetry data.
124
+
125
+
126
+* jk/banned-function (2018-07-26) 5 commits
127
+ (merged to 'next' on 2018-08-06 at 3dcd1999df)
128
+ + banned.h: mark strncpy() as banned
129
+ + banned.h: mark sprintf() as banned
130
+ + banned.h: mark strcat() as banned
131
+ + automatically ban strcpy()
132
+ + Merge branch 'sb/blame-color' into jk/banned-function
133
+
134
+ It is too easy to misuse system API functions such as strcat();
135
+ these selected functions are now forbidden in this codebase and
136
+ will cause a compilation failure.
137
+
138
+
139
+* jk/core-use-replace-refs (2018-07-18) 3 commits
140
+ (merged to 'next' on 2018-08-02 at 90fb6b1056)
141
+ + add core.usereplacerefs config option
142
+ + check_replace_refs: rename to read_replace_refs
143
+ + check_replace_refs: fix outdated comment
144
+
145
+ A new configuration variable core.usereplacerefs has been added,
146
+ primarily to help server installations that want to ignore the
147
+ replace mechanism altogether.
148
+
149
+
150
+* jk/size-t (2018-07-24) 6 commits
151
+ (merged to 'next' on 2018-08-02 at 6f861e05f0)
152
+ + strbuf_humanise: use unsigned variables
153
+ + pass st.st_size as hint for strbuf_readlink()
154
+ + strbuf_readlink: use ssize_t
155
+ + strbuf: use size_t for length in intermediate variables
156
+ + reencode_string: use size_t for string lengths
157
+ + reencode_string: use st_add/st_mult helpers
158
+
159
+ Code clean-up to use size_t/ssize_t when they are the right type.
160
+
161
+
162
+* jk/ui-color-always-to-auto (2018-07-18) 1 commit
163
+ (merged to 'next' on 2018-08-02 at 1a054baf0e)
164
+ + Documentation: fix --color option formatting
165
+
166
+ Doc formatting fix.
167
+
168
+
169
+* jn/subtree-test-fixes (2018-07-30) 2 commits
170
+ (merged to 'next' on 2018-08-06 at 62f21c328f)
171
+ + subtree test: simplify preparation of expected results
172
+ + subtree test: add missing && to &&-chain
173
+
174
+ Test fix.
175
+
176
+
177
+* js/t7406-recursive-submodule-update-order-fix (2018-07-23) 1 commit
178
+ (merged to 'next' on 2018-08-02 at 217ea36a37)
179
+ + t7406: avoid failures solely due to timing issues
180
+
181
+ Test fix.
182
+
183
+
184
+* js/vscode (2018-07-30) 9 commits
185
+ (merged to 'next' on 2018-08-06 at 5c578b63a8)
186
+ + vscode: let cSpell work on commit messages, too
187
+ + vscode: add a dictionary for cSpell
188
+ + vscode: use 8-space tabs, no trailing ws, etc for Git's source code
189
+ + vscode: wrap commit messages at column 72 by default
190
+ + vscode: only overwrite C/C++ settings
191
+ + mingw: define WIN32 explicitly
192
+ + cache.h: extract enum declaration from inside a struct declaration
193
+ + vscode: hard-code a couple defines
194
+ + contrib: add a script to initialize VS Code configuration
195
+
196
+ Add a script (in contrib/) to help users of VSCode work better with
197
+ our codebase.
198
+
199
+
200
+* jt/connectivity-check-after-unshallow (2018-08-01) 1 commit
201
+ (merged to 'next' on 2018-08-06 at 1932418f46)
202
+ + fetch-pack: unify ref in and out param
203
+
204
+ "git fetch" sometimes failed to update the remote-tracking refs,
205
+ which has been corrected.
206
+
207
+
208
+* jt/tag-following-with-proto-v2-fix (2018-07-24) 2 commits
209
+ (merged to 'next' on 2018-08-02 at d9eabdea95)
210
+ + fetch: send "refs/tags/" prefix upon CLI refspecs
211
+ + t5702: test fetch with multiple refspecs at a time
212
+
213
+ The wire-protocol v2 relies on the client to send "ref prefixes" to
214
+ limit the bandwidth spent on the initial ref advertisement. "git
215
+ fetch $remote branch:branch" that asks tags that point into the
216
+ history leading to the "branch" automatically followed sent to
217
+ narrow prefix and broke the tag following, which has been fixed.
218
+
219
+
220
+* ms/http-proto-doc (2018-07-30) 1 commit
221
+ (merged to 'next' on 2018-08-06 at df1cac9945)
222
+ + doc: fix want-capability separator
223
+
224
+ Doc fix.
225
+
226
+
227
+* nd/i18n (2018-07-23) 23 commits
228
+ (merged to 'next' on 2018-08-02 at 904a22a5d1)
229
+ + transport-helper.c: mark more strings for translation
230
+ + transport.c: mark more strings for translation
231
+ + sha1-file.c: mark more strings for translation
232
+ + sequencer.c: mark more strings for translation
233
+ + replace-object.c: mark more strings for translation
234
+ + refspec.c: mark more strings for translation
235
+ + refs.c: mark more strings for translation
236
+ + pkt-line.c: mark more strings for translation
237
+ + object.c: mark more strings for translation
238
+ + exec-cmd.c: mark more strings for translation
239
+ + environment.c: mark more strings for translation
240
+ + dir.c: mark more strings for translation
241
+ + convert.c: mark more strings for translation
242
+ + connect.c: mark more strings for translation
243
+ + config.c: mark more strings for translation
244
+ + commit-graph.c: mark more strings for translation
245
+ + builtin/replace.c: mark more strings for translation
246
+ + builtin/pack-objects.c: mark more strings for translation
247
+ + builtin/grep.c: mark strings for translation
248
+ + builtin/config.c: mark more strings for translation
249
+ + archive-zip.c: mark more strings for translation
250
+ + archive-tar.c: mark more strings for translation
251
+ + Update messages in preparation for i18n
252
+
253
+ Many more strings are prepared for l10n.
254
+
255
+
256
+* nd/pack-objects-threading-doc (2018-07-30) 1 commit
257
+ (merged to 'next' on 2018-08-06 at cc8c305191)
258
+ + pack-objects: document about thread synchronization
259
+
260
+ Doc fix.
261
+
262
+
263
+* rs/remote-mv-leakfix (2018-08-01) 1 commit
264
+ (merged to 'next' on 2018-08-06 at 999fe6d3e5)
265
+ + remote: clear string_list after use in mv()
266
+
267
+ Leakfix.
268
+
269
+
270
+* sb/histogram-less-memory (2018-07-23) 4 commits
271
+ (merged to 'next' on 2018-08-02 at cfb02aa3b5)
272
+ + xdiff/histogram: remove tail recursion
273
+ + xdiff/xhistogram: move index allocation into find_lcs
274
+ + xdiff/xhistogram: factor out memory cleanup into free_index()
275
+ + xdiff/xhistogram: pass arguments directly to fall_back_to_classic_diff
276
+
277
+ "git diff --histogram" had a bad memory usage pattern, which has
278
+ been rearranged to reduce the peak usage.
279
+
280
+
281
+* sb/trailers-docfix (2018-07-20) 1 commit
282
+ (merged to 'next' on 2018-08-02 at ba348fafcd)
283
+ + Documentation/git-interpret-trailers: explain possible values
284
+
285
+ Doc update.
286
+
287
+
288
+* sg/coccicheck-updates (2018-07-23) 5 commits
289
+ (merged to 'next' on 2018-08-02 at b5548ff3a9)
290
+ + coccinelle: extract dedicated make target to clean Coccinelle's results
291
+ + coccinelle: put sane filenames into output patches
292
+ + coccinelle: exclude sha1dc source files from static analysis
293
+ + coccinelle: use $(addsuffix) in 'coccicheck' make target
294
+ + coccinelle: mark the 'coccicheck' make target as .PHONY
295
+
296
+ Update the way we use Coccinelle to find out-of-style code that
297
+ need to be modernised.
298
+
299
+
300
+* sg/fast-import-dump-refs-on-checkpoint-fix (2018-07-20) 1 commit
301
+ (merged to 'next' on 2018-08-02 at f5c05b5a2c)
302
+ + t9300: wait for background fast-import process to die after killing it
303
+
304
+ Test update.
305
+
306
+
307
+* sg/travis-cocci-diagnose-failure (2018-07-23) 2 commits
308
+ (merged to 'next' on 2018-08-02 at 54808a8778)
309
+ + travis-ci: fail if Coccinelle static analysis found something to transform
310
+ + travis-ci: run Coccinelle static analysis with two parallel jobs
311
+
312
+ Update the way we run static analysis tool at TravisCI to make it
313
+ easier to use its findings.
314
+
315
+
316
+* sg/travis-retrieve-trash-upon-failure (2018-08-01) 1 commit
317
+ (merged to 'next' on 2018-08-06 at d67def2a92)
318
+ + travis-ci: include the trash directories of failed tests in the trace log
319
+
320
+ The Travis CI scripts were taught to ship back the test data from
321
+ failed tests.
322
+
323
--------------------------------------------------
324
[New Topics]
325
23
-* js/rebase-merges-exec-fix (2018-08-06) 2 commits
24
- - rebase --exec: make it work with --rebase-merges
25
- - t3430: demonstrate what -r, --autosquash & --exec should do
326
+* en/t7406-fixes (2018-08-08) 5 commits
327
+ (merged to 'next' on 2018-08-15 at c6a740d828)
328
+ + t7406: avoid using test_must_fail for commands other than git
329
+ + t7406: prefer test_* helper functions to test -[feds]
330
+ + t7406: avoid having git commands upstream of a pipe
331
+ + t7406: simplify by using diff --name-only instead of diff --raw
332
+ + t7406: fix call that was failing for the wrong reason
333
27
- The "--exec" option to "git rebase --rebase-merges" placed the exec
28
- commands at wrong places, which has been corrected.
29
-
30
- cf. <pull.13.v2.git.gitgitgadget@gmail.com>
334
+ Test fixes.
335
336
+ Will merge to 'master'.
337
33
-* nd/no-extern (2018-08-03) 12 commits
34
- - submodule.h: drop extern from function declaration
35
- - revision.h: drop extern from function declaration
36
- - repository.h: drop extern from function declaration
37
- - rerere.h: drop extern from function declaration
38
- - line-range.h: drop extern from function declaration
39
- - diff.h: remove extern from function declaration
40
- - diffcore.h: drop extern from function declaration
41
- - convert.h: drop 'extern' from function declaration
42
- - cache-tree.h: drop extern from function declaration
43
- - blame.h: drop extern on func declaration
44
- - attr.h: drop extern from function declaration
45
- - apply.h: drop extern on func declaration
338
47
- Noiseword "extern" has been removed from function decls in the
48
- header files.
339
+* en/update-index-doc (2018-08-08) 1 commit
340
+ (merged to 'next' on 2018-08-15 at 3ee0ae14dc)
341
+ + git-update-index.txt: reword possibly confusing example
342
50
- Will merge to 'next'.
343
+ Doc update.
344
345
+ Will merge to 'master'.
346
53
-* ar/t4150-am-scissors-test-fix (2018-08-06) 1 commit
54
- - t4150: fix broken test for am --scissors
347
56
- Test fix.
348
+* jc/update-index-doc (2018-08-08) 1 commit
349
+ (merged to 'next' on 2018-08-15 at 055994ccca)
350
+ + update-index: there no longer is `apply --index-info`
351
58
- Will merge to 'next'.
352
+ Doc update.
353
+
354
+ Will merge to 'master'.
355
356
61
-* en/t3031-title-fix (2018-08-06) 1 commit
62
- - t3031: update test description to mention desired behavior
357
+* js/typofixes (2018-08-08) 2 commits
358
+ (merged to 'next' on 2018-08-15 at ce3932254a)
359
+ + remote-curl: remove spurious period
360
+ + git-compat-util.h: fix typo
361
64
- Test fix.
362
+ Comment update.
363
66
- Will merge to 'next'.
364
+ Will merge to 'master'.
365
366
69
-* hn/config-in-code-comment (2018-08-06) 1 commit
70
- - config: document git config getter return value
367
+* jt/repack-promisor-packs (2018-08-09) 2 commits
368
+ - repack: repack promisor objects if -a or -A is set
369
+ - repack: refactor setup of pack-objects cmd
370
72
- Header update.
371
+ After a partial clone, repeated fetches from promisor remote would
372
+ have accumulated many packfiles marked with .promisor bit without
373
+ getting them coalesced into fewer packfiles, hurting performance.
374
+ "git repack" now learned to repack them.
375
376
Will merge to 'next'.
377
378
77
-* jk/diff-rendered-docs (2018-08-06) 1 commit
78
- - add a script to diff rendered documentation
379
+* sk/instaweb-rh-update (2018-08-08) 2 commits
380
+ (merged to 'next' on 2018-08-15 at ce5f1115e9)
381
+ + git-instaweb: fix apache2 config with apache >= 2.4
382
+ + git-instaweb: support Fedora/Red Hat apache module path
383
80
- Developer support to allow the end result of documentation update
81
- to be inspected more easily.
384
+ "git instaweb" has been adjusted to run better with newer Apache on
385
+ RedHat based distros.
386
83
- Will merge to 'next'.
387
+ Will merge to 'master'.
388
389
86
-* js/pull-rebase-type-shorthand (2018-08-06) 1 commit
87
- - pull --rebase=<type>: allow single-letter abbreviations for the type
390
+* ab/submodule-relative-url-tests (2018-08-14) 1 commit
391
+ - submodule: add more exhaustive up-path testing
392
89
- "git pull --rebase=interactive" learned "i" as a short-hand for
90
- "interactive".
393
+ Test updates.
394
395
Will merge to 'next'.
396
397
95
-* nd/complete-config-vars (2018-08-06) 1 commit
96
- - Makefile: add missing dependency for command-list.h
398
+* ao/submodule-wo-gitmodules-checked-out (2018-08-14) 7 commits
399
+ - submodule: support reading .gitmodules even when it's not checked out
400
+ - t7506: clean up .gitmodules properly before setting up new scenario
401
+ - submodule: use the 'submodule--helper config' command
402
+ - submodule--helper: add a new 'config' subcommand
403
+ - t7411: be nicer to future tests and really clean things up
404
+ - submodule: factor out a config_set_in_gitmodules_file_gently function
405
+ - submodule: add a print_config_from_gitmodules() helper
406
+
407
+ The submodule support has been updated to read from the blob at
408
+ HEAD:.gitmodules when the .gitmodules file is missing from the
409
+ working tree.
410
+
411
+ I find the design a bit iffy in that our usual "missing in the
412
+ working tree? let's use the latest blob" fallback is to take it
413
+ from the index, not from the HEAD.
414
98
- Build fix.
415
+
416
+* bw/submodule-name-to-dir (2018-08-10) 2 commits
417
+ - submodule: munge paths to submodule git directories
418
+ - submodule: create helper to build paths to submodule gitdirs
419
+
420
+ In modern repository layout, the real body of a cloned submodule
421
+ repository is held in .git/modules/ of the superproject, indexed by
422
+ the submodule name. URLencode the submodule name before computing
423
+ the name of the directory to make sure they form a flat namespace.
424
425
Will merge to 'next'.
426
427
103
-* nd/config-blame-sort (2018-08-06) 1 commit
104
- - config.txt: reorder blame stuff to keep config keys sorted
428
+* cc/delta-islands (2018-08-10) 8 commits
429
+ - pack-objects: move 'layer' into 'struct packing_data'
430
+ - pack-objects: move tree_depth into 'struct packing_data'
431
+ - t5320: delta islands tests
432
+ - repack: add delta-islands support
433
+ - pack-objects: add delta-islands support
434
+ - pack-objects: refactor code into compute_layer_order()
435
+ - Add delta-islands.{c,h}
436
+ - packfile: make get_delta_base() non static
437
+
438
+ Lift code from GitHub to restrict delta computation so that an
439
+ object that exists in one fork is not made into a delta against
440
+ another object that does not appear in the same forked repository.
441
+
442
+ What's the doneness of this topic?
443
+
444
+
445
+* ds/commit-graph-fsck (2018-08-13) 1 commit
446
+ (merged to 'next' on 2018-08-15 at a2f82d3cbd)
447
+ + t5318: use 'test_cmp_bin' to compare commit-graph files
448
+
449
+ Test fix.
450
+
451
+ Will merge to 'master'.
452
106
- Doc fix.
453
+
454
+* en/incl-forward-decl (2018-08-15) 6 commits
455
+ - Remove forward declaration of an enum
456
+ - compat/precompose_utf8.h: use more common include guard style
457
+ - urlmatch.h: fix include guard
458
+ - Move definition of enum branch_track from cache.h to branch.h
459
+ - alloc: make allocate_alloc_state and clear_alloc_state more consistent
460
+ - Add missing includes and forward declarations
461
+
462
+ Code hygiene improvement for the header files.
463
464
Will merge to 'next'.
465
466
111
-* wc/make-funnynames-shared-lazy-prereq (2018-08-06) 1 commit
112
- - t: factor out FUNNYNAMES as shared lazy prereq
467
+* es/chain-lint-more (2018-08-13) 6 commits
468
+ (merged to 'next' on 2018-08-15 at bb5150ee96)
469
+ + chainlint: add test of pathological case which triggered false positive
470
+ + chainlint: recognize multi-line quoted strings more robustly
471
+ + chainlint: let here-doc and multi-line string commence on same line
472
+ + chainlint: recognize multi-line $(...) when command cuddled with "$("
473
+ + chainlint: match 'quoted' here-doc tags
474
+ + chainlint: match arbitrary here-docs tags rather than hard-coded names
475
+
476
+ Improve built-in facility to catch broken &&-chain in the tests.
477
+
478
+ Will merge to 'master'.
479
+
480
+
481
+* jc/gpg-status (2018-08-09) 1 commit
482
+ (merged to 'next' on 2018-08-15 at 824781761a)
483
+ + gpg-interface: propagate exit status from gpg back to the callers
484
+
485
+ Will merge to 'master'.
486
+
487
+
488
+* jh/partial-clone-doc (2018-08-15) 1 commit
489
+ (merged to 'next' on 2018-08-15 at cf09e8be6a)
490
+ + partial-clone: render design doc using asciidoc
491
+
492
+ Doc updates.
493
+
494
+ Will merge to 'master'.
495
+
496
+
497
+* jk/for-each-object-iteration (2018-08-14) 11 commits
498
+ (merged to 'next' on 2018-08-15 at e2558810ff)
499
+ + for_each_*_object: move declarations to object-store.h
500
+ + cat-file: use a single strbuf for all output
501
+ + cat-file: split batch "buf" into two variables
502
+ + cat-file: use oidset check-and-insert
503
+ + cat-file: support "unordered" output for --batch-all-objects
504
+ + cat-file: rename batch_{loose,packed}_object callbacks
505
+ + t1006: test cat-file --batch-all-objects with duplicates
506
+ + for_each_packed_object: support iterating in pack-order
507
+ + for_each_*_object: give more comprehensive docstrings
508
+ + for_each_*_object: take flag arguments as enum
509
+ + for_each_*_object: store flag definitions in a single location
510
+
511
+ The API to iterate over all objects learned to optionally list
512
+ objects in the order they appear in packfiles, which helps locality
513
+ of access if the caller accesses these objects while as objects are
514
+ enumerated.
515
+
516
+ Will merge to 'master'.
517
+
518
+
519
+* js/chain-lint-attrfix (2018-08-15) 1 commit
520
+ (merged to 'next' on 2018-08-15 at e9ad19a848)
521
+ + chainlint: fix for core.autocrlf=true
522
+
523
+ Test fix.
524
+
525
+ Will merge to 'master'.
526
+
527
+
528
+* js/mingw-o-append (2018-08-13) 1 commit
529
+ (merged to 'next' on 2018-08-15 at 284527a0fb)
530
+ + mingw: enable atomic O_APPEND
531
+
532
+ Among the three codepaths we use O_APPEND to open a file for
533
+ appending, one used for writing GIT_TRACE output requires O_APPEND
534
+ implementation that behaves sensibly when multiple processes are
535
+ writing to the same file. POSIX emulation used in the Windows port
536
+ has been updated to improve in this area.
537
+
538
+ Will merge to 'master'.
539
+
540
+
541
+* jt/commit-graph-per-object-store (2018-08-13) 1 commit
542
+ (merged to 'next' on 2018-08-15 at 5d6db738d8)
543
+ + t5318: avoid unnecessary command substitutions
544
+
545
+ Test update.
546
+
547
+ Will merge to 'master'.
548
+
549
+
550
+* jt/fetch-negotiator-skipping (2018-08-10) 1 commit
551
+ (merged to 'next' on 2018-08-15 at 3cf8fa32f5)
552
+ + t5552: suppress upload-pack trace output
553
+
554
+ Test fix.
555
+
556
+ Will merge to 'master'.
557
+
558
+
559
+* md/filter-trees (2018-08-15) 6 commits
560
+ - list-objects-filter: implement filter tree:0
561
+ - revision: mark non-user-given objects instead
562
+ - rev-list: handle missing tree objects properly
563
+ - list-objects: always parse trees gently
564
+ - list-objects: refactor to process_tree_contents
565
+ - list-objects: store common func args in struct
566
+
567
+ The "rev-list --filter" feature learned to exclude all trees via
568
+ "tree:0" filter.
569
+
570
+ Expecting a reroll.
571
+
572
+
573
+* nd/no-the-index (2018-08-13) 24 commits
574
+ (merged to 'next' on 2018-08-15 at 41e53dc53b)
575
+ + blame.c: remove implicit dependency on the_index
576
+ + apply.c: remove implicit dependency on the_index
577
+ + apply.c: make init_apply_state() take a struct repository
578
+ + apply.c: pass struct apply_state to more functions
579
+ + resolve-undo.c: use the right index instead of the_index
580
+ + archive-*.c: use the right repository
581
+ + archive.c: avoid access to the_index
582
+ + grep: use the right index instead of the_index
583
+ + attr: remove index from git_attr_set_direction()
584
+ + entry.c: use the right index instead of the_index
585
+ + submodule.c: use the right index instead of the_index
586
+ + pathspec.c: use the right index instead of the_index
587
+ + unpack-trees: avoid the_index in verify_absent()
588
+ + unpack-trees: convert clear_ce_flags* to avoid the_index
589
+ + unpack-trees: don't shadow global var the_index
590
+ + unpack-trees: add a note about path invalidation
591
+ + unpack-trees: remove 'extern' on function declaration
592
+ + ls-files: correct index argument to get_convert_attr_ascii()
593
+ + preload-index.c: use the right index instead of the_index
594
+ + dir.c: remove an implicit dependency on the_index in pathspec code
595
+ + convert.c: remove an implicit dependency on the_index
596
+ + attr: remove an implicit dependency on the_index
597
+ + cache-tree: wrap the_index based wrappers with #ifdef
598
+ + diff.c: move read_index() code back to the caller
599
+ (this branch uses nd/no-extern.)
600
+
601
+ The more library-ish parts of the codebase learned to work on the
602
+ in-core index-state instance that is passed in by their callers,
603
+ instead of always working on the singleton "the_index" instance.
604
+
605
+ Will merge to 'master'.
606
+
607
+
608
+* ng/mergetool-lose-final-prompt (2018-08-13) 1 commit
609
+ (merged to 'next' on 2018-08-15 at f8f7ac365b)
610
+ + mergetool: don't suggest to continue after last file
611
+
612
+ "git mergetool" stopped and gave an extra prompt to continue after
613
+ the last path has been handled, which did not make much sense.
614
+
615
+ Will merge to 'master'.
616
114
- A test prerequisite defined by various test scripts with slightly
115
- different sematics has been consolidated into a single copy and
116
- made into a lazily defined one.
617
618
+* ng/status-i-short-for-ignored (2018-08-09) 1 commit
619
+ - status: -i shorthand for --ignored command line option
620
+
621
+
622
+* pk/rebase-in-c-2-basic (2018-08-10) 11 commits
623
+ - builtin rebase: support `git rebase <upstream> <switch-to>`
624
+ - builtin rebase: only store fully-qualified refs in `options.head_name`
625
+ - builtin rebase: start a new rebase only if none is in progress
626
+ - builtin rebase: support --force-rebase
627
+ - builtin rebase: try to fast forward when possible
628
+ - builtin rebase: require a clean worktree
629
+ - builtin rebase: support the `verbose` and `diffstat` options
630
+ - builtin rebase: support --quiet
631
+ - builtin rebase: handle the pre-rebase hook (and add --no-verify)
632
+ - builtin rebase: support `git rebase --onto A...B`
633
+ - builtin rebase: support --onto
634
+ (this branch is used by pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c.)
635
+
636
+
637
+* pk/rebase-in-c-3-acts (2018-08-10) 7 commits
638
+ - builtin rebase: stop if `git am` is in progress
639
+ - builtin rebase: actions require a rebase in progress
640
+ - builtin rebase: support --edit-todo and --show-current-patch
641
+ - builtin rebase: support --quit
642
+ - builtin rebase: support --abort
643
+ - builtin rebase: support --skip
644
+ - builtin rebase: support --continue
645
+ (this branch is used by pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c and pk/rebase-in-c-2-basic.)
646
+
647
+
648
+* pk/rebase-in-c-4-opts (2018-08-10) 18 commits
649
+ - builtin rebase: support --root
650
+ - builtin rebase: add support for custom merge strategies
651
+ - builtin rebase: support `fork-point` option
652
+ - merge-base --fork-point: extract libified function
653
+ - builtin rebase: support --rebase-merges[=[no-]rebase-cousins]
654
+ - builtin rebase: support `--allow-empty-message` option
655
+ - builtin rebase: support `--exec`
656
+ - builtin rebase: support `--autostash` option
657
+ - builtin rebase: support `-C` and `--whitespace=<type>`
658
+ - builtin rebase: support `--gpg-sign` option
659
+ - builtin rebase: support `--autosquash`
660
+ - builtin rebase: support `keep-empty` option
661
+ - builtin rebase: support `ignore-date` option
662
+ - builtin rebase: support `ignore-whitespace` option
663
+ - builtin rebase: support --committer-date-is-author-date
664
+ - builtin rebase: support --rerere-autoupdate
665
+ - builtin rebase: support --signoff
666
+ - builtin rebase: allow selecting the rebase "backend"
667
+ (this branch is used by pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic and pk/rebase-in-c-3-acts.)
668
+
669
+
670
+* pk/rebase-in-c-5-test (2018-08-10) 6 commits
671
+ - builtin rebase: error out on incompatible option/mode combinations
672
+ - builtin rebase: use no-op editor when interactive is "implied"
673
+ - builtin rebase: show progress when connected to a terminal
674
+ - builtin rebase: fast-forward to onto if it is a proper descendant
675
+ - builtin rebase: optionally pass custom reflogs to reset_head()
676
+ - builtin rebase: optionally auto-detect the upstream
677
+ (this branch is used by pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts and pk/rebase-in-c-4-opts.)
678
+
679
+
680
+* pk/rebase-in-c-6-final (2018-08-10) 1 commit
681
+ - rebase: default to using the builtin rebase
682
+ (this branch uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test.)
683
+
684
+
685
+* ps/stash-in-c (2018-08-08) 26 commits
686
+ - stash: replace all "git apply" child processes with API calls
687
+ - stash: replace all `write-tree` child processes with API calls
688
+ - stash: optimize `get_untracked_files()` and `check_changes()`
689
+ - stash: convert `stash--helper.c` into `stash.c`
690
+ - stash: convert save to builtin
691
+ - stash: replace spawning `git ls-files` child process
692
+ - stash: add tests for `git stash push -q`
693
+ - stash: make push to be quiet
694
+ - stash: convert push to builtin
695
+ - stash: avoid spawning a "diff-index" process
696
+ - stash: replace spawning a "read-tree" process
697
+ - stash: convert create to builtin
698
+ - stash: convert store to builtin
699
+ - stash: update `git stash show` documentation
700
+ - stash: refactor `show_stash()` to use the diff API
701
+ - stash: change `git stash show` usage text and documentation
702
+ - stash: convert show to builtin
703
+ - stash: implement the "list" command in the builtin
704
+ - stash: convert pop to builtin
705
+ - stash: convert branch to builtin
706
+ - stash: convert drop and clear to builtin
707
+ - stash: convert apply to builtin
708
+ - stash: renamed test cases to be more descriptive
709
+ - stash: update test cases conform to coding guidelines
710
+ - stash: improve option parsing test coverage
711
+ - sha1-name.c: added 'get_oidf', which acts like 'get_oid'
712
+
713
+
714
+* pw/rebase-i-squash-number-fix (2018-08-15) 2 commits
715
+ - squash??? if this is easier to read
716
+ - rebase -i: fix numbering in squash message
717
+
718
+ When "git rebase -i" is told to squash two or more commits into
719
+ one, it labeled the log message for each commit with its number.
720
+ It correctly called the first one "1st commit", but the next one
721
+ was "commit #1", which was off-by-one. This has been corrected.
722
+
723
+ Will merge to 'next' after dropping the clean-up at the tip.
724
+
725
+
726
+* sb/pull-rebase-submodule (2018-08-14) 1 commit
727
+ (merged to 'next' on 2018-08-15 at 07c7b55cc9)
728
+ + git-submodule.sh: accept verbose flag in cmd_update to be non-quiet
729
+
730
+ "git pull --rebase -v" in a repository with a submodule barfed as
731
+ an intermediate process did not understand what "-v(erbose)" flag
732
+ meant, which has been fixed.
733
734
+ Will merge to 'master'.
735
+
736
+
737
+* sg/t5310-empty-input-fix (2018-08-14) 1 commit
738
+ (merged to 'next' on 2018-08-15 at c3c03973a0)
739
+ + t5310-pack-bitmaps: fix bogus 'pack-objects to file can use bitmap' test
740
+
741
+ Test fix.
742
+
743
+ Will merge to 'master'.
744
745
--------------------------------------------------
746
[Stalled]
747
748
+* bp/checkout-new-branch-optim (2018-07-31) 1 commit
749
+ - checkout: optimize "git checkout -b <new_branch>"
750
+
751
+ "git checkout -b newbranch [HEAD]" should not have to do as much as
752
+ checking out a commit different from HEAD. An attempt is made to
753
+ optimize this special case.
754
+
755
+ So... what is the status of this thing? Is the other "optimize
756
+ unpack-trees" effort turning out to be a safer and less hacky way
757
+ to achieve similar gain and this no longer is needed?
758
+
759
+
760
+* sl/commit-dry-run-with-short-output-fix (2018-07-30) 4 commits
761
+ . commit: fix exit code when doing a dry run
762
+ . wt-status: teach wt_status_collect about merges in progress
763
+ . wt-status: rename commitable to committable
764
+ . t7501: add coverage for flags which imply dry runs
765
+
766
+ "git commit --dry-run" gave a correct exit status even during a
767
+ conflict resolution toward a merge, but it did not with the
768
+ "--short" option, which has been corrected.
769
+
770
+ Seems to break 7512, 3404 and 7060 in 'pu'.
771
+
772
+
773
* ma/wrapped-info (2018-05-28) 2 commits
774
- usage: prefix all lines in `vreportf()`, not just the first
775
- usage: extract `prefix_suffix_lines()` from `advise()`
@@ -176,42 +826,151 @@ of the repositories listed at
826
in the thread above---we are still waiting for a reroll.
827
828
179
-* jk/drop-ancient-curl (2017-08-09) 5 commits
180
- - http: #error on too-old curl
181
- - curl: remove ifdef'd code never used with curl >=7.19.4
182
- - http: drop support for curl < 7.19.4
183
- - http: drop support for curl < 7.16.0
184
- - http: drop support for curl < 7.11.1
829
+* jk/drop-ancient-curl (2017-08-09) 5 commits
830
+ - http: #error on too-old curl
831
+ - curl: remove ifdef'd code never used with curl >=7.19.4
832
+ - http: drop support for curl < 7.19.4
833
+ - http: drop support for curl < 7.16.0
834
+ - http: drop support for curl < 7.11.1
835
+
836
+ Some code in http.c that has bitrot is being removed.
837
+
838
+ Expecting a reroll.
839
+
840
+
841
+* mk/use-size-t-in-zlib (2017-08-10) 1 commit
842
+ . zlib.c: use size_t for size
843
+
844
+ The wrapper to call into zlib followed our long tradition to use
845
+ "unsigned long" for sizes of regions in memory, which have been
846
+ updated to use "size_t".
847
+
848
+ Needs resurrecting by making sure the fix is good and still applies
849
+ (or adjusted to today's codebase).
850
+
851
+--------------------------------------------------
852
+[Cooking]
853
+
854
+* js/rebase-merges-exec-fix (2018-08-09) 2 commits
855
+ (merged to 'next' on 2018-08-15 at 9de975d92d)
856
+ + rebase --exec: make it work with --rebase-merges
857
+ + t3430: demonstrate what -r, --autosquash & --exec should do
858
+
859
+ The "--exec" option to "git rebase --rebase-merges" placed the exec
860
+ commands at wrong places, which has been corrected.
861
+
862
+ Will merge to 'master'.
863
+
864
+
865
+* nd/no-extern (2018-08-03) 12 commits
866
+ (merged to 'next' on 2018-08-08 at bcce75766b)
867
+ + submodule.h: drop extern from function declaration
868
+ + revision.h: drop extern from function declaration
869
+ + repository.h: drop extern from function declaration
870
+ + rerere.h: drop extern from function declaration
871
+ + line-range.h: drop extern from function declaration
872
+ + diff.h: remove extern from function declaration
873
+ + diffcore.h: drop extern from function declaration
874
+ + convert.h: drop 'extern' from function declaration
875
+ + cache-tree.h: drop extern from function declaration
876
+ + blame.h: drop extern on func declaration
877
+ + attr.h: drop extern from function declaration
878
+ + apply.h: drop extern on func declaration
879
+ (this branch is used by nd/no-the-index.)
880
+
881
+ Noiseword "extern" has been removed from function decls in the
882
+ header files.
883
+
884
+ Will merge to 'master'.
885
+
886
+
887
+* ar/t4150-am-scissors-test-fix (2018-08-06) 1 commit
888
+ (merged to 'next' on 2018-08-08 at e639183205)
889
+ + t4150: fix broken test for am --scissors
890
+
891
+ Test fix.
892
+
893
+ Will merge to 'master'.
894
+
895
+
896
+* en/t3031-title-fix (2018-08-06) 1 commit
897
+ (merged to 'next' on 2018-08-08 at 3913b03884)
898
+ + t3031: update test description to mention desired behavior
899
+
900
+ Test fix.
901
+
902
+ Will merge to 'master'.
903
+
904
+
905
+* hn/config-in-code-comment (2018-08-06) 1 commit
906
+ (merged to 'next' on 2018-08-08 at 1fae946a0f)
907
+ + config: document git config getter return value
908
+
909
+ Header update.
910
+
911
+ Will merge to 'master'.
912
+
913
+
914
+* jk/diff-rendered-docs (2018-08-06) 1 commit
915
+ (merged to 'next' on 2018-08-08 at fe6e1b4dbe)
916
+ + add a script to diff rendered documentation
917
+
918
+ Developer support to allow the end result of documentation update
919
+ to be inspected more easily.
920
+
921
+ Will merge to 'master'.
922
+
923
+
924
+* js/pull-rebase-type-shorthand (2018-08-06) 1 commit
925
+ (merged to 'next' on 2018-08-08 at 9213756b36)
926
+ + pull --rebase=<type>: allow single-letter abbreviations for the type
927
+
928
+ "git pull --rebase=interactive" learned "i" as a short-hand for
929
+ "interactive".
930
+
931
+ Will merge to 'master'.
932
+
933
+
934
+* nd/complete-config-vars (2018-08-06) 1 commit
935
+ (merged to 'next' on 2018-08-08 at ffc8e1a3cd)
936
+ + Makefile: add missing dependency for command-list.h
937
+
938
+ Build fix.
939
+
940
+ Will merge to 'master'.
941
+
942
+
943
+* nd/config-blame-sort (2018-08-06) 1 commit
944
+ (merged to 'next' on 2018-08-08 at 34ebb9888f)
945
+ + config.txt: reorder blame stuff to keep config keys sorted
946
186
- Some code in http.c that has bitrot is being removed.
947
+ Doc fix.
948
188
- Expecting a reroll.
949
+ Will merge to 'master'.
950
951
191
-* mk/use-size-t-in-zlib (2017-08-10) 1 commit
192
- . zlib.c: use size_t for size
952
+* wc/make-funnynames-shared-lazy-prereq (2018-08-06) 1 commit
953
+ - t: factor out FUNNYNAMES as shared lazy prereq
954
194
- The wrapper to call into zlib followed our long tradition to use
195
- "unsigned long" for sizes of regions in memory, which have been
196
- updated to use "size_t".
955
+ A test prerequisite defined by various test scripts with slightly
956
+ different sematics has been consolidated into a single copy and
957
+ made into a lazily defined one.
958
198
- Needs resurrecting by making sure the fix is good and still applies
199
- (or adjusted to today's codebase).
959
+ Will merge to 'next'.
960
201
---------------------------------------------------
202
-[Cooking]
961
962
* ab/fsck-transfer-updates (2018-07-27) 10 commits
205
- - fsck: test and document unknown fsck.<msg-id> values
206
- - fsck: add stress tests for fsck.skipList
207
- - fsck: test & document {fetch,receive}.fsck.* config fallback
208
- - fetch: implement fetch.fsck.*
209
- - transfer.fsckObjects tests: untangle confusing setup
210
- - config doc: elaborate on fetch.fsckObjects security
211
- - config doc: elaborate on what transfer.fsckObjects does
212
- - config doc: unify the description of fsck.* and receive.fsck.*
213
- - config doc: don't describe *.fetchObjects twice
214
- - receive.fsck.<msg-id> tests: remove dead code
963
+ (merged to 'next' on 2018-08-08 at d92085269f)
964
+ + fsck: test and document unknown fsck.<msg-id> values
965
+ + fsck: add stress tests for fsck.skipList
966
+ + fsck: test & document {fetch,receive}.fsck.* config fallback
967
+ + fetch: implement fetch.fsck.*
968
+ + transfer.fsckObjects tests: untangle confusing setup
969
+ + config doc: elaborate on fetch.fsckObjects security
970
+ + config doc: elaborate on what transfer.fsckObjects does
971
+ + config doc: unify the description of fsck.* and receive.fsck.*
972
+ + config doc: don't describe *.fetchObjects twice
973
+ + receive.fsck.<msg-id> tests: remove dead code
974
975
The test performed at the receiving end of "git push" to prevent
976
bad objects from entering repository can be customized via
@@ -219,155 +978,100 @@ of the repositories listed at
978
counterpart to do the same on the "git fetch" side, with
979
fetch.fsck.* configuration variables.
980
222
- Will merge to 'next'.
981
+ Will merge to 'master'.
982
983
984
* ab/test-must-be-empty (2018-07-30) 1 commit
226
- - tests: make use of the test_must_be_empty function
985
+ (merged to 'next' on 2018-08-08 at 06599ebd1f)
986
+ + tests: make use of the test_must_be_empty function
987
988
Test updates.
989
230
- Will merge to 'next'.
990
+ Will merge to 'master'.
991
992
993
* ab/test-must-be-empty-for-master (2018-07-30) 1 commit
234
- - tests: make use of the test_must_be_empty function
994
+ (merged to 'next' on 2018-08-15 at 17652a77fb)
995
+ + tests: make use of the test_must_be_empty function
996
997
Test updates.
998
238
- Did anybody spot incorrect conversion in this yet?
239
-
240
-
241
-* cb/p4-pre-submit-hook (2018-08-01) 1 commit
242
- (merged to 'next' on 2018-08-06 at e40ae4af80)
243
- + git-p4: add the `p4-pre-submit` hook
244
-
245
- "git p4 submit" learns to ask its own pre-submit hook if it should
246
- continue with submitting.
247
-
999
Will merge to 'master'.
1000
1001
1002
* es/rebase-i-author-script-fix (2018-07-31) 4 commits
252
- - sequencer: don't die() on bogus user-edited timestamp
253
- - sequencer: fix "rebase -i --root" corrupting author header timestamp
254
- - sequencer: fix "rebase -i --root" corrupting author header timezone
255
- - sequencer: fix "rebase -i --root" corrupting author header
1003
+ (merged to 'next' on 2018-08-08 at 6b34261b72)
1004
+ + sequencer: don't die() on bogus user-edited timestamp
1005
+ + sequencer: fix "rebase -i --root" corrupting author header timestamp
1006
+ + sequencer: fix "rebase -i --root" corrupting author header timezone
1007
+ + sequencer: fix "rebase -i --root" corrupting author header
1008
(this branch is used by pw/rebase-i-author-script-fix.)
1009
1010
The "author-script" file "git rebase -i" creates got broken when
1011
we started to move the command away from shell script, which is
1012
getting fixed now.
1013
262
- Will merge to 'next'.
1014
+ Will merge to 'master'.
1015
1016
265
-* hn/highlight-sideband-keywords (2018-08-06) 2 commits
266
- - SQUASH???
267
- - sideband: highlight keywords in remote sideband output
1017
+* hn/highlight-sideband-keywords (2018-08-08) 1 commit
1018
+ (merged to 'next' on 2018-08-15 at f8945f3be5)
1019
+ + sideband: highlight keywords in remote sideband output
1020
1021
The sideband code learned to optionally paint selected keywords at
1022
the beginning of incoming lines on the receiving end.
1023
272
-
273
-* jn/subtree-test-fixes (2018-07-30) 2 commits
274
- (merged to 'next' on 2018-08-06 at 62f21c328f)
275
- + subtree test: simplify preparation of expected results
276
- + subtree test: add missing && to &&-chain
277
-
278
- Test fix.
279
-
280
- Will merge to 'master'.
281
-
282
-
283
-* ms/http-proto-doc (2018-07-30) 1 commit
284
- (merged to 'next' on 2018-08-06 at df1cac9945)
285
- + doc: fix want-capability separator
286
-
287
- Doc fix.
288
-
289
- Will merge to 'master'.
290
-
291
-
292
-* nd/pack-objects-threading-doc (2018-07-30) 1 commit
293
- (merged to 'next' on 2018-08-06 at cc8c305191)
294
- + pack-objects: document about thread synchronization
295
-
296
- Doc fix.
297
-
1024
Will merge to 'master'.
1025
1026
1027
* sb/indent-heuristic-optim (2018-08-01) 1 commit
302
- - xdiff: reduce indent heuristic overhead
1028
+ (merged to 'next' on 2018-08-08 at 539dcc967a)
1029
+ + xdiff: reduce indent heuristic overhead
1030
1031
"git diff --indent-heuristic" had a bad corner case performance.
1032
306
- Will merge to 'next'.
1033
+ Will merge to 'master'.
1034
1035
1036
* ab/fetch-nego (2018-08-01) 3 commits
310
- - fetch doc: cross-link two new negotiation options
311
- - negotiator: unknown fetch.negotiationAlgorithm should error out
312
- - Merge branch 'jt/fetch-nego-tip' into ab/fetch-nego
1037
+ (merged to 'next' on 2018-08-08 at 87662bb344)
1038
+ + fetch doc: cross-link two new negotiation options
1039
+ + negotiator: unknown fetch.negotiationAlgorithm should error out
1040
+ + Merge branch 'jt/fetch-nego-tip' into ab/fetch-nego
1041
1042
Update to a few other topics.
1043
316
- Will merge to 'next'.
317
-
318
-
319
-* ab/fetch-tags-noclobber (2018-07-31) 10 commits
320
- - fetch: stop clobbering existing tags without --force
321
- - pull doc: fix a long-standing grammar error
322
- - fetch tests: add a test clobbering tag behavior
323
- - fetch tests: correct a comment "remove it" -> "remove them"
324
- - push doc: correct lies about how push refspecs work
325
- - push tests: assert re-pushing annotated tags
326
- - push tests: add more testing for forced tag pushing
327
- - push tests: fix logic error in "push" test assertion
328
- - push tests: remove redundant 'git push' invocation
329
- - fetch tests: change "Tag" test tag to "testTag"
330
-
331
- "git fetch" used to apply the same "fast-forward" rule and allow
332
- tags to move without "--force" option, which made little sense,
333
- which has been corrected.
334
-
335
- Expecting a reroll.
336
- cf. <xmqq4lgfcn5a.fsf@gitster-ct.c.googlers.com>
337
- cf. <xmqqzhy7b7v9.fsf@gitster-ct.c.googlers.com>
338
-
339
-
340
-* bp/checkout-new-branch-optim (2018-07-31) 1 commit
341
- - checkout: optimize "git checkout -b <new_branch>"
342
-
343
- "git checkout -b newbranch [HEAD]" should not have to do as much as
344
- checking out a commit different from HEAD. An attempt is made to
345
- optimize this special case.
346
-
347
- Waiting for review comments to be responded.
348
- cf. <CACsJy8DMEMsDnKZc65K-0EJcm2udXZ7OKY=xoFmX4COM0dSH=g@mail.gmail.com>
1044
+ Will merge to 'master'.
1045
1046
351
-* es/mw-to-git-chain-fix (2018-07-31) 1 commit
352
- (merged to 'next' on 2018-08-06 at c10246e1c8)
353
- + mw-to-git/t9360: fix broken &&-chain
1047
+* ab/fetch-tags-noclobber (2018-08-13) 7 commits
1048
+ (merged to 'next' on 2018-08-15 at eca0ac8afa)
1049
+ + pull doc: fix a long-standing grammar error
1050
+ + fetch tests: correct a comment "remove it" -> "remove them"
1051
+ + push tests: assert re-pushing annotated tags
1052
+ + push tests: add more testing for forced tag pushing
1053
+ + push tests: fix logic error in "push" test assertion
1054
+ + push tests: remove redundant 'git push' invocation
1055
+ + fetch tests: change "Tag" test tag to "testTag"
1056
355
- Test fix.
1057
+ Test and doc clean-ups.
1058
1059
Will merge to 'master'.
1060
1061
1062
* jk/merge-subtree-heuristics (2018-08-02) 1 commit
361
- - score_trees(): fix iteration over trees with missing entries
1063
+ (merged to 'next' on 2018-08-08 at 5126c2d717)
1064
+ + score_trees(): fix iteration over trees with missing entries
1065
1066
The automatic tree-matching in "git merge -s subtree" was broken 5
1067
years ago and nobody has noticed since then, which is now fixed.
1068
366
- Will merge to 'next'.
1069
+ Will merge to 'master'.
1070
1071
1072
* jt/refspec-dwim-precedence-fix (2018-08-02) 1 commit
370
- - remote: make refspec follow the same disambiguation rule as local refs
1073
+ (merged to 'next' on 2018-08-08 at 34d0484d3a)
1074
+ + remote: make refspec follow the same disambiguation rule as local refs
1075
1076
"git fetch $there refs/heads/s" ought to fetch the tip of the
1077
branch 's', but when "refs/heads/refs/heads/s", i.e. a branch whose
@@ -375,10 +1079,11 @@ of the repositories listed at
1079
instead by mistake. This has been corrected to honor the usual
1080
disambiguation rules for abbreviated refnames.
1081
378
- Will merge to 'next'.
1082
+ Will merge to 'master'.
1083
1084
381
-* nd/clone-case-smashing-warning (2018-07-31) 1 commit
1085
+* nd/clone-case-smashing-warning (2018-08-14) 2 commits
1086
+ - mark_colliding_entries(): fix incorrect #if...#endif guard
1087
- clone: report duplicate entries on case-insensitive filesystems
1088
1089
Running "git clone" against a project that contain two files with
@@ -387,19 +1092,16 @@ of the repositories listed at
1092
underlying filesystem is incapable of holding both at the same
1093
time. An attempt is made to detect such a case and warn.
1094
390
- Discussion getting petered out.
391
- Doing this portably and extending it to UTF-8 normalization issue
392
- HFS+ has would be costly.
1095
+ Expecting a new round of discussion.
1096
+ cf. <20180815190816.GA26521@tor.lan>
1097
394
- cf. <20180728095659.GA21450@sigill.intra.peff.net>
395
- cf. <xmqq1sbh7phx.fsf@gitster-ct.c.googlers.com>
1098
397
-
398
-* nd/unpack-trees-with-cache-tree (2018-08-06) 4 commits
399
- - unpack-trees: cheaper index update when walking by cache-tree
1099
+* nd/unpack-trees-with-cache-tree (2018-08-13) 5 commits
1100
+ - unpack-trees: reuse (still valid) cache-tree from src_index
1101
- unpack-trees: reduce malloc in cache-tree walk
1102
- unpack-trees: optimize walking same trees with cache-tree
1103
- unpack-trees: add performance tracing
1104
+ - trace.h: support nested performance tracing
1105
1106
The unpack_trees() API used in checking out a branch and merging
1107
walks one or more trees along with the index. When the cache-tree
@@ -409,17 +1111,10 @@ of the repositories listed at
1111
open tree objects recursively and listing their entries, the walk
1112
can be optimized, which is done in this topic.
1113
412
-
413
-* rs/remote-mv-leakfix (2018-08-01) 1 commit
414
- (merged to 'next' on 2018-08-06 at 999fe6d3e5)
415
- + remote: clear string_list after use in mv()
416
-
417
- Leakfix.
418
-
419
- Will merge to 'master'.
1114
+ Will merge to and cook in 'next'.
1115
1116
422
-* sb/config-write-fix (2018-08-01) 3 commits
1117
+* sb/config-write-fix (2018-08-08) 3 commits
1118
- git-config: document accidental multi-line setting in deprecated syntax
1119
- config: fix case sensitive subsection names on writing
1120
- t1300: document current behavior of setting options
@@ -431,10 +1126,9 @@ of the repositories listed at
1126
cf. <CAGZ79kZ1R8sxmtfgPOQcpoWM7GWV1qiRaqMq_zhGyKBB3ARLjg@mail.gmail.com>
1127
1128
434
-* sb/range-diff-colors (2018-08-01) 9 commits
435
- - fixup! t3206: add color test for range-diff --dual-color
1129
+* sb/range-diff-colors (2018-08-14) 8 commits
1130
- diff.c: rewrite emit_line_0 more understandably
437
- - diff.c: compute reverse locally in emit_line_0
1131
+ - diff.c: omit check for line prefix in emit_line_0
1132
- diff: use emit_line_0 once per line
1133
- diff.c: add set_sign to emit_line_0
1134
- diff.c: reorder arguments for emit_line_ws_markup
@@ -443,6 +1137,9 @@ of the repositories listed at
1137
- test_decode_color: understand FAINT and ITALIC
1138
(this branch uses js/range-diff; is tangled with es/format-patch-rangediff.)
1139
1140
+ The color output support for recently introduced "range-diff"
1141
+ command got tweaked a bit.
1142
+
1143
1144
* sg/t1404-update-ref-test-timeout (2018-08-01) 1 commit
1145
- t1404: increase core.packedRefsTimeout to avoid occasional test failure
@@ -450,45 +1147,27 @@ of the repositories listed at
1147
An attempt to unflake a test a bit.
1148
1149
453
-* sg/travis-retrieve-trash-upon-failure (2018-08-01) 1 commit
454
- (merged to 'next' on 2018-08-06 at d67def2a92)
455
- + travis-ci: include the trash directories of failed tests in the trace log
456
-
457
- The Travis CI scripts were taught to ship back the test data from
458
- failed tests.
459
-
460
- Will merge to 'master'.
461
-
462
-
463
-* jt/connectivity-check-after-unshallow (2018-08-01) 1 commit
464
- (merged to 'next' on 2018-08-06 at 1932418f46)
465
- + fetch-pack: unify ref in and out param
466
-
467
- "git fetch" sometimes failed to update the remote-tracking refs,
468
- which has been corrected.
469
-
470
- Will merge to 'master'.
471
-
472
-
1150
* ab/sha1dc (2018-08-02) 1 commit
474
- - sha1dc: update from upstream
1151
+ (merged to 'next' on 2018-08-08 at 920c190941)
1152
+ + sha1dc: update from upstream
1153
476
- AIX portability update for SHADC hash, imported from upstream.
1154
+ AIX portability update for SHA1DC hash, imported from upstream.
1155
478
- Will merge to 'next'.
1156
+ Will merge to 'master'.
1157
1158
1159
* es/want-color-fd-defensive (2018-08-03) 1 commit
482
- - color: protect against out-of-bounds reads and writes
1160
+ (merged to 'next' on 2018-08-08 at a11d90d26f)
1161
+ + color: protect against out-of-bounds reads and writes
1162
1163
Futureproofing a helper function that can easily misused.
1164
486
- Will merge to 'next'.
1165
+ Will merge to 'master'.
1166
1167
489
-* pw/rebase-i-author-script-fix (2018-08-02) 2 commits
1168
+* pw/rebase-i-author-script-fix (2018-08-07) 2 commits
1169
- sequencer: fix quoting in write_author_script
491
- - sequencer: handle errors in read_author_ident()
1170
+ - sequencer: handle errors from read_author_ident()
1171
(this branch uses es/rebase-i-author-script-fix.)
1172
1173
Recent "git rebase -i" update started to write bogusly formatted
@@ -501,13 +1180,14 @@ of the repositories listed at
1180
1181
1182
* rs/parse-opt-lithelp (2018-08-03) 7 commits
504
- - parse-options: automatically infer PARSE_OPT_LITERAL_ARGHELP
505
- - shortlog: correct option help for -w
506
- - send-pack: specify --force-with-lease argument help explicitly
507
- - pack-objects: specify --index-version argument help explicitly
508
- - difftool: remove angular brackets from argument help
509
- - add, update-index: fix --chmod argument help
510
- - push: use PARSE_OPT_LITERAL_ARGHELP instead of unbalanced brackets
1183
+ (merged to 'next' on 2018-08-08 at 3a4e0142fe)
1184
+ + parse-options: automatically infer PARSE_OPT_LITERAL_ARGHELP
1185
+ + shortlog: correct option help for -w
1186
+ + send-pack: specify --force-with-lease argument help explicitly
1187
+ + pack-objects: specify --index-version argument help explicitly
1188
+ + difftool: remove angular brackets from argument help
1189
+ + add, update-index: fix --chmod argument help
1190
+ + push: use PARSE_OPT_LITERAL_ARGHELP instead of unbalanced brackets
1191
1192
The parse-options machinery learned to refrain from enclosing
1193
placeholder string inside a "<bra" and "ket>" pair automatically
@@ -515,17 +1195,6 @@ of the repositories listed at
1195
arguments that are not formatted correctly have been identified and
1196
fixed.
1197
518
- Will merge to 'next'.
519
-
520
-
521
-* es/diff-color-moved-fix (2018-07-25) 1 commit
522
- (merged to 'next' on 2018-08-02 at 233bccfbfb)
523
- + diff: --color-moved: rename "dimmed_zebra" to "dimmed-zebra"
524
-
525
- One of the "diff --color-moved" mode "dimmed_zebra" that was named
526
- in an unusual way has been deprecated and replaced by
527
- "dimmed-zebra".
528
-
1198
Will merge to 'master'.
1199
1200
@@ -535,146 +1204,51 @@ of the repositories listed at
1204
- add -p: select modified lines correctly
1205
- add -p: select individual hunk lines
1206
538
- "git add -p" interactive interface learned to let users choose
539
- individual added/removed lines to be used in the operation, instead
540
- of accepting or rejecting a whole hunk.
541
-
542
- Will hold.
543
- cf. <d622a95b-7302-43d4-4ec9-b2cf3388c653@talktalk.net>
544
- I found the feature to be hard to explain, and may result in more
545
- end-user complaints, but let's see.
546
-
547
-
548
-* mk/http-backend-content-length (2018-07-30) 4 commits
549
- - t5562: avoid non-portable "export FOO=bar" construct
550
- - http-backend: respect CONTENT_LENGTH for receive-pack
551
- - http-backend: respect CONTENT_LENGTH as specified by rfc3875
552
- - http-backend: cleanup writing to child process
553
-
554
- The http-backend (used for smart-http transport) used to slurp the
555
- whole input until EOF, without paying attention to CONTENT_LENGTH
556
- that is supplied in the environment and instead expecting the Web
557
- server to close the input stream. This has been fixed.
558
-
559
- Will merge to 'next'.
560
-
561
-
562
-* ds/commit-graph-with-grafts (2018-07-19) 8 commits
563
- (merged to 'next' on 2018-08-02 at 0ee624e329)
564
- + commit-graph: close_commit_graph before shallow walk
565
- + commit-graph: not compatible with uninitialized repo
566
- + commit-graph: not compatible with grafts
567
- + commit-graph: not compatible with replace objects
568
- + test-repository: properly init repo
569
- + commit-graph: update design document
570
- + refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
571
- + refs.c: migrate internal ref iteration to pass thru repository argument
572
-
573
- The recently introduced commit-graph auxiliary data is incompatible
574
- with mechanisms such as replace & grafts that "breaks" immutable
575
- nature of the object reference relationship. Disable optimizations
576
- based on its use (and updating existing commit-graph) when these
577
- incompatible features are in use in the repository.
578
-
579
- Will cook in 'next'.
580
-
581
-
582
-* jk/core-use-replace-refs (2018-07-18) 3 commits
583
- (merged to 'next' on 2018-08-02 at 90fb6b1056)
584
- + add core.usereplacerefs config option
585
- + check_replace_refs: rename to read_replace_refs
586
- + check_replace_refs: fix outdated comment
587
-
588
- A new configuration variable core.usereplacerefs has been added,
589
- primarily to help server installations that want to ignore the
590
- replace mechanism altogether.
591
-
592
- Will merge to 'master'.
593
-
594
-
595
-* nd/i18n (2018-07-23) 23 commits
596
- (merged to 'next' on 2018-08-02 at 904a22a5d1)
597
- + transport-helper.c: mark more strings for translation
598
- + transport.c: mark more strings for translation
599
- + sha1-file.c: mark more strings for translation
600
- + sequencer.c: mark more strings for translation
601
- + replace-object.c: mark more strings for translation
602
- + refspec.c: mark more strings for translation
603
- + refs.c: mark more strings for translation
604
- + pkt-line.c: mark more strings for translation
605
- + object.c: mark more strings for translation
606
- + exec-cmd.c: mark more strings for translation
607
- + environment.c: mark more strings for translation
608
- + dir.c: mark more strings for translation
609
- + convert.c: mark more strings for translation
610
- + connect.c: mark more strings for translation
611
- + config.c: mark more strings for translation
612
- + commit-graph.c: mark more strings for translation
613
- + builtin/replace.c: mark more strings for translation
614
- + builtin/pack-objects.c: mark more strings for translation
615
- + builtin/grep.c: mark strings for translation
616
- + builtin/config.c: mark more strings for translation
617
- + archive-zip.c: mark more strings for translation
618
- + archive-tar.c: mark more strings for translation
619
- + Update messages in preparation for i18n
620
-
621
- Many more strings are prepared for l10n.
622
-
623
- Will merge to 'master'.
624
-
625
-
626
-* sb/histogram-less-memory (2018-07-23) 4 commits
627
- (merged to 'next' on 2018-08-02 at cfb02aa3b5)
628
- + xdiff/histogram: remove tail recursion
629
- + xdiff/xhistogram: move index allocation into find_lcs
630
- + xdiff/xhistogram: factor out memory cleanup into free_index()
631
- + xdiff/xhistogram: pass arguments directly to fall_back_to_classic_diff
632
-
633
- "git diff --histogram" had a bad memory usage pattern, which has
634
- been rearranged to reduce the peak usage.
635
-
636
- Will merge to 'master'.
637
-
638
-
639
-* bb/make-developer-pedantic (2018-07-25) 1 commit
640
- (merged to 'next' on 2018-08-02 at c738a84b7e)
641
- + Makefile: add a DEVOPTS flag to get pedantic compilation
642
-
643
- "make DEVELOPER=1 DEVOPTS=pedantic" allows developers to compile
644
- with -pedantic option, which may catch more problematic program
645
- constructs and potential bugs.
646
-
647
- Will merge to 'master'.
648
-
649
-
650
-* bw/clone-ref-prefixes (2018-07-20) 1 commit
651
- (merged to 'next' on 2018-08-02 at c8ad140ab0)
652
- + clone: send ref-prefixes when using protocol v2
653
-
654
- The wire-protocol v2 relies on the client to send "ref prefixes" to
655
- limit the bandwidth spent on the initial ref advertisement. "git
656
- clone" when learned to speak v2 forgot to do so, which has been
657
- corrected.
1207
+ "git add -p" interactive interface learned to let users choose
1208
+ individual added/removed lines to be used in the operation, instead
1209
+ of accepting or rejecting a whole hunk.
1210
659
- Will merge to 'master'.
1211
+ Will hold.
1212
+ cf. <d622a95b-7302-43d4-4ec9-b2cf3388c653@talktalk.net>
1213
+ I found the feature to be hard to explain, and may result in more
1214
+ end-user complaints, but let's see.
1215
1216
662
-* bw/fetch-pack-i18n (2018-07-23) 1 commit
663
- (merged to 'next' on 2018-08-02 at df72001755)
664
- + fetch-pack: mark die strings for translation
1217
+* mk/http-backend-content-length (2018-07-30) 4 commits
1218
+ (merged to 'next' on 2018-08-08 at 0091062ec4)
1219
+ + t5562: avoid non-portable "export FOO=bar" construct
1220
+ + http-backend: respect CONTENT_LENGTH for receive-pack
1221
+ + http-backend: respect CONTENT_LENGTH as specified by rfc3875
1222
+ + http-backend: cleanup writing to child process
1223
666
- i18n updates.
1224
+ The http-backend (used for smart-http transport) used to slurp the
1225
+ whole input until EOF, without paying attention to CONTENT_LENGTH
1226
+ that is supplied in the environment and instead expecting the Web
1227
+ server to close the input stream. This has been fixed.
1228
1229
Will merge to 'master'.
1230
1231
671
-* bw/protocol-v2 (2018-07-24) 1 commit
672
- (merged to 'next' on 2018-08-02 at f4076b3e94)
673
- + pack-protocol: mention and point to docs for protocol v2
1232
+* ds/commit-graph-with-grafts (2018-07-19) 8 commits
1233
+ (merged to 'next' on 2018-08-02 at 0ee624e329)
1234
+ + commit-graph: close_commit_graph before shallow walk
1235
+ + commit-graph: not compatible with uninitialized repo
1236
+ + commit-graph: not compatible with grafts
1237
+ + commit-graph: not compatible with replace objects
1238
+ + test-repository: properly init repo
1239
+ + commit-graph: update design document
1240
+ + refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
1241
+ + refs.c: migrate internal ref iteration to pass thru repository argument
1242
675
- Doc update.
1243
+ The recently introduced commit-graph auxiliary data is incompatible
1244
+ with mechanisms such as replace & grafts that "breaks" immutable
1245
+ nature of the object reference relationship. Disable optimizations
1246
+ based on its use (and updating existing commit-graph) when these
1247
+ incompatible features are in use in the repository.
1248
677
- Will merge to 'master'.
1249
+ Perhaps eject and replace with another reroll when it comes.
1250
+ cf. <a3640919-95cf-cca4-d552-4715a031dd7f@gmail.com>
1251
+ cf. <86bmap7l7a.fsf@gmail.com>
1252
1253
1254
* ds/reachable (2018-07-20) 18 commits
@@ -704,22 +1278,6 @@ of the repositories listed at
1278
Will merge to and cook in 'next'.
1279
1280
707
-* en/merge-recursive-skip-fix (2018-07-27) 2 commits
708
- (merged to 'next' on 2018-08-06 at 9ab321a15c)
709
- + merge-recursive: preserve skip_worktree bit when necessary
710
- + t3507: add a testcase showing failure with sparse checkout
711
-
712
- When the sparse checkout feature is in use, "git cherry-pick" and
713
- other mergy operations lost the skip_worktree bit when a path that
714
- is excluded from checkout requires content level merge, which is
715
- resolved as the same as the HEAD version, without materializing the
716
- merge result in the working tree, which made the path appear as
717
- deleted. This has been corrected by preserving the skip_worktree
718
- bit (and not materializing the file in the working tree).
719
-
720
- Will merge to 'master'.
721
-
722
-
1281
* es/format-patch-interdiff (2018-07-23) 6 commits
1282
- format-patch: allow --interdiff to apply to a lone-patch
1283
- log-tree: show_log: make commentary block delimiting reusable
@@ -737,7 +1295,7 @@ of the repositories listed at
1295
cf. <CAPig+cSuYUYSPTuKx08wcmQM-G12_-W2T4BS07fA=6grM1b8Gw@mail.gmail.com>
1296
1297
740
-* es/format-patch-rangediff (2018-07-30) 10 commits
1298
+* es/format-patch-rangediff (2018-08-14) 10 commits
1299
- format-patch: allow --range-diff to apply to a lone-patch
1300
- format-patch: add --creation-factor tweak for --range-diff
1301
- format-patch: teach --range-diff to respect -v/--reroll-count
@@ -757,76 +1315,6 @@ of the repositories listed at
1315
Need to wait for the prereq topics to solidify a bit more.
1316
1317
760
-* jk/banned-function (2018-07-26) 5 commits
761
- (merged to 'next' on 2018-08-06 at 3dcd1999df)
762
- + banned.h: mark strncpy() as banned
763
- + banned.h: mark sprintf() as banned
764
- + banned.h: mark strcat() as banned
765
- + automatically ban strcpy()
766
- + Merge branch 'sb/blame-color' into jk/banned-function
767
-
768
- It is too easy to misuse system API functions such as strcat();
769
- these selected functions are now forbidden in this codebase and
770
- will cause a compilation failure.
771
-
772
- Will merge to 'master'.
773
-
774
-
775
-* jk/size-t (2018-07-24) 6 commits
776
- (merged to 'next' on 2018-08-02 at 6f861e05f0)
777
- + strbuf_humanise: use unsigned variables
778
- + pass st.st_size as hint for strbuf_readlink()
779
- + strbuf_readlink: use ssize_t
780
- + strbuf: use size_t for length in intermediate variables
781
- + reencode_string: use size_t for string lengths
782
- + reencode_string: use st_add/st_mult helpers
783
-
784
- Code clean-up to use size_t/ssize_t when they are the right type.
785
-
786
- Will merge to 'master'.
787
-
788
-
789
-* js/t7406-recursive-submodule-update-order-fix (2018-07-23) 1 commit
790
- (merged to 'next' on 2018-08-02 at 217ea36a37)
791
- + t7406: avoid failures solely due to timing issues
792
-
793
- Test fix.
794
-
795
- Will merge to 'master'.
796
-
797
-
798
-* js/vscode (2018-07-30) 9 commits
799
- (merged to 'next' on 2018-08-06 at 5c578b63a8)
800
- + vscode: let cSpell work on commit messages, too
801
- + vscode: add a dictionary for cSpell
802
- + vscode: use 8-space tabs, no trailing ws, etc for Git's source code
803
- + vscode: wrap commit messages at column 72 by default
804
- + vscode: only overwrite C/C++ settings
805
- + mingw: define WIN32 explicitly
806
- + cache.h: extract enum declaration from inside a struct declaration
807
- + vscode: hard-code a couple defines
808
- + contrib: add a script to initialize VS Code configuration
809
-
810
- Add a script (in contrib/) to help users of VSCode work better with
811
- our codebase.
812
-
813
- Will merge to 'master'.
814
-
815
-
816
-* jt/tag-following-with-proto-v2-fix (2018-07-24) 2 commits
817
- (merged to 'next' on 2018-08-02 at d9eabdea95)
818
- + fetch: send "refs/tags/" prefix upon CLI refspecs
819
- + t5702: test fetch with multiple refspecs at a time
820
-
821
- The wire-protocol v2 relies on the client to send "ref prefixes" to
822
- limit the bandwidth spent on the initial ref advertisement. "git
823
- fetch $remote branch:branch" that asks tags that point into the
824
- history leading to the "branch" automatically followed sent to
825
- narrow prefix and broke the tag following, which has been fixed.
826
-
827
- Will merge to 'master'.
828
-
829
-
1318
* nd/pack-deltify-regression-fix (2018-07-23) 1 commit
1319
(merged to 'next' on 2018-08-02 at f3b2bf0fef)
1320
+ pack-objects: fix performance issues on packing large deltas
@@ -838,64 +1326,13 @@ of the repositories listed at
1326
Will cook in 'next'.
1327
1328
841
-* sb/trailers-docfix (2018-07-20) 1 commit
842
- (merged to 'next' on 2018-08-02 at ba348fafcd)
843
- + Documentation/git-interpret-trailers: explain possible values
844
-
845
- Doc update.
846
-
847
- Will merge to 'master'.
848
-
849
-
850
-* sg/coccicheck-updates (2018-07-23) 5 commits
851
- (merged to 'next' on 2018-08-02 at b5548ff3a9)
852
- + coccinelle: extract dedicated make target to clean Coccinelle's results
853
- + coccinelle: put sane filenames into output patches
854
- + coccinelle: exclude sha1dc source files from static analysis
855
- + coccinelle: use $(addsuffix) in 'coccicheck' make target
856
- + coccinelle: mark the 'coccicheck' make target as .PHONY
857
-
858
- Update the way we use Coccinelle to find out-of-style code that
859
- need to be modernised.
860
-
861
- Will merge to 'master'.
862
-
863
-
864
-* sg/fast-import-dump-refs-on-checkpoint-fix (2018-07-20) 1 commit
865
- (merged to 'next' on 2018-08-02 at f5c05b5a2c)
866
- + t9300: wait for background fast-import process to die after killing it
867
-
868
- Test update.
869
-
870
- Will merge to 'master'.
871
-
872
-
873
-* sg/travis-cocci-diagnose-failure (2018-07-23) 2 commits
874
- (merged to 'next' on 2018-08-02 at 54808a8778)
875
- + travis-ci: fail if Coccinelle static analysis found something to transform
876
- + travis-ci: run Coccinelle static analysis with two parallel jobs
877
-
878
- Update the way we run static analysis tool at TravisCI to make it
879
- easier to use its findings.
880
-
881
- Will merge to 'master'.
882
-
883
-
884
-* ab/newhash-is-sha256 (2018-08-06) 2 commits
885
- - doc hash-function-transition: pick SHA-256 as NewHash
886
- - doc hash-function-transition: note the lack of a changelog
1329
+* ab/newhash-is-sha256 (2018-08-07) 2 commits
1330
+ (merged to 'next' on 2018-08-15 at 2e808d75d3)
1331
+ + doc hash-function-transition: pick SHA-256 as NewHash
1332
+ + doc hash-function-transition: note the lack of a changelog
1333
1334
Documentation update.
1335
890
- Will Merge to 'next'.
891
-
892
-
893
-* bb/redecl-enum-fix (2018-07-26) 1 commit
894
- (merged to 'next' on 2018-08-06 at 828dc4b156)
895
- + packfile: ensure that enum object_type is defined
896
-
897
- Compilation fix.
898
-
1336
Will merge to 'master'.
1337
1338
@@ -925,38 +1362,19 @@ of the repositories listed at
1362
- structured-logging: add structured logging framework
1363
- structured-logging: add STRUCTURED_LOGGING=1 to Makefile
1364
- structured-logging: design document
928
- (this branch uses jh/json-writer.)
1365
1366
Will merge to 'next'.
1367
1368
1369
* en/abort-df-conflict-fixes (2018-07-31) 2 commits
934
- - read-cache: fix directory/file conflict handling in read_index_unmerged()
935
- - t1015: demonstrate directory/file conflict recovery failures
1370
+ (merged to 'next' on 2018-08-08 at a19cad0bb7)
1371
+ + read-cache: fix directory/file conflict handling in read_index_unmerged()
1372
+ + t1015: demonstrate directory/file conflict recovery failures
1373
1374
"git merge --abort" etc. did not clean things up properly when
1375
there were conflicted entries in certain order that are involved
1376
in D/F conflicts. This has been corrected.
1377
941
- Will merge to 'next'.
942
-
943
-
944
-* hs/gpgsm (2018-07-20) 7 commits
945
- (merged to 'next' on 2018-08-02 at db28bffe4f)
946
- + gpg-interface t: extend the existing GPG tests with GPGSM
947
- + gpg-interface: introduce new signature format "x509" using gpgsm
948
- + gpg-interface: introduce new config to select per gpg format program
949
- + gpg-interface: do not hardcode the key string len anymore
950
- + gpg-interface: introduce an abstraction for multiple gpg formats
951
- + t/t7510: check the validation of the new config gpg.format
952
- + gpg-interface: add new config to select how to sign a commit
953
-
954
- Teach "git tag -s" etc. a few configuration varaibles (gpg.format
955
- that can be set to "openpgp" or "x509", and gpg.<format>.program
956
- that is used to specify what program to use to deal with the format)
957
- to allow x.509 certs with CMS via "gpgsm" to be used instead of
958
- openpgp via "gnupg".
959
-
1378
Will merge to 'master'.
1379
1380
@@ -976,7 +1394,7 @@ of the repositories listed at
1394
cf. <20180717201348.GD26218@sigill.intra.peff.net>
1395
1396
979
-* sb/submodule-update-in-c (2018-08-03) 7 commits
1397
+* sb/submodule-update-in-c (2018-08-14) 7 commits
1398
- submodule--helper: introduce new update-module-mode helper
1399
- submodule--helper: replace connect-gitdir-workingtree by ensure-core-worktree
1400
- builtin/submodule--helper: factor out method to update a single submodule
@@ -990,19 +1408,6 @@ of the repositories listed at
1408
Will merge to and cook in 'next'.
1409
1410
993
-* sl/commit-dry-run-with-short-output-fix (2018-07-30) 4 commits
994
- . commit: fix exit code when doing a dry run
995
- . wt-status: teach wt_status_collect about merges in progress
996
- . wt-status: rename commitable to committable
997
- . t7501: add coverage for flags which imply dry runs
998
-
999
- "git commit --dry-run" gave a correct exit status even during a
1000
- conflict resolution toward a merge, but it did not with the
1001
- "--short" option, which has been corrected.
1002
-
1003
- Seems to break 7512, 3404 and 7060 in 'pu'.
1004
-
1005
-
1411
* tg/rerere (2018-08-06) 11 commits
1412
- rerere: recalculate conflict ID when unresolved conflict is committed
1413
- rerere: teach rerere to handle nested conflicts
@@ -1022,26 +1427,7 @@ of the repositories listed at
1427
Will merge to and cook in 'next'.
1428
1429
1025
-* jk/ui-color-always-to-auto (2018-07-18) 1 commit
1026
- (merged to 'next' on 2018-08-02 at 1a054baf0e)
1027
- + Documentation: fix --color option formatting
1028
-
1029
- Doc formatting fix.
1030
-
1031
- Will merge to 'master'.
1032
-
1033
-
1034
-* jh/json-writer (2018-07-16) 1 commit
1035
- (merged to 'next' on 2018-08-02 at d841450c7d)
1036
- + json_writer: new routines to create JSON data
1037
- (this branch is used by jh/structured-logging.)
1038
-
1039
- Preparatory code to later add json output for telemetry data.
1040
-
1041
- Will merge to 'master'.
1042
-
1043
-
1044
-* ag/rebase-i-in-c (2018-07-31) 20 commits
1430
+* ag/rebase-i-in-c (2018-08-10) 20 commits
1431
- rebase -i: move rebase--helper modes to rebase--interactive
1432
- rebase -i: remove git-rebase--interactive.sh
1433
- rebase--interactive2: rewrite the submodes of interactive rebase in C
@@ -1061,43 +1447,43 @@ of the repositories listed at
1447
- rebase -i: rewrite the edit-todo functionality in C
1448
- editor: add a function to launch the sequence editor
1449
- rebase -i: rewrite append_todo_help() in C
1064
- - sequencer: make two functions and an enum from sequencer.c public
1450
+ - sequencer: make three functions and an enum from sequencer.c public
1451
1452
Rewrite of the remaining "rebase -i" machinery in C.
1453
1454
Will merge to 'next'.
1455
1456
1071
-* js/range-diff (2018-07-30) 21 commits
1072
- - range-diff: use dim/bold cues to improve dual color mode
1073
- - range-diff: make --dual-color the default mode
1074
- - range-diff: left-pad patch numbers
1075
- - completion: support `git range-diff`
1076
- - range-diff: populate the man page
1077
- - range-diff --dual-color: fix bogus white-space warning
1078
- - range-diff: offer to dual-color the diffs
1079
- - diff: add an internal option to dual-color diffs of diffs
1080
- - color: add the meta color GIT_COLOR_REVERSE
1081
- - range-diff: use color for the commit pairs
1082
- - range-diff: add tests
1083
- - range-diff: do not show "function names" in hunk headers
1084
- - range-diff: adjust the output of the commit pairs
1085
- - range-diff: suppress the diff headers
1086
- - range-diff: indent the diffs just like tbdiff
1087
- - range-diff: right-trim commit messages
1088
- - range-diff: also show the diff between patches
1089
- - range-diff: improve the order of the shown commits
1090
- - range-diff: first rudimentary implementation
1091
- - Introduce `range-diff` to compare iterations of a topic branch
1092
- - linear-assignment: a function to solve least-cost assignment problems
1457
+* js/range-diff (2018-08-13) 21 commits
1458
+ (merged to 'next' on 2018-08-15 at 8d56067806)
1459
+ + range-diff: use dim/bold cues to improve dual color mode
1460
+ + range-diff: make --dual-color the default mode
1461
+ + range-diff: left-pad patch numbers
1462
+ + completion: support `git range-diff`
1463
+ + range-diff: populate the man page
1464
+ + range-diff --dual-color: skip white-space warnings
1465
+ + range-diff: offer to dual-color the diffs
1466
+ + diff: add an internal option to dual-color diffs of diffs
1467
+ + color: add the meta color GIT_COLOR_REVERSE
1468
+ + range-diff: use color for the commit pairs
1469
+ + range-diff: add tests
1470
+ + range-diff: do not show "function names" in hunk headers
1471
+ + range-diff: adjust the output of the commit pairs
1472
+ + range-diff: suppress the diff headers
1473
+ + range-diff: indent the diffs just like tbdiff
1474
+ + range-diff: right-trim commit messages
1475
+ + range-diff: also show the diff between patches
1476
+ + range-diff: improve the order of the shown commits
1477
+ + range-diff: first rudimentary implementation
1478
+ + Introduce `range-diff` to compare iterations of a topic branch
1479
+ + linear-assignment: a function to solve least-cost assignment problems
1480
(this branch is used by es/format-patch-rangediff and sb/range-diff-colors.)
1481
1482
"git tbdiff" that lets us compare individual patches in two
1483
iterations of a topic has been rewritten and made into a built-in
1484
command.
1485
1099
- It seems there will another hopefully the final reroll coming.
1100
- cf. <nycvar.QRO.7.76.6.1808011800570.71@tvgsbejvaqbjf.bet>
1486
+ Will merge to 'master'.
1487
1488
1489
* lt/date-human (2018-07-09) 1 commit
@@ -1111,11 +1497,12 @@ of the repositories listed at
1497
1498
1499
* ot/ref-filter-object-info (2018-07-17) 5 commits
1114
- - ref-filter: use oid_object_info() to get object
1115
- - ref-filter: merge get_obj and get_object
1116
- - ref-filter: initialize eaten variable
1117
- - ref-filter: fill empty fields with empty values
1118
- - ref-filter: add info_source to valid_atom
1500
+ (merged to 'next' on 2018-08-08 at 9ed619941b)
1501
+ + ref-filter: use oid_object_info() to get object
1502
+ + ref-filter: merge get_obj and get_object
1503
+ + ref-filter: initialize eaten variable
1504
+ + ref-filter: fill empty fields with empty values
1505
+ + ref-filter: add info_source to valid_atom
1506
1507
A few atoms like %(objecttype) and %(objectsize) in the format
1508
specifier of "for-each-ref --format=<format>" can be filled without
@@ -1123,72 +1510,52 @@ of the repositories listed at
1510
header. These cases have been optimzied by calling
1511
oid_object_info() API.
1512
1126
- Will merge to 'next'.
1513
+ Will merge to 'master'.
1514
1515
1516
* pk/rebase-in-c (2018-08-06) 3 commits
1517
- builtin/rebase: support running "git rebase <upstream>"
1518
- rebase: refactor common shell functions into their own file
1519
- rebase: start implementing it as a builtin
1520
+ (this branch is used by pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final.)
1521
1522
Rewrite of the "rebase" machinery in C.
1523
1524
1525
* jk/branch-l-1-repurpose (2018-06-22) 1 commit
1138
- - branch: make "-l" a synonym for "--list"
1526
+ (merged to 'next' on 2018-08-08 at d2a08dd08e)
1527
+ + branch: make "-l" a synonym for "--list"
1528
1529
Updated plan to repurpose the "-l" option to "git branch".
1530
1531
Will merge to and cook in 'next'.
1532
1533
1145
-* cc/remote-odb (2018-08-02) 9 commits
1146
- - Documentation/config: add odb.<name>.promisorRemote
1147
- - t0410: test fetching from many promisor remotes
1148
- - Use odb.origin.partialclonefilter instead of core.partialclonefilter
1149
- - Use remote_odb_get_direct() and has_remote_odb()
1150
- - remote-odb: add remote_odb_reinit()
1151
- - remote-odb: implement remote_odb_get_many_direct()
1152
- - remote-odb: implement remote_odb_get_direct()
1153
- - Add initial remote odb support
1154
- - fetch-object: make functions return an error code
1155
-
1156
- Implement lazy fetches of missing objects to complement the
1157
- experimental partial clone feature.
1158
-
1159
- I haven't seen much interest in this topic on list. What's the
1160
- doneness of this thing?
1161
-
1162
- I do not particularly mind adding code to support a niche feature
1163
- as long as it is cleanly made and it is clear that the feature
1164
- won't negatively affect those who do not use it, so a review from
1165
- that point of view may also be appropriate.
1166
-
1167
-
1534
* ds/multi-pack-index (2018-07-20) 23 commits
1169
- - midx: clear midx on repack
1170
- - packfile: skip loading index if in multi-pack-index
1171
- - midx: prevent duplicate packfile loads
1172
- - midx: use midx in approximate_object_count
1173
- - midx: use existing midx when writing new one
1174
- - midx: use midx in abbreviation calculations
1175
- - midx: read objects from multi-pack-index
1176
- - config: create core.multiPackIndex setting
1177
- - midx: write object offsets
1178
- - midx: write object id fanout chunk
1179
- - midx: write object ids in a chunk
1180
- - midx: sort and deduplicate objects from packfiles
1181
- - midx: read pack names into array
1182
- - multi-pack-index: write pack names in chunk
1183
- - multi-pack-index: read packfile list
1184
- - packfile: generalize pack directory list
1185
- - t5319: expand test data
1186
- - multi-pack-index: load into memory
1187
- - midx: write header information to lockfile
1188
- - multi-pack-index: add 'write' verb
1189
- - multi-pack-index: add builtin
1190
- - multi-pack-index: add format details
1191
- - multi-pack-index: add design document
1535
+ (merged to 'next' on 2018-08-08 at 1a56c52967)
1536
+ + midx: clear midx on repack
1537
+ + packfile: skip loading index if in multi-pack-index
1538
+ + midx: prevent duplicate packfile loads
1539
+ + midx: use midx in approximate_object_count
1540
+ + midx: use existing midx when writing new one
1541
+ + midx: use midx in abbreviation calculations
1542
+ + midx: read objects from multi-pack-index
1543
+ + config: create core.multiPackIndex setting
1544
+ + midx: write object offsets
1545
+ + midx: write object id fanout chunk
1546
+ + midx: write object ids in a chunk
1547
+ + midx: sort and deduplicate objects from packfiles
1548
+ + midx: read pack names into array
1549
+ + multi-pack-index: write pack names in chunk
1550
+ + multi-pack-index: read packfile list
1551
+ + packfile: generalize pack directory list
1552
+ + t5319: expand test data
1553
+ + multi-pack-index: load into memory
1554
+ + midx: write header information to lockfile
1555
+ + multi-pack-index: add 'write' verb
1556
+ + multi-pack-index: add builtin
1557
+ + multi-pack-index: add format details
1558
+ + multi-pack-index: add design document
1559
1560
When there are too many packfiles in a repository (which is not
1561
recommended), looking up an object in these would require
@@ -1216,3 +1583,29 @@ of the repositories listed at
1583
Code clarification.
1584
1585
Superseded by another topic.
1586
+
1587
+
1588
+* cc/remote-odb (2018-08-02) 9 commits
1589
+ . Documentation/config: add odb.<name>.promisorRemote
1590
+ . t0410: test fetching from many promisor remotes
1591
+ . Use odb.origin.partialclonefilter instead of core.partialclonefilter
1592
+ . Use remote_odb_get_direct() and has_remote_odb()
1593
+ . remote-odb: add remote_odb_reinit()
1594
+ . remote-odb: implement remote_odb_get_many_direct()
1595
+ . remote-odb: implement remote_odb_get_direct()
1596
+ . Add initial remote odb support
1597
+ . fetch-object: make functions return an error code
1598
+
1599
+ Implement lazy fetches of missing objects to complement the
1600
+ experimental partial clone feature.
1601
+
1602
+ Ejected; seems to break existing repositories that use partialclone
1603
+ repository extension.
1604
+
1605
+ I haven't seen much interest in this topic on list. What's the
1606
+ doneness of this thing?
1607
+
1608
+ I do not particularly mind adding code to support a niche feature
1609
+ as long as it is cleanly made and it is clear that the feature
1610
+ won't negatively affect those who do not use it, so a review from
1611
+ that point of view may also be appropriate.