What's cooking (2017/04 #04)
Junio C Hamano committed
Apr 20, 2017 at 15:52 UTC
9749f7aaf8bd309698a449fba6bb57faff118396
1 file changed
+390
-364
whats-cooking.txt
+390
-364
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Apr 2017, #03; Tue, 18)
4
-X-master-at: 584f8975d2d9530a34bd0b936ae774f82fe30fed
5
-X-next-at: 79292aac69b6a4563ffbc4589a70ae46f7eb15cb
3
+Subject: What's cooking in git.git (Apr 2017, #04; Wed, 19)
4
+X-master-at: 6a2c2f8d34fa1e8f3bb85d159d354810ed63692e
5
+X-next-at: b4426549316a3855d2b022fb331e7173b26879d0
6
7
-What's cooking in git.git (Apr 2017, #03; Tue, 18)
7
+What's cooking in git.git (Apr 2017, #04; Wed, 19)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -18,114 +18,247 @@ of the repositories listed at
18
http://git-blame.blogspot.com/p/git-public-repositories.html
19
20
--------------------------------------------------
21
-[New Topics]
21
+[Graduated to "master"]
22
23
-* df/dir-iter-remove-subtree (2017-04-17) 5 commits
24
- - remove_subtree(): reimplement using iterators
25
- - dir_iterator: refactor state machine model
26
- - dir_iterator: add helpers to dir_iterator_advance
27
- - remove_subtree(): test removing nested directories
28
- - dir_iterator: add tests for dir_iterator API
23
+* ab/grep-plug-pathspec-leak (2017-04-16) 1 commit
24
+ (merged to 'next' on 2017-04-18 at d8f00b5e44)
25
+ + grep: plug a trivial memory leak
26
30
- Update the dir-iterator API and use it to reimplement
31
- remove_subtree().
27
+ Call clear_pathspec() to release resources immediately before the
28
+ cmd_grep() function returns.
29
33
- Waiting for response to review.
34
- GSoC microproject.
30
31
+* ah/diff-files-ours-theirs-doc (2017-04-13) 1 commit
32
+ (merged to 'next' on 2017-04-18 at a4f80f0c3f)
33
+ + diff-files: document --ours etc.
34
37
-* jk/ls-files-recurse-submodules-fix (2017-04-18) 2 commits
38
- - ls-files: fix path used when recursing into submodules
39
- - ls-files: fix recurse-submodules with nested submodules
35
+ The diff options "--ours", "--theirs" exist for quite some time.
36
+ But so far they were not documented. Now they are.
37
41
- "ls-files --recurse-submodules" did not quite work well in a
42
- project with nested submodules.
38
44
- Will merge to 'next'.
39
+* bc/object-id (2017-03-31) 20 commits
40
+ (merged to 'next' on 2017-04-16 at b16f1899dd)
41
+ + Documentation: update and rename api-sha1-array.txt
42
+ + Rename sha1_array to oid_array
43
+ + Convert sha1_array_for_each_unique and for_each_abbrev to object_id
44
+ + Convert sha1_array_lookup to take struct object_id
45
+ + Convert remaining callers of sha1_array_lookup to object_id
46
+ + Make sha1_array_append take a struct object_id *
47
+ + sha1-array: convert internal storage for struct sha1_array to object_id
48
+ + builtin/pull: convert to struct object_id
49
+ + submodule: convert check_for_new_submodule_commits to object_id
50
+ + sha1_name: convert disambiguate_hint_fn to take object_id
51
+ + sha1_name: convert struct disambiguate_state to object_id
52
+ + test-sha1-array: convert most code to struct object_id
53
+ + parse-options-cb: convert sha1_array_append caller to struct object_id
54
+ + fsck: convert init_skiplist to struct object_id
55
+ + builtin/receive-pack: convert portions to struct object_id
56
+ + builtin/pull: convert portions to struct object_id
57
+ + builtin/diff: convert to struct object_id
58
+ + Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ
59
+ + Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ
60
+ + Define new hash-size constants for allocating memory
61
62
+ Conversion from unsigned char [40] to struct object_id continues.
63
47
-* jt/fetch-pack-error-reporting (2017-04-17) 1 commit
48
- - fetch-pack: show clearer error message upon ERR
64
50
- "git fetch-pack" was not prepared to accept ERR packet that the
51
- upload-pack can send with a human-readable error message. It
52
- showed the packet contents with ERR prefix, so there was no data
53
- loss, but it was redundant to say "ERR" in an error message.
65
+* bw/attr-pathspec (2017-04-16) 1 commit
66
+ (merged to 'next' on 2017-04-18 at 2644ca1269)
67
+ + pathspec: fix segfault in clear_pathspec
68
55
- Will merge to 'next'.
69
+ Hotfix for a topic already in 'master'.
70
71
58
-* nd/conditional-config-in-early-config (2017-04-17) 3 commits
59
- - config: correct file reading order in read_early_config()
60
- - config: handle conditional include when $GIT_DIR is not set up
61
- - config: prepare to pass more info in git_config_with_options()
72
+* bw/push-options-recursively-to-submodules (2017-04-11) 5 commits
73
+ (merged to 'next' on 2017-04-16 at d4d657724b)
74
+ + push: propagate remote and refspec with --recurse-submodules
75
+ + submodule--helper: add push-check subcommand
76
+ + remote: expose parse_push_refspec function
77
+ + push: propagate push-options with --recurse-submodules
78
+ + push: unmark a local variable as static
79
63
- The recently introduced conditional inclusion of configuration did
64
- not work well when early-config mechanism was involved.
80
+ "git push --recurse-submodules --push-option=<string>" learned to
81
+ propagate the push option recursively down to pushes in submodules.
82
66
- Will merge to 'next'.
83
84
+* bw/submodule-is-active (2017-04-13) 1 commit
85
+ (merged to 'next' on 2017-04-18 at 25b05ec29e)
86
+ + submodule--helper: fix typo in is_active error message
87
69
-* sb/checkout-recurse-submodules (2017-04-17) 1 commit
70
- - submodule: remove a superfluous second check for the "new" variable
88
+ Error message fix.
89
72
- Code cleanup.
90
74
- Will merge to 'next'.
91
+* dt/gc-ignore-old-gc-logs (2017-04-16) 1 commit
92
+ (merged to 'next' on 2017-04-18 at caadf4ff66)
93
+ + t6500: wait for detached auto gc at the end of the test script
94
95
+ Hotfix for a topic already in 'master'.
96
77
-* xy/format-patch-base (2017-04-17) 1 commit
78
- - doc: trivial typo in git-format-patch.txt
97
80
- Doc cleanup.
98
+* jh/memihash-opt (2017-04-18) 4 commits
99
+ (merged to 'next' on 2017-04-18 at 6555be6bab)
100
+ + p0004: make perf test executable
101
+ (merged to 'next' on 2017-04-15 at 6bfc58e19a)
102
+ + t3008: skip lazy-init test on a single-core box
103
+ + test-online-cpus: helper to return cpu count
104
+ (merged to 'next' on 2017-04-11 at ec5a6f2818)
105
+ + name-hash: fix buffer overrun
106
82
- Will merge to 'next'.
107
+ Hotfix for a topic that is already in 'master'.
108
109
85
-* jk/snprintf-cleanups (2017-04-17) 1 commit
86
- - replace: plug a memory leak
110
+* jk/no-looking-at-dotgit-outside-repo (2017-04-16) 2 commits
111
+ (merged to 'next' on 2017-04-18 at 68260787ad)
112
+ + test-read-cache: setup git dir
113
+ + has_sha1_file: don't bother if we are not in a repository
114
+
115
+ Clean up fallouts from recent tightening of the set-up sequence,
116
+ where Git barfs when repository information is accessed without
117
+ first ensuring that it was started in a repository.
118
+
119
+
120
+* ld/p4-current-branch-fix (2017-04-16) 3 commits
121
+ (merged to 'next' on 2017-04-18 at 9e74a2609e)
122
+ + git-p4: don't use name-rev to get current branch
123
+ + git-p4: add read_pipe_text() internal function
124
+ + git-p4: add failing test for name-rev rather than symbolic-ref
125
+
126
+ "git p4" used "name-rev HEAD" when it wants to learn what branch is
127
+ checked out; it should use "symbolic-ref HEAD".
128
+
129
+
130
+* lt/mailinfo-in-body-header-continuation (2017-04-11) 1 commit
131
+ (merged to 'next' on 2017-04-16 at b2f51f0780)
132
+ + mailinfo: fix in-body header continuations
133
+
134
+ If a patch e-mail had its first paragraph after an in-body header
135
+ indented (even after a blank line after the in-body header line),
136
+ the indented line was mistook as a continuation of the in-body
137
+ header. This has been fixed.
138
+
139
+
140
+* nd/files-backend-git-dir (2017-04-14) 28 commits
141
+ (merged to 'next' on 2017-04-18 at 79292aac69)
142
+ + refs.h: add a note about sorting order of for_each_ref_*
143
+ + t1406: new tests for submodule ref store
144
+ + t1405: some basic tests on main ref store
145
+ + t/helper: add test-ref-store to test ref-store functions
146
+ + refs: delete pack_refs() in favor of refs_pack_refs()
147
+ + files-backend: avoid ref api targeting main ref store
148
+ + refs: new transaction related ref-store api
149
+ + refs: add new ref-store api
150
+ + refs: rename get_ref_store() to get_submodule_ref_store() and make it public
151
+ + files-backend: replace submodule_allowed check in files_downcast()
152
+ + refs: move submodule code out of files-backend.c
153
+ + path.c: move some code out of strbuf_git_path_submodule()
154
+ + refs.c: make get_main_ref_store() public and use it
155
+ + refs.c: kill register_ref_store(), add register_submodule_ref_store()
156
+ + refs.c: flatten get_ref_store() a bit
157
+ + refs: rename lookup_ref_store() to lookup_submodule_ref_store()
158
+ + refs.c: introduce get_main_ref_store()
159
+ + files-backend: remove the use of git_path()
160
+ + files-backend: add and use files_ref_path()
161
+ + files-backend: add and use files_reflog_path()
162
+ + files-backend: move "logs/" out of TMP_RENAMED_LOG
163
+ + files-backend: convert git_path() to strbuf_git_path()
164
+ + files-backend: make sure files_rename_ref() always reach the end
165
+ + files-backend: add and use files_packed_refs_path()
166
+ + files-backend: delete dead code in files_init_db()
167
+ + files-backend.c: delete dead code in files_ref_iterator_begin()
168
+ + files-backend: make files_log_ref_write() static
169
+ + refs.h: add forward declaration for structs used in this file
170
+ (this branch is used by mh/separate-ref-cache, nd/prune-in-worktree and nd/worktree-kill-parse-ref.)
171
+
172
+ The "submodule" specific field in the ref_store structure is
173
+ replaced with a more generic "gitdir" that can later be used also
174
+ when dealing with ref_store that represents the set of refs visible
175
+ from the other worktrees.
176
+
177
+
178
+* sb/submodule-rm-absorb (2017-04-13) 1 commit
179
+ (merged to 'next' on 2017-04-18 at 179081f848)
180
+ + submodule.c: add missing ' in error messages
181
+
182
+ Error message fix.
183
+
184
+
185
+* sb/submodule-short-status (2017-03-29) 7 commits
186
+ (merged to 'next' on 2017-04-16 at 24e18f4a4a)
187
+ + submodule.c: correctly handle nested submodules in is_submodule_modified
188
+ + short status: improve reporting for submodule changes
189
+ + submodule.c: stricter checking for submodules in is_submodule_modified
190
+ + submodule.c: port is_submodule_modified to use porcelain 2
191
+ + submodule.c: convert is_submodule_modified to use strbuf_getwholeline
192
+ + submodule.c: factor out early loop termination in is_submodule_modified
193
+ + submodule.c: use argv_array in is_submodule_modified
194
+
195
+ The output from "git status --short" has been extended to show
196
+ various kinds of dirtyness in submodules differently; instead of to
197
+ "M" for modified, 'm' and '?' can be shown to signal changes only
198
+ to the working tree of the submodule but not the commit that is
199
+ checked out.
200
88
- Hotfix for a topic that is already in 'master'.
201
+
202
+* sf/putty-w-args (2017-04-16) 1 commit
203
+ (merged to 'next' on 2017-04-18 at cbf042088c)
204
+ + connect.c: handle errors from split_cmdline
205
+
206
+ Hotfix for a topic already in 'master'.
207
+
208
+
209
+* va/i18n-perl-scripts (2017-04-13) 1 commit
210
+ (merged to 'next' on 2017-04-18 at 89f1c77091)
211
+ + git-add--interactive.perl: add missing dot in a message
212
+
213
+ Message fix.
214
+
215
+
216
+* vn/revision-shorthand-for-side-branch-log (2017-04-16) 1 commit
217
+ (merged to 'next' on 2017-04-18 at 9fbe55bfef)
218
+ + doc/revisions: remove brackets from rev^-n shorthand
219
+
220
+ Doc cleanup.
221
+
222
+--------------------------------------------------
223
+[New Topics]
224
+
225
+* ab/push-cas-doc-n-test (2017-04-19) 1 commit
226
+ - push: document & test --force-with-lease with multiple remotes
227
+
228
+ Doc update.
229
230
Will merge to 'next'.
231
232
93
-* ab/clone-no-tags (2017-04-18) 1 commit
94
- - clone: add a --no-tags option to clone without tags
233
+* jk/parse-options-no-no-no (2017-04-19) 2 commits
234
+ - SQUASH???
235
+ - parse-options: disallow double-negations of options starting with no-
236
96
- "git clone" learned the "--no-tags" option not to fetch all tags
97
- initially, and also set up the tagopt not to follow any tags in
98
- subsequent fetches.
237
+ Command line options that begin with "--no-" (e.g. "--no-checkout"
238
+ option of "git clone") can be negated by removing "--no-"; we
239
+ historically also allowed prefixing an extra "no" to the option
240
+ (e.g. "--no-no-checkout"), which made the command line look ugly
241
+ and unusual. This proposes to forbid it.
242
243
+ While I agree there is no need to support "--no-no-checkout", this
244
+ looks more like "if it looks ugly and unusual, you do not have to
245
+ use it". Perhaps we can drop it?
246
101
-* ab/completion-push-delete-ref (2017-04-18) 1 commit
102
- - completion: expand "push --delete <remote> <ref>" for refs on that <remote>
247
104
- The completion script (in contrib/) learned to complete "git push
105
- --delete b<TAB>" to complete branch name to be deleted.
248
+* ss/gitmodules-ignore-doc (2017-04-19) 1 commit
249
+ - gitmodules: clarify the ignore option values
250
251
+ Doc update.
252
108
-* bw/forking-and-threading (2017-04-18) 11 commits
109
- - run-command: block signals between fork and execve
110
- - run-command: add note about forking and threading
111
- - run-command: handle dup2 and close errors in child
112
- - run-command: eliminate calls to error handling functions in child
113
- - run-command: don't die in child when duping /dev/null
114
- - run-command: prepare child environment before forking
115
- - string-list: add string_list_remove function
116
- - run-command: use the async-signal-safe execv instead of execvp
117
- - run-command: prepare command before forking
118
- - t0061: run_command executes scripts without a #! line
119
- - t5550: use write_script to generate post-update hook
253
+ Will merge to 'next'.
254
255
122
-* sb/reset-recurse-submodules (2017-04-18) 4 commits
123
- - builtin/reset: add --recurse-submodules switch
124
- - submodule.c: submodule_move_head works with broken submodules
125
- - submodule.c: uninitialized submodules are ignored in recursive commands
126
- - entry.c: submodule recursing: respect force flag correctly
256
+* ss/submodule-shallow-doc (2017-04-19) 1 commit
257
+ - gitmodules: clarify what history depth a shallow clone has
258
128
- "git reset" learned "--recurse-submodules" option.
259
+ Doc update.
260
+
261
+ Will merge to 'next'.
262
263
--------------------------------------------------
264
[Stalled]
@@ -251,80 +384,185 @@ of the repositories listed at
384
--------------------------------------------------
385
[Cooking]
386
254
-* ah/diff-files-ours-theirs-doc (2017-04-13) 1 commit
255
- (merged to 'next' on 2017-04-18 at a4f80f0c3f)
256
- + diff-files: document --ours etc.
387
+* df/dir-iter-remove-subtree (2017-04-19) 5 commits
388
+ - remove_subtree(): reimplement using iterators
389
+ - dir_iterator: rewrite state machine model
390
+ - dir_iterator: refactor dir_iterator_advance
391
+ - remove_subtree(): test removing nested directories
392
+ - dir_iterator: add tests for dir_iterator API
393
258
- The diff options "--ours", "--theirs" exist for quite some time.
259
- But so far they were not documented. Now they are.
394
+ Update the dir-iterator API and use it to reimplement
395
+ remove_subtree().
396
+
397
+ Almost there except for a minor nit.
398
+ GSoC microproject.
399
+
400
+
401
+* jk/ls-files-recurse-submodules-fix (2017-04-18) 2 commits
402
+ (merged to 'next' on 2017-04-19 at d4682ceaae)
403
+ + ls-files: fix path used when recursing into submodules
404
+ + ls-files: fix recurse-submodules with nested submodules
405
+
406
+ "ls-files --recurse-submodules" did not quite work well in a
407
+ project with nested submodules.
408
+
409
+ Will merge to 'master'.
410
+
411
+
412
+* jt/fetch-pack-error-reporting (2017-04-17) 1 commit
413
+ (merged to 'next' on 2017-04-19 at 6da61f7236)
414
+ + fetch-pack: show clearer error message upon ERR
415
+
416
+ "git fetch-pack" was not prepared to accept ERR packet that the
417
+ upload-pack can send with a human-readable error message. It
418
+ showed the packet contents with ERR prefix, so there was no data
419
+ loss, but it was redundant to say "ERR" in an error message.
420
+
421
+ Will merge to 'master'.
422
+
423
+
424
+* nd/conditional-config-in-early-config (2017-04-19) 3 commits
425
+ - config: correct file reading order in read_early_config()
426
+ - config: handle conditional include when $GIT_DIR is not set up
427
+ - config: prepare to pass more info in git_config_with_options()
428
+
429
+ The recently introduced conditional inclusion of configuration did
430
+ not work well when early-config mechanism was involved.
431
+
432
+ Will merge to 'next'.
433
+
434
+
435
+* sb/checkout-recurse-submodules (2017-04-17) 1 commit
436
+ (merged to 'next' on 2017-04-19 at 414e18fd9b)
437
+ + submodule: remove a superfluous second check for the "new" variable
438
+
439
+ Code cleanup.
440
+
441
+ Will merge to 'master'.
442
+
443
+
444
+* xy/format-patch-base (2017-04-17) 1 commit
445
+ (merged to 'next' on 2017-04-19 at c10723d486)
446
+ + doc: trivial typo in git-format-patch.txt
447
+
448
+ Doc cleanup.
449
+
450
+ Will merge to 'master'.
451
+
452
+
453
+* jk/snprintf-cleanups (2017-04-17) 1 commit
454
+ (merged to 'next' on 2017-04-19 at 4a18ea9971)
455
+ + replace: plug a memory leak
456
+
457
+ Hotfix for a topic that is already in 'master'.
458
+
459
+ Will merge to 'master'.
460
+
461
+
462
+* ab/clone-no-tags (2017-04-19) 1 commit
463
+ - clone: add a --no-tags option to clone without tags
464
+
465
+ "git clone" learned the "--no-tags" option not to fetch all tags
466
+ initially, and also set up the tagopt not to follow any tags in
467
+ subsequent fetches.
468
+
469
+ Will merge to 'next'.
470
+
471
+
472
+* ab/completion-push-delete-ref (2017-04-18) 1 commit
473
+ - completion: expand "push --delete <remote> <ref>" for refs on that <remote>
474
+
475
+ The completion script (in contrib/) learned to complete "git push
476
+ --delete b<TAB>" to complete branch name to be deleted.
477
+
478
+ Will merge to 'next'.
479
+
480
+
481
+* bw/forking-and-threading (2017-04-19) 11 commits
482
+ - run-command: block signals between fork and execve
483
+ - run-command: add note about forking and threading
484
+ - run-command: handle dup2 and close errors in child
485
+ - run-command: eliminate calls to error handling functions in child
486
+ - run-command: don't die in child when duping /dev/null
487
+ - run-command: prepare child environment before forking
488
+ - string-list: add string_list_remove function
489
+ - run-command: use the async-signal-safe execv instead of execvp
490
+ - run-command: prepare command before forking
491
+ - t0061: run_command executes scripts without a #! line
492
+ - t5550: use write_script to generate post-update hook
493
+
494
+ The "run-command" APIimplementation has been made more robust
495
+ against dead-locking in a threaded environment.
496
+
497
+ Will merge to 'next'.
498
+
499
+
500
+* sb/reset-recurse-submodules (2017-04-18) 4 commits
501
+ - builtin/reset: add --recurse-submodules switch
502
+ - submodule.c: submodule_move_head works with broken submodules
503
+ - submodule.c: uninitialized submodules are ignored in recursive commands
504
+ - entry.c: submodule recursing: respect force flag correctly
505
261
- Will merge to 'master'.
506
+ "git reset" learned "--recurse-submodules" option.
507
508
509
* dt/xgethostname-nul-termination (2017-04-18) 2 commits
265
- - xgethostname: handle long hostnames
266
- - use HOST_NAME_MAX to size buffers for gethostname(2)
510
+ (merged to 'next' on 2017-04-19 at 4035f442cc)
511
+ + xgethostname: handle long hostnames
512
+ + use HOST_NAME_MAX to size buffers for gethostname(2)
513
514
gethostname(2) may not NUL terminate the buffer if hostname does
515
not fit; unfortunately there is no easy way to see if our buffer
516
was too small, but at least this will make sure we will not end up
517
using garbage past the end of the buffer.
518
273
- Will merge to 'next'.
519
+ Will merge to 'master'.
520
521
522
* jh/string-list-micro-optim (2017-04-15) 1 commit
277
- - string-list: use ALLOC_GROW macro when reallocing string_list
523
+ (merged to 'next' on 2017-04-19 at 2a5e339df9)
524
+ + string-list: use ALLOC_GROW macro when reallocing string_list
525
526
The string-list API used a custom reallocation strategy that was
527
very inefficient, instead of using the usual ALLOC_GROW() macro,
528
which has been fixed.
529
283
- Will merge to 'next'.
530
+ Will merge to 'master'.
531
532
533
* jh/unpack-trees-micro-optim (2017-04-15) 1 commit
287
- - unpack-trees: avoid duplicate ODB lookups during checkout
534
+ (merged to 'next' on 2017-04-19 at 970c47a2f9)
535
+ + unpack-trees: avoid duplicate ODB lookups during checkout
536
537
In a 2- and 3-way merge of trees, more than one source trees often
538
end up sharing an identical subtree; optimize by not reading the
539
same tree multiple times in such a case.
540
293
- Will merge to 'next'.
541
+ Will merge to 'master'.
542
543
544
* jh/verify-index-checksum-only-in-fsck (2017-04-15) 1 commit
297
- - read-cache: force_verify_index_checksum
545
+ (merged to 'next' on 2017-04-19 at a089b97d34)
546
+ + read-cache: force_verify_index_checksum
547
548
The index file has a trailing SHA-1 checksum to detect file
549
corruption, and historically we checked it every time the index
550
file is used. Omit the validation during normal use, and instead
551
verify only in "git fsck".
552
304
- Will merge to 'next'.
305
-
306
-
307
-* jk/no-looking-at-dotgit-outside-repo (2017-04-16) 2 commits
308
- (merged to 'next' on 2017-04-18 at 68260787ad)
309
- + test-read-cache: setup git dir
310
- + has_sha1_file: don't bother if we are not in a repository
311
-
312
- Clean up fallouts from recent tightening of the set-up sequence,
313
- where Git barfs when repository information is accessed without
314
- first ensuring that it was started in a repository.
315
-
553
Will merge to 'master'.
554
555
556
* ls/travis-doc-asciidoctor (2017-04-16) 3 commits
320
- - travis-ci: unset compiler for jobs that do not need one
321
- - travis-ci: parallelize documentation build
322
- - travis-ci: build documentation with AsciiDoc and Asciidoctor
557
+ (merged to 'next' on 2017-04-19 at 359c32953b)
558
+ + travis-ci: unset compiler for jobs that do not need one
559
+ + travis-ci: parallelize documentation build
560
+ + travis-ci: build documentation with AsciiDoc and Asciidoctor
561
562
Have Travis CI format the documentation with both AsciiDoc and
563
AsciiDoctor.
564
327
- Will merge to 'next'.
565
+ Will merge to 'master'.
566
567
568
* mg/status-in-progress-info (2017-04-14) 1 commit
@@ -333,16 +571,20 @@ of the repositories listed at
571
"git status" learns an option to report various operations
572
(e.g. "merging") that the user is in the middle of.
573
574
+ Waiting for final confirmation.
575
+ cf. <xmqqwpajikd2.fsf@gitster.mtv.corp.google.com>
576
+
577
578
* nd/conditional-config-include (2017-04-14) 2 commits
338
- - config: resolve symlinks in conditional include's patterns
339
- - path.c: and an option to call real_path() in expand_user_path()
579
+ (merged to 'next' on 2017-04-19 at 2e94c40b46)
580
+ + config: resolve symlinks in conditional include's patterns
581
+ + path.c: and an option to call real_path() in expand_user_path()
582
583
$GIT_DIR may in some cases be normalized with all symlinks resolved
584
while "gitdir" path expansion in the pattern does not receive the
585
same treatment, leading to incorrect mismatch. This has been fixed.
586
345
- Will merge to 'next'.
587
+ Will merge to 'master'.
588
589
590
* nd/worktree-add-lock (2017-04-16) 2 commits
@@ -359,63 +601,43 @@ of the repositories listed at
601
* ps/pathspec-empty-prefix-origin (2017-04-14) 1 commit
602
- pathspec: honor `PATHSPEC_PREFIX_ORIGIN` with empty prefix
603
604
+ A recent update broke "git add -p ../foo" from a subdirectory.
605
363
-* sb/submodule-rm-absorb (2017-04-13) 1 commit
364
- (merged to 'next' on 2017-04-18 at 179081f848)
365
- + submodule.c: add missing ' in error messages
366
-
367
- Error message fix.
368
-
369
- Will merge to 'master'.
606
+ Will merge to 'next'.
607
608
609
* sr/http-proxy-configuration-fix (2017-04-13) 2 commits
373
- - http: fix the silent ignoring of proxy misconfiguraion
374
- - http: honor empty http.proxy option to bypass proxy
610
+ (merged to 'next' on 2017-04-19 at d8f507e951)
611
+ + http: fix the silent ignoring of proxy misconfiguraion
612
+ + http: honor empty http.proxy option to bypass proxy
613
614
"http.proxy" set to an empty string is used to disable the usage of
615
proxy. We broke this early last year.
616
379
- Will merge to 'next'.
617
+ Will merge to 'master'.
618
619
620
* tb/doc-eol-normalization (2017-04-13) 1 commit
383
- - gitattributes.txt: document how to normalize the line endings
621
+ (merged to 'next' on 2017-04-19 at fe15d04d0a)
622
+ + gitattributes.txt: document how to normalize the line endings
623
624
Doc update.
625
387
- Will merge to 'next'.
388
-
389
-
390
-* va/i18n-perl-scripts (2017-04-13) 1 commit
391
- (merged to 'next' on 2017-04-18 at 89f1c77091)
392
- + git-add--interactive.perl: add missing dot in a message
393
-
394
- Message fix.
395
-
396
- Will merge to 'master'.
397
-
398
-
399
-* bw/submodule-is-active (2017-04-13) 1 commit
400
- (merged to 'next' on 2017-04-18 at 25b05ec29e)
401
- + submodule--helper: fix typo in is_active error message
402
-
403
- Error message fix.
404
-
626
Will merge to 'master'.
627
628
629
* gb/rebase-signoff (2017-04-18) 3 commits
409
- - rebase: pass --[no-]signoff option to git am
410
- - builtin/am: fold am_signoff() into am_append_signoff()
411
- - builtin/am: honor --signoff also when --rebasing
630
+ (merged to 'next' on 2017-04-19 at c3c04e6a71)
631
+ + rebase: pass --[no-]signoff option to git am
632
+ + builtin/am: fold am_signoff() into am_append_signoff()
633
+ + builtin/am: honor --signoff also when --rebasing
634
635
"git rebase" learns "--signoff" option.
636
415
- Will merge to 'next'.
637
+ Will merge to 'master'.
638
639
418
-* jh/add-index-entry-optim (2017-04-17) 5 commits
640
+* jh/add-index-entry-optim (2017-04-19) 5 commits
641
- read-cache: speed up has_dir_name (part 2)
642
- read-cache: speed up has_dir_name (part 1)
643
- read-cache: speed up add_index_entry during checkout
@@ -429,16 +651,6 @@ of the repositories listed at
651
Will merge to 'next'.
652
653
432
-* ab/grep-plug-pathspec-leak (2017-04-16) 1 commit
433
- (merged to 'next' on 2017-04-18 at d8f00b5e44)
434
- + grep: plug a trivial memory leak
435
-
436
- Call clear_pathspec() to release resources immediately before the
437
- cmd_grep() function returns.
438
-
439
- Will merge to 'master'.
440
-
441
-
654
* ab/grep-threading-cleanup (2017-04-16) 8 commits
655
- grep: given --threads with NO_PTHREADS=YesPlease, warn
656
- pack-objects: fix buggy warning about threads under NO_PTHREADS=YesPlease
@@ -450,58 +662,33 @@ of the repositories listed at
662
- grep: assert that threading is enabled when calling grep_{lock,unlock}
663
664
453
-* bw/attr-pathspec (2017-04-16) 1 commit
454
- (merged to 'next' on 2017-04-18 at 2644ca1269)
455
- + pathspec: fix segfault in clear_pathspec
456
-
457
- Will merge to 'master'.
458
- Hotfix for a topic already in 'master'.
459
-
460
-
665
* bw/submodule-with-bs-path (2017-04-16) 1 commit
462
- - submodule: prevent backslash expantion in submodule names
666
+ (merged to 'next' on 2017-04-19 at 692775477b)
667
+ + submodule: prevent backslash expantion in submodule names
668
669
"git submodule" script does not work well with strange pathnames.
670
Protect it from a path with slashes in them, at least.
671
467
- Will merge to 'next'.
468
-
469
-
470
-* dt/gc-ignore-old-gc-logs (2017-04-16) 1 commit
471
- (merged to 'next' on 2017-04-18 at caadf4ff66)
472
- + t6500: wait for detached auto gc at the end of the test script
473
-
672
Will merge to 'master'.
475
- Hotfix for a topic already in 'master'.
673
674
675
* jk/loose-object-fsck (2017-04-16) 1 commit
479
- - sha1_file: remove an used fd variable
676
+ (merged to 'next' on 2017-04-19 at 0cc7810018)
677
+ + sha1_file: remove an used fd variable
678
679
Code cleanup.
680
483
- Will merge to 'next'.
681
+ Will merge to 'master'.
682
683
684
* jk/quarantine-received-objects (2017-04-16) 3 commits
487
- - refs: reject ref updates while GIT_QUARANTINE_PATH is set
488
- - receive-pack: document user-visible quarantine effects
489
- - receive-pack: drop tmp_objdir_env from run_update_hook
685
+ (merged to 'next' on 2017-04-19 at 2c6fcf1d6d)
686
+ + refs: reject ref updates while GIT_QUARANTINE_PATH is set
687
+ + receive-pack: document user-visible quarantine effects
688
+ + receive-pack: drop tmp_objdir_env from run_update_hook
689
690
Add finishing touches to a recent topic.
691
493
- Will merge to 'next'.
494
-
495
-
496
-* ld/p4-current-branch-fix (2017-04-16) 3 commits
497
- (merged to 'next' on 2017-04-18 at 9e74a2609e)
498
- + git-p4: don't use name-rev to get current branch
499
- + git-p4: add read_pipe_text() internal function
500
- + git-p4: add failing test for name-rev rather than symbolic-ref
501
-
502
- "git p4" used "name-rev HEAD" when it wants to learn what branch is
503
- checked out; it should use "symbolic-ref HEAD".
504
-
692
Will merge to 'master'.
693
694
@@ -510,76 +697,37 @@ of the repositories listed at
697
698
Travis CI learns to run coccicheck.
699
700
+ Will merge to 'next'.
701
+
702
703
* rs/misc-cppcheck-fixes (2017-04-17) 3 commits
515
- - server-info: avoid calling fclose(3) twice in update_info_file()
516
- - files_for_each_reflog_ent_reverse(): close stream and free strbuf on error
517
- - am: close stream on error, but not stdin
704
+ (merged to 'next' on 2017-04-19 at e8fca7f593)
705
+ + server-info: avoid calling fclose(3) twice in update_info_file()
706
+ + files_for_each_reflog_ent_reverse(): close stream and free strbuf on error
707
+ + am: close stream on error, but not stdin
708
519
- Will merge to 'next'.
709
Various small fixes.
710
522
-
523
-* sf/putty-w-args (2017-04-16) 1 commit
524
- (merged to 'next' on 2017-04-18 at cbf042088c)
525
- + connect.c: handle errors from split_cmdline
526
-
711
Will merge to 'master'.
528
- Hotfix for a topic already in 'master'.
712
713
714
* km/t1400-modernization (2017-04-16) 1 commit
532
- - t1400: use consistent style for test_expect_success calls
715
+ (merged to 'next' on 2017-04-19 at 7490be39bf)
716
+ + t1400: use consistent style for test_expect_success calls
717
718
Code cleanup.
719
536
- Will merge to 'next'.
537
-
538
-
539
-* vn/revision-shorthand-for-side-branch-log (2017-04-16) 1 commit
540
- (merged to 'next' on 2017-04-18 at 9fbe55bfef)
541
- + doc/revisions: remove brackets from rev^-n shorthand
542
-
543
- Doc cleanup.
544
-
720
Will merge to 'master'.
721
722
723
* dt/http-postbuffer-can-be-large (2017-04-13) 1 commit
549
- - http.postbuffer: allow full range of ssize_t values
724
+ (merged to 'next' on 2017-04-19 at dc9de26fc9)
725
+ + http.postbuffer: allow full range of ssize_t values
726
727
Allow the http.postbuffer configuration variable to be set to a
728
size that can be expressed in size_t, which can be larger than
729
ulong on some platforms.
730
555
- Will merge to 'next'.
556
-
557
-
558
-* jh/memihash-opt (2017-04-18) 4 commits
559
- (merged to 'next' on 2017-04-18 at 6555be6bab)
560
- + p0004: make perf test executable
561
- (merged to 'next' on 2017-04-15 at 6bfc58e19a)
562
- + t3008: skip lazy-init test on a single-core box
563
- + test-online-cpus: helper to return cpu count
564
- (merged to 'next' on 2017-04-11 at ec5a6f2818)
565
- + name-hash: fix buffer overrun
566
-
567
- Hotfix for a topic that is already in 'master'.
568
-
569
- Will merge to 'master'.
570
-
571
-
572
-* bw/push-options-recursively-to-submodules (2017-04-11) 5 commits
573
- (merged to 'next' on 2017-04-16 at d4d657724b)
574
- + push: propagate remote and refspec with --recurse-submodules
575
- + submodule--helper: add push-check subcommand
576
- + remote: expose parse_push_refspec function
577
- + push: propagate push-options with --recurse-submodules
578
- + push: unmark a local variable as static
579
-
580
- "git push --recurse-submodules --push-option=<string>" learned to
581
- propagate the push option recursively down to pushes in submodules.
582
-
731
Will merge to 'master'.
732
733
@@ -591,17 +739,7 @@ of the repositories listed at
739
us to fail to notice a breakage; rewrite tests in a script to avoid
740
this issue.
741
594
-
595
-* lt/mailinfo-in-body-header-continuation (2017-04-11) 1 commit
596
- (merged to 'next' on 2017-04-16 at b2f51f0780)
597
- + mailinfo: fix in-body header continuations
598
-
599
- If a patch e-mail had its first paragraph after an in-body header
600
- indented (even after a blank line after the in-body header line),
601
- the indented line was mistook as a continuation of the in-body
602
- header. This has been fixed.
603
-
604
- Will merge to 'master'.
742
+ Will merge to 'next'.
743
744
745
* bp/sub-process-convert-filter (2017-03-30) 8 commits
@@ -644,53 +782,6 @@ of the repositories listed at
782
cf. <xmqqshltxnwt.fsf@gitster.mtv.corp.google.com>
783
784
647
-* bc/object-id (2017-03-31) 20 commits
648
- (merged to 'next' on 2017-04-16 at b16f1899dd)
649
- + Documentation: update and rename api-sha1-array.txt
650
- + Rename sha1_array to oid_array
651
- + Convert sha1_array_for_each_unique and for_each_abbrev to object_id
652
- + Convert sha1_array_lookup to take struct object_id
653
- + Convert remaining callers of sha1_array_lookup to object_id
654
- + Make sha1_array_append take a struct object_id *
655
- + sha1-array: convert internal storage for struct sha1_array to object_id
656
- + builtin/pull: convert to struct object_id
657
- + submodule: convert check_for_new_submodule_commits to object_id
658
- + sha1_name: convert disambiguate_hint_fn to take object_id
659
- + sha1_name: convert struct disambiguate_state to object_id
660
- + test-sha1-array: convert most code to struct object_id
661
- + parse-options-cb: convert sha1_array_append caller to struct object_id
662
- + fsck: convert init_skiplist to struct object_id
663
- + builtin/receive-pack: convert portions to struct object_id
664
- + builtin/pull: convert portions to struct object_id
665
- + builtin/diff: convert to struct object_id
666
- + Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ
667
- + Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ
668
- + Define new hash-size constants for allocating memory
669
-
670
- Conversion from unsigned char [40] to struct object_id continues.
671
-
672
- Will merge to 'master'.
673
-
674
-
675
-* sb/submodule-short-status (2017-03-29) 7 commits
676
- (merged to 'next' on 2017-04-16 at 24e18f4a4a)
677
- + submodule.c: correctly handle nested submodules in is_submodule_modified
678
- + short status: improve reporting for submodule changes
679
- + submodule.c: stricter checking for submodules in is_submodule_modified
680
- + submodule.c: port is_submodule_modified to use porcelain 2
681
- + submodule.c: convert is_submodule_modified to use strbuf_getwholeline
682
- + submodule.c: factor out early loop termination in is_submodule_modified
683
- + submodule.c: use argv_array in is_submodule_modified
684
-
685
- The output from "git status --short" has been extended to show
686
- various kinds of dirtyness in submodules differently; instead of to
687
- "M" for modified, 'm' and '?' can be shown to signal changes only
688
- to the working tree of the submodule but not the commit that is
689
- checked out.
690
-
691
- Will merge to 'master'.
692
-
693
-
785
* mh/separate-ref-cache (2017-04-16) 20 commits
786
- do_for_each_entry_in_dir(): delete function
787
- files_pack_refs(): use reference iteration
@@ -712,12 +803,11 @@ of the repositories listed at
803
- refs_ref_iterator_begin(): new function
804
- refs_read_raw_ref(): new function
805
- get_ref_dir(): don't call read_loose_refs() for "refs/bisect"
715
- (this branch uses nd/files-backend-git-dir; is tangled with nd/prune-in-worktree and nd/worktree-kill-parse-ref.)
806
807
The internals of the refs API around the cached refs has been
808
streamlined.
809
720
- Waiting for nd/files-backend-git-dir to settle.
810
+ Will merge to 'next'.
811
812
813
* ja/doc-l10n (2017-03-20) 3 commits
@@ -728,7 +818,7 @@ of the repositories listed at
818
A proposal to use po4a to localize our manual pages.
819
820
731
-* nd/prune-in-worktree (2017-04-16) 12 commits
821
+* nd/prune-in-worktree (2017-04-19) 12 commits
822
- rev-list: expose and document --single-worktree
823
- revision.c: --reflog add HEAD reflog from all worktrees
824
- files-backend: make reflog iterator go through per-worktree reflog
@@ -741,7 +831,7 @@ of the repositories listed at
831
- revision.c: --indexed-objects add objects from all worktrees
832
- revision.c: refactor add_index_objects_to_pending()
833
- revision.h: new flag in struct rev_info wrt. worktree-related refs
744
- (this branch uses nd/files-backend-git-dir and nd/worktree-kill-parse-ref; is tangled with mh/separate-ref-cache.)
834
+ (this branch uses nd/worktree-kill-parse-ref.)
835
836
"git gc" and friends when multiple worktrees are used off of a
837
single repository did not consider the index and per-worktree refs
@@ -749,7 +839,7 @@ of the repositories listed at
839
objects that are in use only in other worktrees to be subject to
840
garbage collection.
841
752
- Waiting for nd/files-backend-git-dir to settle.
842
+ Waiting for nd/worktree-kill-parse-ref to settle.
843
844
845
* nd/worktree-kill-parse-ref (2017-04-16) 5 commits
@@ -758,52 +848,12 @@ of the repositories listed at
848
- refs: introduce get_worktree_ref_store()
849
- refs.c: make submodule ref store hashmap generic
850
- environment.c: fix potential segfault by get_git_common_dir()
761
- (this branch is used by nd/prune-in-worktree; uses nd/files-backend-git-dir; is tangled with mh/separate-ref-cache.)
762
-
763
- (hopefully) a beginning of safer "git worktree" that is resistant
764
- to "gc".
765
-
766
- Waiting for nd/files-backend-git-dir to settle.
767
-
768
-
769
-* nd/files-backend-git-dir (2017-04-14) 28 commits
770
- (merged to 'next' on 2017-04-18 at 79292aac69)
771
- + refs.h: add a note about sorting order of for_each_ref_*
772
- + t1406: new tests for submodule ref store
773
- + t1405: some basic tests on main ref store
774
- + t/helper: add test-ref-store to test ref-store functions
775
- + refs: delete pack_refs() in favor of refs_pack_refs()
776
- + files-backend: avoid ref api targeting main ref store
777
- + refs: new transaction related ref-store api
778
- + refs: add new ref-store api
779
- + refs: rename get_ref_store() to get_submodule_ref_store() and make it public
780
- + files-backend: replace submodule_allowed check in files_downcast()
781
- + refs: move submodule code out of files-backend.c
782
- + path.c: move some code out of strbuf_git_path_submodule()
783
- + refs.c: make get_main_ref_store() public and use it
784
- + refs.c: kill register_ref_store(), add register_submodule_ref_store()
785
- + refs.c: flatten get_ref_store() a bit
786
- + refs: rename lookup_ref_store() to lookup_submodule_ref_store()
787
- + refs.c: introduce get_main_ref_store()
788
- + files-backend: remove the use of git_path()
789
- + files-backend: add and use files_ref_path()
790
- + files-backend: add and use files_reflog_path()
791
- + files-backend: move "logs/" out of TMP_RENAMED_LOG
792
- + files-backend: convert git_path() to strbuf_git_path()
793
- + files-backend: make sure files_rename_ref() always reach the end
794
- + files-backend: add and use files_packed_refs_path()
795
- + files-backend: delete dead code in files_init_db()
796
- + files-backend.c: delete dead code in files_ref_iterator_begin()
797
- + files-backend: make files_log_ref_write() static
798
- + refs.h: add forward declaration for structs used in this file
799
- (this branch is used by mh/separate-ref-cache, nd/prune-in-worktree and nd/worktree-kill-parse-ref.)
851
+ (this branch is used by nd/prune-in-worktree.)
852
801
- The "submodule" specific field in the ref_store structure is
802
- replaced with a more generic "gitdir" that can later be used also
803
- when dealing with ref_store that represents the set of refs visible
804
- from the other worktrees.
853
+ "git gc" did not interact well with "git worktree"-managed
854
+ per-worktree refs.
855
806
- Will merge to 'master'.
856
+ Will merge to 'next'.
857
858
859
* jc/bundle (2016-03-03) 6 commits
@@ -817,27 +867,3 @@ of the repositories listed at
867
The beginning of "split bundle", which could be one of the
868
ingredients to allow "git clone" traffic off of the core server
869
network to CDN.
820
-
821
---------------------------------------------------
822
-[Discarded]
823
-
824
-* jc/name-rev (2017-03-16) 2 commits
825
- . name-rev: favor describing with tags and use committer date to tiebreak
826
- . name-rev: refactor logic to see if a new candidate is a better name
827
-
828
- "git name-rev" penalized lightweight tags too much, making them
829
- almost useless especially when the command is run with "--tags".
830
- Give the same precedence to lightweight tags as annotated tags as
831
- the base for naming a commit.
832
-
833
- Now part of mg/name-rev-debug topic.
834
-
835
-
836
-* jc/p4-current-branch-fix (2017-03-27) 2 commits
837
- . DONTMERGE git-p4: "name-rev HEAD" is not a way to find the current branch
838
- . git-p4: add failing test for name-rev rather than symbolic-ref
839
-
840
- "git p4" used "name-rev HEAD" when it wants to learn what branch is
841
- checked out; it should use "symbolic-ref HEAD".
842
-
843
- Superseded by the ld/p4-current-branch-fix topic.