What's cooking (2017/04 #02)
Junio C Hamano committed
Apr 17, 2017 at 00:27 UTC
892fe7d61b8a8649dcc56902531726c0564548a6
1 file changed
+381
-348
whats-cooking.txt
+381
-348
@@ -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, #01; Tue, 11)
4
-X-master-at: cf11a67975b057a144618badf16dc4e3d25b9407
5
-X-next-at: 0e3151a226817c3c07c4878b88a23b0a10c959ef
3
+Subject: What's cooking in git.git (Apr 2017, #02; Sun, 16)
4
+X-master-at: 584f8975d2d9530a34bd0b936ae774f82fe30fed
5
+X-next-at: 2cccc8116438182c988c7f26d9559a1c22e78f1c
6
7
-What's cooking in git.git (Apr 2017, #01; Tue, 11)
7
+What's cooking in git.git (Apr 2017, #02; Sun, 16)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,12 +12,6 @@ Here are the topics that have been cooking. Commits prefixed with
12
'+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
-The maintainer has been offline for a week or so and is still
16
-expected to be working at a slower pace than usual for the rest of
17
-the week. No new topics has been queued, but the ones already in
18
-the tree have advanced, some graduated to 'master' and others
19
-joining 'next'.
20
-
15
You can find the changes described here in the integration branches
16
of the repositories listed at
17
@@ -26,370 +20,375 @@ of the repositories listed at
20
--------------------------------------------------
21
[Graduated to "master"]
22
29
-* ab/case-insensitive-upstream-and-push-marker (2017-03-27) 1 commit
30
- (merged to 'next' on 2017-03-28 at 166654719e)
31
- + rev-parse: match @{upstream}, @{u} and @{push} case-insensitively
23
+* ab/regen-perl-mak-with-different-perl (2017-03-29) 1 commit
24
+ (merged to 'next' on 2017-04-11 at 706b224f1e)
25
+ + perl: regenerate perl.mak if perl -V changes
26
33
- On many keyboards, typing "@{" involves holding down SHIFT key and
34
- one can easily end up with "@{Up..." when typing "@{upstream}". As
35
- the upstream/push keywords do not appear anywhere else in the syntax,
36
- we can safely accept them case insensitively without introducing
37
- ambiguity or confusion to solve this.
27
+ Update the build dependency so that an update to /usr/bin/perl
28
+ etc. result in recomputation of perl.mak file.
29
30
40
-* ab/doc-submitting (2017-03-26) 2 commits
41
- (merged to 'next' on 2017-03-28 at 49e23678df)
42
- + doc/SubmittingPatches: show how to get a CLI commit summary
43
- + doc/SubmittingPatches: clarify the casing convention for "area: change..."
31
+* jc/bs-t-is-not-a-tab-for-sed (2017-03-31) 1 commit
32
+ (merged to 'next' on 2017-04-11 at 5573b2c49b)
33
+ + contrib/git-resurrect.sh: do not write \t for HT in sed scripts
34
45
- Doc update.
35
+ Code cleanup.
36
37
48
-* ab/ref-filter-no-contains (2017-03-24) 16 commits
49
- (merged to 'next' on 2017-03-28 at bdce986928)
50
- + tag: add tests for --with and --without
51
- + ref-filter: reflow recently changed branch/tag/for-each-ref docs
52
- + ref-filter: add --no-contains option to tag/branch/for-each-ref
53
- + tag: change --point-at to default to HEAD
54
- + tag: implicitly supply --list given another list-like option
55
- + tag: change misleading --list <pattern> documentation
56
- + parse-options: add OPT_NONEG to the "contains" option
57
- + tag: add more incompatibles mode tests
58
- + for-each-ref: partly change <object> to <commit> in help
59
- + tag tests: fix a typo in a test description
60
- + tag: remove a TODO item from the test suite
61
- + ref-filter: add test for --contains on a non-commit
62
- + ref-filter: make combining --merged & --no-merged an error
63
- + tag doc: reword --[no-]merged to talk about commits, not tips
64
- + tag doc: split up the --[no-]merged documentation
65
- + tag doc: move the description of --[no-]merged earlier
66
-
67
- "git tag/branch/for-each-ref" family of commands long allowed to
68
- filter the refs by "--contains X" (show only the refs that are
69
- descendants of X), "--merged X" (show only the refs that are
70
- ancestors of X), "--no-merged X" (show only the refs that are not
71
- ancestors of X). One curious omission, "--no-contains X" (show
72
- only the refs that are not descendants of X) has been added to
73
- them.
74
-
75
-
76
-* ab/test-readme-updates (2017-03-26) 3 commits
77
- (merged to 'next' on 2017-03-28 at abdc7b3b15)
78
- + t/README: clarify the test_have_prereq documentation
79
- + t/README: change "Inside <X> part" to "Inside the <X> part"
80
- + t/README: link to metacpan.org, not search.cpan.org
81
-
82
- Doc updates.
83
-
84
-
85
-* ah/log-decorate-default-to-auto (2017-03-24) 1 commit
86
- (merged to 'next' on 2017-03-24 at ce353ebfb5)
87
- + log: if --decorate is not given, default to --decorate=auto
88
-
89
- The default behaviour of "git log" in an interactive session has
90
- been changed to enable "--decorate".
91
-
92
-
93
-* bc/push-cert-receive-fix (2017-03-28) 1 commit
94
- (merged to 'next' on 2017-03-30 at 4f49b383e2)
95
- + builtin/receive-pack: fix incorrect pointer arithmetic
96
-
97
- "git receive-pack" could have been forced to die by attempting
98
- allocate an unreasonably large amount of memory with a crafted push
99
- certificate; this has been fixed.
100
-
101
-
102
-* bw/recurse-submodules-relative-fix (2017-03-17) 5 commits
103
- (merged to 'next' on 2017-03-28 at d0cef6234e)
104
- + ls-files: fix bug when recursing with relative pathspec
105
- + ls-files: fix typo in variable name
106
- + grep: fix bug when recursing with relative pathspec
107
- + setup: allow for prefix to be passed to git commands
108
- + grep: fix help text typo
109
-
110
- A few commands that recently learned the "--recurse-submodule"
111
- option misbehaved when started from a subdirectory of the
112
- superproject.
113
-
114
-
115
-* bw/submodule-is-active (2017-03-18) 10 commits
116
- (merged to 'next' on 2017-03-22 at 4c05cb5ab4)
117
- + submodule add: respect submodule.active and submodule.<name>.active
118
- + submodule--helper init: set submodule.<name>.active
119
- + clone: teach --recurse-submodules to optionally take a pathspec
120
- + submodule init: initialize active submodules
121
- + submodule: decouple url and submodule interest
122
- + submodule--helper clone: check for configured submodules using helper
123
- + submodule sync: use submodule--helper is-active
124
- + submodule sync: skip work for inactive submodules
125
- + submodule status: use submodule--helper is-active
126
- + submodule--helper: add is-active subcommand
127
-
128
- "what URL do we want to update this submodule?" and "are we
129
- interested in this submodule?" are split into two distinct
130
- concepts, and then the way used to express the latter got extended,
131
- paving a way to make it easier to manage a project with many
132
- submodules and make it possible to later extend use of multiple
133
- worktrees for a project with submodules.
134
-
135
-
136
-* cc/untracked (2017-03-30) 1 commit
137
- (merged to 'next' on 2017-03-30 at 0b20d47950)
138
- + update-index: fix xgetcwd() related memory leak
38
+* jc/unused-symbols (2017-03-31) 1 commit
39
+ (merged to 'next' on 2017-04-11 at 750a6d9e97)
40
+ + remote.[ch]: parse_push_cas_option() can be static
41
42
Code cleanup.
43
44
143
-* jc/merge-drop-old-syntax (2015-04-29) 1 commit
144
- (merged to 'next' on 2017-02-27 at 2c0f5f73d8)
145
- + merge: drop 'git merge <message> HEAD <commit>' syntax
45
+* jk/loose-object-info-report-error (2017-04-01) 2 commits
46
+ (merged to 'next' on 2017-04-11 at 3a33761d94)
47
+ + index-pack: detect local corruption in collision check
48
+ + sha1_loose_object_info: return error for corrupted objects
49
147
- Stop supporting "git merge <message> HEAD <commit>" syntax that has
148
- been deprecated since October 2007, and issues a deprecation
149
- warning message since v2.5.0.
50
+ Update error handling for codepath that deals with corrupt loose
51
+ objects.
52
53
152
-* jk/make-coccicheck-detect-errors (2017-03-29) 1 commit
153
- (merged to 'next' on 2017-03-30 at 34d4fe70dc)
154
- + Makefile: detect errors in running spatch
54
+* jk/snprintf-cleanups (2017-03-30) 18 commits
55
+ (merged to 'next' on 2017-04-11 at 42ac56e886)
56
+ + daemon: use an argv_array to exec children
57
+ + gc: replace local buffer with git_path
58
+ + transport-helper: replace checked snprintf with xsnprintf
59
+ + convert unchecked snprintf into xsnprintf
60
+ + combine-diff: replace malloc/snprintf with xstrfmt
61
+ + replace unchecked snprintf calls with heap buffers
62
+ + receive-pack: print --pack-header directly into argv array
63
+ + name-rev: replace static buffer with strbuf
64
+ + create_branch: use xstrfmt for reflog message
65
+ + create_branch: move msg setup closer to point of use
66
+ + avoid using mksnpath for refs
67
+ + avoid using fixed PATH_MAX buffers for refs
68
+ + fetch: use heap buffer to format reflog
69
+ + tag: use strbuf to format tag header
70
+ + diff: avoid fixed-size buffer for patch-ids
71
+ + odb_mkstemp: use git_path_buf
72
+ + odb_mkstemp: write filename into strbuf
73
+ + do not check odb_mkstemp return value for errors
74
156
- Build fix.
75
+ Code clean-up.
76
77
159
-* jk/no-looking-at-dotgit-outside-repo-final (2016-10-26) 1 commit
160
- (merged to 'next' on 2017-02-27 at 7373a1b73d)
161
- + setup_git_env: avoid blind fall-back to ".git"
78
+* js/difftool-builtin (2017-04-13) 2 commits
79
+ (merged to 'next' on 2017-04-15 at 0040a91b86)
80
+ + difftool: fix use-after-free
81
+ (merged to 'next' on 2017-04-11 at 38df92441f)
82
+ + difftool: avoid strcpy
83
163
- This is the endgame of the topic to avoid blindly falling back to
164
- ".git" when the setup sequence said we are _not_ in Git repository.
165
- A corner case that happens to work right now may be broken by a
166
- call to die("BUG").
84
+ Code cleanup.
85
86
169
-* js/rebase-i-reword-to-run-hooks (2017-03-27) 3 commits
170
- (merged to 'next' on 2017-03-28 at d23d60f63d)
171
- + sequencer: allow the commit-msg hooks to run during a `reword`
172
- + sequencer: make commit options more extensible
173
- + t7504: document regression: reword no longer calls commit-msg
87
+* mm/ls-files-s-doc (2017-04-01) 1 commit
88
+ (merged to 'next' on 2017-04-11 at 7e55625b1e)
89
+ + Documentation: document elements in "ls-files -s" output in order
90
175
- A recent update to "rebase -i" stopped running hooks for the "git
176
- commit" command during "reword" action, which has been fixed.
91
+ Doc update.
92
93
179
-* ls/travis-relays-for-windows-ci (2017-03-28) 1 commit
180
- - travis-ci: build and test Git on Windows
94
+* qp/bisect-docfix (2017-04-01) 1 commit
95
+ (merged to 'next' on 2017-04-11 at 9c20eba240)
96
+ + git-bisect.txt: add missing word
97
182
- Define a new task in .travis.yml that triggers a test session on
183
- Windows run elsewhere.
98
+ Doc update.
99
100
186
-* mg/describe-debug-l10n (2017-03-27) 2 commits
187
- (merged to 'next' on 2017-03-28 at 16ad604828)
188
- + l10n: de: translate describe debug terms
189
- + describe: localize debug output fully
190
- (this branch is used by mg/name-rev-debug.)
101
+* sb/show-diff-for-submodule-in-diff-fix (2017-04-02) 1 commit
102
+ (merged to 'next' on 2017-04-11 at 8d16ef369e)
103
+ + diff: submodule inline diff to initialize env array.
104
192
- Some debugging output from "git describe" were marked for l10n,
193
- but some weren't. Mark missing ones for l10n.
105
+ "git diff --submodule=diff" learned to work better in a project
106
+ with a submodule that in turn has its own submodules.
107
108
196
-* mh/notes-tree-consolidate-fix (2017-03-27) 1 commit
197
- (merged to 'next' on 2017-03-30 at 8383c6c088)
198
- + notes: do not break note_tree structure in note_tree_consolidate()
109
+* sb/unpack-trees-would-lose-submodule-message-update (2017-03-29) 1 commit
110
+ (merged to 'next' on 2017-04-11 at 61d8ce8218)
111
+ + unpack-trees.c: align submodule error message to the other error messages
112
200
- Removing an entry from a notes tree and then looking another note
201
- entry from the resulting tree using the internal notes API
202
- functions did not work as expected. No in-tree users of the API
203
- has such access pattern, but it still is worth fixing.
113
+ Update an error message.
114
115
+--------------------------------------------------
116
+[New Topics]
117
206
-* rs/freebsd-getcwd-workaround (2017-03-26) 1 commit
207
- (merged to 'next' on 2017-03-28 at 3f3c1553a7)
208
- + strbuf: support long paths w/o read rights in strbuf_getcwd() on FreeBSD
118
+* ah/diff-files-ours-theirs-doc (2017-04-13) 1 commit
119
+ - diff-files: document --ours etc.
120
210
- FreeBSD implementation of getcwd(3) behaved differently when an
211
- intermediate directory is unreadable/unsearchable depending on the
212
- length of the buffer provided, which our strbuf_getcwd() was not
213
- aware of. strbuf_getcwd() has been taught to cope with it better.
121
+ The diff options "--ours", "--theirs" exist for quite some time.
122
+ But so far they were not documented. Now they are.
123
124
+ Will merge to 'next'.
125
216
-* sg/completion-ctags (2017-03-23) 3 commits
217
- (merged to 'next' on 2017-03-27 at cf8c081f7d)
218
- + completion: offer ctags symbol names for 'git log -S', '-G' and '-L:'
219
- + completion: extract completing ctags symbol names into helper function
220
- + completion: put matching ctags symbol names directly into COMPREPLY
221
- (this branch uses sg/completion-refs-speedup.)
126
223
- Command line completion updates.
127
+* dt/xgethostname-nul-termination (2017-04-13) 1 commit
128
+ - xgethostname: handle long hostnames
129
130
+ gethostname(2) may not NUL terminate the buffer if hostname does
131
+ not fit; unfortunately there is no easy way to see if our buffer
132
+ was too small, but at least this will make sure we will not end up
133
+ using garbage past the end of the buffer.
134
226
-* sg/completion-refs-speedup (2017-03-23) 14 commits
227
- (merged to 'next' on 2017-03-27 at 6bb275710d)
228
- + completion: speed up branch and tag completion
229
- + completion: fill COMPREPLY directly when completing fetch refspecs
230
- + completion: fill COMPREPLY directly when completing refs
231
- + completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMery
232
- + completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMery
233
- + completion: let 'for-each-ref' strip the remote name from remote branches
234
- + completion: let 'for-each-ref' and 'ls-remote' filter matching refs
235
- + completion: don't disambiguate short refs
236
- + completion: don't disambiguate tags and branches
237
- + completion: support excluding full refs
238
- + completion: support completing fully qualified non-fast-forward refspecs
239
- + completion: support completing full refs after '--option=refs/<TAB>'
240
- + completion: wrap __git_refs() for better option parsing
241
- + completion: remove redundant __gitcomp_nl() options from _git_commit()
242
- (this branch is used by sg/completion-ctags.)
135
+ Will merge to 'next'.
136
244
- The refs completion for large number of refs has been sped up,
245
- partly by giving up disambiguating ambiguous refs and partly by
246
- eliminating most of the shell processing between 'git for-each-ref'
247
- and 'ls-remote' and Bash's completion facility.
137
249
---------------------------------------------------
250
-[New Topics]
138
+* jh/string-list-micro-optim (2017-04-15) 1 commit
139
+ - string-list: use ALLOC_GROW macro when reallocing string_list
140
252
-* sb/unpack-trees-would-lose-submodule-message-update (2017-03-29) 1 commit
253
- (merged to 'next' on 2017-04-11 at 61d8ce8218)
254
- + unpack-trees.c: align submodule error message to the other error messages
141
+ The string-list API used a custom reallocation strategy that was
142
+ very inefficient, instead of using the usual ALLOC_GROW() macro,
143
+ which has been fixed.
144
256
- Update an error message.
145
+ Will merge to 'next'.
146
258
- Will merge to 'master'.
147
148
+* jh/unpack-trees-micro-optim (2017-04-15) 1 commit
149
+ - unpack-trees: avoid duplicate ODB lookups during checkout
150
261
-* ab/regen-perl-mak-with-different-perl (2017-03-29) 1 commit
262
- (merged to 'next' on 2017-04-11 at 706b224f1e)
263
- + perl: regenerate perl.mak if perl -V changes
151
+ In a 2- and 3-way merge of trees, more than one source trees often
152
+ end up sharing an identical subtree; optimize by not reading the
153
+ same tree multiple times in such a case.
154
265
- Update the build dependency so that an update to /usr/bin/perl
266
- etc. result in recomputation of perl.mak file.
155
+ Will merge to 'next'.
156
268
- Will merge to 'master'.
157
158
+* jh/verify-index-checksum-only-in-fsck (2017-04-15) 1 commit
159
+ - read-cache: force_verify_index_checksum
160
271
-* js/difftool-builtin (2017-03-30) 1 commit
272
- (merged to 'next' on 2017-04-11 at 38df92441f)
273
- + difftool: avoid strcpy
161
+ The index file has a trailing SHA-1 checksum to detect file
162
+ corruption, and historically we checked it every time the index
163
+ file is used. Omit the validation during normal use, and instead
164
+ verify only in "git fsck".
165
275
- Code cleanup.
166
+ Will merge to 'next'.
167
277
- Will merge to 'master'.
168
169
+* jk/no-looking-at-dotgit-outside-repo (2017-04-16) 2 commits
170
+ - test-read-cache: setup git dir
171
+ - has_sha1_file: don't bother if we are not in a repository
172
280
-* dt/http-postbuffer-can-be-large (2017-03-31) 1 commit
281
- - http.postbuffer: allow full range of ssize_t values
173
+ Clean up fallouts from recent tightening of the set-up sequence,
174
+ where Git barfs when repository information is accessed without
175
+ first ensuring that it was started in a repository.
176
283
- Allow the http.postbuffer configuration variable to be set to a
284
- size that can be expressed in size_t, which can be larger than
285
- ulong on some platforms.
177
+ Will merge to 'next'.
178
+
179
+
180
+* ls/travis-doc-asciidoctor (2017-04-16) 3 commits
181
+ - travis-ci: unset compiler for jobs that do not need one
182
+ - travis-ci: parallelize documentation build
183
+ - travis-ci: build documentation with AsciiDoc and Asciidoctor
184
+
185
+ Have Travis CI format the documentation with both AsciiDoc and
186
+ AsciiDoctor.
187
188
Will merge to 'next'.
189
190
290
-* jh/core-checksum-index (2017-03-30) 1 commit
291
- - read-cache: core.checksumindex
191
+* mg/status-in-progress-info (2017-04-14) 1 commit
192
+ - status: show in-progress info for short status
193
293
- Expecting a reroll.
294
- cf. <094f16d2-e1d9-1478-df6a-4f24f17e184e@jeffhostetler.com>
194
+ "git status" learns an option to report various operations
195
+ (e.g. "merging") that the user is in the middle of.
196
197
297
-* jc/unused-symbols (2017-03-31) 1 commit
298
- (merged to 'next' on 2017-04-11 at 750a6d9e97)
299
- + remote.[ch]: parse_push_cas_option() can be static
198
+* nd/conditional-config-include (2017-04-14) 2 commits
199
+ - config: resolve symlinks in conditional include's patterns
200
+ - path.c: and an option to call real_path() in expand_user_path()
201
301
- Code cleanup.
202
+ $GIT_DIR may in some cases be normalized with all symlinks resolved
203
+ while "gitdir" path expansion in the pattern does not receive the
204
+ same treatment, leading to incorrect mismatch. This has been fixed.
205
303
- Will merge to 'master'.
206
+ Will merge to 'next'.
207
208
306
-* jh/memihash-opt (2017-03-31) 1 commit
307
- (merged to 'next' on 2017-04-11 at ec5a6f2818)
308
- + name-hash: fix buffer overrun
209
+* nd/worktree-add-lock (2017-04-16) 2 commits
210
+ - SQUASH???
211
+ - worktree add: add --lock option
212
310
- Hotfix for a topic that is already in 'master'.
213
+ Allow to lock a worktree immediately after it's created. This helps
214
+ prevent a race between "git worktree add; git worktree lock" and
215
+ "git worktree prune".
216
312
- Will merge to 'master'.
313
- This already has the fix for "sed '...\t'" squashed in.
217
+ Waiting for a response to SQUASH???
218
219
316
-* jk/loose-object-info-report-error (2017-04-01) 2 commits
317
- (merged to 'next' on 2017-04-11 at 3a33761d94)
318
- + index-pack: detect local corruption in collision check
319
- + sha1_loose_object_info: return error for corrupted objects
220
+* ps/pathspec-empty-prefix-origin (2017-04-14) 1 commit
221
+ - pathspec: honor `PATHSPEC_PREFIX_ORIGIN` with empty prefix
222
321
- Update error handling for codepath that deals with corrupt loose
322
- objects.
223
324
- Will merge to 'master'.
224
+* sb/submodule-rm-absorb (2017-04-13) 1 commit
225
+ - submodule.c: add missing ' in error messages
226
227
+ Error message fix.
228
327
-* jc/bs-t-is-not-a-tab-for-sed (2017-03-31) 1 commit
328
- (merged to 'next' on 2017-04-11 at 5573b2c49b)
329
- + contrib/git-resurrect.sh: do not write \t for HT in sed scripts
229
+ Will merge to 'next'.
230
+
231
+
232
+* sr/http-proxy-configuration-fix (2017-04-13) 2 commits
233
+ - http: fix the silent ignoring of proxy misconfiguraion
234
+ - http: honor empty http.proxy option to bypass proxy
235
+
236
+ "http.proxy" set to an empty string is used to disable the usage of
237
+ proxy. We broke this early last year.
238
+
239
+ Will merge to 'next'.
240
+
241
+
242
+* tb/doc-eol-normalization (2017-04-13) 1 commit
243
+ - gitattributes.txt: document how to normalize the line endings
244
+
245
+ Doc update.
246
+
247
+ Will merge to 'next'.
248
+
249
+
250
+* va/i18n-perl-scripts (2017-04-13) 1 commit
251
+ - git-add--interactive.perl: add missing dot in a message
252
+
253
+ Message fix.
254
+
255
+ Will merge to 'next'.
256
+
257
+
258
+* bw/submodule-is-active (2017-04-13) 1 commit
259
+ - submodule--helper: fix typo in is_active error message
260
+
261
+ Error message fix.
262
+
263
+ Will merge to 'next'.
264
+
265
+
266
+* gb/rebase-signoff (2017-04-16) 3 commits
267
+ - rebase: pass --[no-]signoff option to git am
268
+ - builtin/am: fold am_signoff() into am_append_signoff()
269
+ - builtin/am: honor --signoff also when --rebasing
270
+
271
+ "git rebase" learns "--signoff" option.
272
+
273
+
274
+* jh/add-index-entry-optim (2017-04-15) 3 commits
275
+ - read-cache: speed up add_index_entry during checkout
276
+ - p0006-read-tree-checkout: perf test to time read-tree
277
+ - read-cache: add strcmp_offset function
278
+
279
+ "git checkout" that handles a lot of paths has been optimized by
280
+ reducing the number of unnecessary checks of paths in the
281
+ has_dir_name() function.
282
+
283
+ Will merge to 'next'.
284
+
285
+
286
+* ab/grep-plug-pathspec-leak (2017-04-16) 1 commit
287
+ - grep: plug a trivial memory leak
288
+
289
+ Call clear_pathspec() to release resources immediately before the
290
+ cmd_grep() function returns.
291
+
292
+ Will merge to 'next'.
293
+ Meh.
294
+
295
+* ab/grep-threading-cleanup (2017-04-16) 8 commits
296
+ - grep: given --threads with NO_PTHREADS=YesPlease, warn
297
+ - pack-objects: fix buggy warning about threads under NO_PTHREADS=YesPlease
298
+ - pack-object & index-pack: add test for --threads warning under NO_PTHREADS
299
+ - tests: add a PTHREADS prerequisite
300
+ - grep: skip pthreads overhead when using one thread
301
+ - grep: don't redundantly compile throwaway patterns under threading
302
+ - grep: add tests for --threads=N and grep.threads
303
+ - grep: assert that threading is enabled when calling grep_{lock,unlock}
304
+
305
+
306
+* bw/attr-pathspec (2017-04-16) 1 commit
307
+ - pathspec: fix segfault in clear_pathspec
308
+
309
+ Will merge to 'next'.
310
+ Hotfix for a topic already in 'master'.
311
+
312
+
313
+* bw/submodule-with-bs-path (2017-04-16) 1 commit
314
+ - submodule: prevent backslash expantion in submodule names
315
+
316
+ "git submodule" script does not work well with strange pathnames.
317
+ Protect it from a path with slashes in them, at least.
318
+
319
+ Will merge to 'next'.
320
+
321
+
322
+* dt/gc-ignore-old-gc-logs (2017-04-16) 1 commit
323
+ - t6500: wait for detached auto gc at the end of the test script
324
+
325
+ Will merge to 'next'.
326
+ Hotfix for a topic already in 'master'.
327
+
328
+
329
+* jk/loose-object-fsck (2017-04-16) 1 commit
330
+ - sha1_file: remove an used fd variable
331
332
Code cleanup.
333
333
- Will merge to 'master'.
334
+ Will merge to 'next'.
335
336
336
-* bw/push-options-recursively-to-submodules (2017-04-11) 5 commits
337
- - push: propagate remote and refspec with --recurse-submodules
338
- - submodule--helper: add push-check subcommand
339
- - remote: expose parse_push_refspec function
340
- - push: propagate push-options with --recurse-submodules
341
- - push: unmark a local variable as static
337
+* jk/quarantine-received-objects (2017-04-16) 3 commits
338
+ - refs: reject ref updates while GIT_QUARANTINE_PATH is set
339
+ - receive-pack: document user-visible quarantine effects
340
+ - receive-pack: drop tmp_objdir_env from run_update_hook
341
343
- "git push --recurse-submodules --push-option=<string>" learned to
344
- propagate the push option recursively down to pushes in submodules.
342
+ Add finishing touches to a recent topic.
343
344
Will merge to 'next'.
345
346
349
-* mm/ls-files-s-doc (2017-04-01) 1 commit
350
- (merged to 'next' on 2017-04-11 at 7e55625b1e)
351
- + Documentation: document elements in "ls-files -s" output in order
347
+* ld/p4-current-branch-fix (2017-04-16) 3 commits
348
+ - git-p4: don't use name-rev to get current branch
349
+ - git-p4: add read_pipe_text() internal function
350
+ - git-p4: add failing test for name-rev rather than symbolic-ref
351
353
- Doc update.
352
+ "git p4" used "name-rev HEAD" when it wants to learn what branch is
353
+ checked out; it should use "symbolic-ref HEAD".
354
355
- Will merge to 'master'.
355
+ Will merge to 'next'.
356
357
358
-* pc/t2027-git-to-pipe-cleanup (2017-04-01) 1 commit
359
- - t2027: avoid using pipes
358
+* ls/travis-coccicheck (2017-04-16) 1 commit
359
+ - travis-ci: add static analysis build job to run coccicheck
360
361
- Having a git command on the upstream side of a pipe in a test
362
- script will hide the exit status from the command, which may cause
363
- us to fail to notice a breakage; rewrite tests in a script to avoid
364
- this issue.
361
+ Travis CI learns to run coccicheck.
362
363
367
-* qp/bisect-docfix (2017-04-01) 1 commit
368
- (merged to 'next' on 2017-04-11 at 9c20eba240)
369
- + git-bisect.txt: add missing word
364
+* rs/misc-cppcheck-fixes (2017-04-16) 3 commits
365
+ - server-info: avoid calling fclose(3) twice in update_info_file()
366
+ - files_for_each_reflog_ent_reverse(): close stream and free strbuf on error
367
+ - am: close stream on error, but not stdin
368
371
- Doc update.
369
+ Will merge to 'next'.
370
+ Various small fixes.
371
373
- Will merge to 'master'.
372
373
+* sf/putty-w-args (2017-04-16) 1 commit
374
+ - connect.c: handle errors from split_cmdline
375
376
-* sb/show-diff-for-submodule-in-diff-fix (2017-04-02) 1 commit
377
- (merged to 'next' on 2017-04-11 at 8d16ef369e)
378
- + diff: submodule inline diff to initialize env array.
376
+ Will merge to 'next'.
377
+ Hotfix for a topic already in 'master'.
378
380
- "git diff --submodule=diff" learned to work better in a project
381
- with a submodule that in turn has its own submodules.
379
383
- Will merge to 'master'.
380
+* km/t1400-modernization (2017-04-16) 1 commit
381
+ - t1400: use consistent style for test_expect_success calls
382
383
+ Code cleanup.
384
386
-* lt/mailinfo-in-body-header-continuation (2017-04-11) 1 commit
387
- - mailinfo: fix in-body header continuations
385
+ Will merge to 'next'.
386
389
- If a patch e-mail had its first paragraph after an in-body header
390
- indented (even after a blank line after the in-body header line),
391
- the indented line was mistook as a continuation of the in-body
392
- header. This has been fixed.
387
+
388
+* vn/revision-shorthand-for-side-branch-log (2017-04-16) 1 commit
389
+ - doc/revisions: remove brackets from rev^-n shorthand
390
+
391
+ Doc cleanup.
392
393
Will merge to 'next'.
394
@@ -517,6 +516,63 @@ of the repositories listed at
516
--------------------------------------------------
517
[Cooking]
518
519
+* dt/http-postbuffer-can-be-large (2017-04-13) 1 commit
520
+ - http.postbuffer: allow full range of ssize_t values
521
+
522
+ Allow the http.postbuffer configuration variable to be set to a
523
+ size that can be expressed in size_t, which can be larger than
524
+ ulong on some platforms.
525
+
526
+ Will merge to 'next'.
527
+
528
+
529
+* jh/memihash-opt (2017-04-12) 3 commits
530
+ (merged to 'next' on 2017-04-15 at 6bfc58e19a)
531
+ + t3008: skip lazy-init test on a single-core box
532
+ + test-online-cpus: helper to return cpu count
533
+ (merged to 'next' on 2017-04-11 at ec5a6f2818)
534
+ + name-hash: fix buffer overrun
535
+
536
+ Hotfix for a topic that is already in 'master'.
537
+
538
+ Will merge to 'master'.
539
+
540
+
541
+* bw/push-options-recursively-to-submodules (2017-04-11) 5 commits
542
+ (merged to 'next' on 2017-04-16 at d4d657724b)
543
+ + push: propagate remote and refspec with --recurse-submodules
544
+ + submodule--helper: add push-check subcommand
545
+ + remote: expose parse_push_refspec function
546
+ + push: propagate push-options with --recurse-submodules
547
+ + push: unmark a local variable as static
548
+
549
+ "git push --recurse-submodules --push-option=<string>" learned to
550
+ propagate the push option recursively down to pushes in submodules.
551
+
552
+ Will merge to 'master'.
553
+
554
+
555
+* pc/t2027-git-to-pipe-cleanup (2017-04-14) 1 commit
556
+ - t2027: avoid using pipes
557
+
558
+ Having a git command on the upstream side of a pipe in a test
559
+ script will hide the exit status from the command, which may cause
560
+ us to fail to notice a breakage; rewrite tests in a script to avoid
561
+ this issue.
562
+
563
+
564
+* lt/mailinfo-in-body-header-continuation (2017-04-11) 1 commit
565
+ (merged to 'next' on 2017-04-16 at b2f51f0780)
566
+ + mailinfo: fix in-body header continuations
567
+
568
+ If a patch e-mail had its first paragraph after an in-body header
569
+ indented (even after a blank line after the in-body header line),
570
+ the indented line was mistook as a continuation of the in-body
571
+ header. This has been fixed.
572
+
573
+ Will merge to 'master'.
574
+
575
+
576
* bp/sub-process-convert-filter (2017-03-30) 8 commits
577
- convert: update subprocess_read_status to not die on EOF
578
- sub-process: move sub-process functions into separate files
@@ -530,7 +586,8 @@ of the repositories listed at
586
Code from "conversion using external process" codepath has been
587
extracted to a separate sub-process.[ch] module.
588
533
- This looks ready for 'next'. Any more comments?
589
+ Reroll exists but needs more work.
590
+ cf. <20170407120354.17736-1-benpeart@microsoft.com>
591
592
593
* cc/split-index-config (2017-03-30) 1 commit
@@ -543,32 +600,6 @@ of the repositories listed at
600
The code looked OK, though.
601
602
546
-* jk/snprintf-cleanups (2017-03-30) 18 commits
547
- (merged to 'next' on 2017-04-11 at 42ac56e886)
548
- + daemon: use an argv_array to exec children
549
- + gc: replace local buffer with git_path
550
- + transport-helper: replace checked snprintf with xsnprintf
551
- + convert unchecked snprintf into xsnprintf
552
- + combine-diff: replace malloc/snprintf with xstrfmt
553
- + replace unchecked snprintf calls with heap buffers
554
- + receive-pack: print --pack-header directly into argv array
555
- + name-rev: replace static buffer with strbuf
556
- + create_branch: use xstrfmt for reflog message
557
- + create_branch: move msg setup closer to point of use
558
- + avoid using mksnpath for refs
559
- + avoid using fixed PATH_MAX buffers for refs
560
- + fetch: use heap buffer to format reflog
561
- + tag: use strbuf to format tag header
562
- + diff: avoid fixed-size buffer for patch-ids
563
- + odb_mkstemp: use git_path_buf
564
- + odb_mkstemp: write filename into strbuf
565
- + do not check odb_mkstemp return value for errors
566
-
567
- Code clean-up.
568
-
569
- Will merge to 'master'.
570
-
571
-
603
* mg/name-rev-debug (2017-03-31) 4 commits
604
- describe: pass --debug down to name-rev
605
- name-rev: provide debug output
@@ -583,40 +614,42 @@ of the repositories listed at
614
615
616
* bc/object-id (2017-03-31) 20 commits
586
- - Documentation: update and rename api-sha1-array.txt
587
- - Rename sha1_array to oid_array
588
- - Convert sha1_array_for_each_unique and for_each_abbrev to object_id
589
- - Convert sha1_array_lookup to take struct object_id
590
- - Convert remaining callers of sha1_array_lookup to object_id
591
- - Make sha1_array_append take a struct object_id *
592
- - sha1-array: convert internal storage for struct sha1_array to object_id
593
- - builtin/pull: convert to struct object_id
594
- - submodule: convert check_for_new_submodule_commits to object_id
595
- - sha1_name: convert disambiguate_hint_fn to take object_id
596
- - sha1_name: convert struct disambiguate_state to object_id
597
- - test-sha1-array: convert most code to struct object_id
598
- - parse-options-cb: convert sha1_array_append caller to struct object_id
599
- - fsck: convert init_skiplist to struct object_id
600
- - builtin/receive-pack: convert portions to struct object_id
601
- - builtin/pull: convert portions to struct object_id
602
- - builtin/diff: convert to struct object_id
603
- - Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ
604
- - Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ
605
- - Define new hash-size constants for allocating memory
617
+ (merged to 'next' on 2017-04-16 at b16f1899dd)
618
+ + Documentation: update and rename api-sha1-array.txt
619
+ + Rename sha1_array to oid_array
620
+ + Convert sha1_array_for_each_unique and for_each_abbrev to object_id
621
+ + Convert sha1_array_lookup to take struct object_id
622
+ + Convert remaining callers of sha1_array_lookup to object_id
623
+ + Make sha1_array_append take a struct object_id *
624
+ + sha1-array: convert internal storage for struct sha1_array to object_id
625
+ + builtin/pull: convert to struct object_id
626
+ + submodule: convert check_for_new_submodule_commits to object_id
627
+ + sha1_name: convert disambiguate_hint_fn to take object_id
628
+ + sha1_name: convert struct disambiguate_state to object_id
629
+ + test-sha1-array: convert most code to struct object_id
630
+ + parse-options-cb: convert sha1_array_append caller to struct object_id
631
+ + fsck: convert init_skiplist to struct object_id
632
+ + builtin/receive-pack: convert portions to struct object_id
633
+ + builtin/pull: convert portions to struct object_id
634
+ + builtin/diff: convert to struct object_id
635
+ + Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ
636
+ + Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ
637
+ + Define new hash-size constants for allocating memory
638
639
Conversion from unsigned char [40] to struct object_id continues.
640
609
- Will merge to 'next'.
641
+ Will merge to 'master'.
642
643
644
* sb/submodule-short-status (2017-03-29) 7 commits
613
- - submodule.c: correctly handle nested submodules in is_submodule_modified
614
- - short status: improve reporting for submodule changes
615
- - submodule.c: stricter checking for submodules in is_submodule_modified
616
- - submodule.c: port is_submodule_modified to use porcelain 2
617
- - submodule.c: convert is_submodule_modified to use strbuf_getwholeline
618
- - submodule.c: factor out early loop termination in is_submodule_modified
619
- - submodule.c: use argv_array in is_submodule_modified
645
+ (merged to 'next' on 2017-04-16 at 24e18f4a4a)
646
+ + submodule.c: correctly handle nested submodules in is_submodule_modified
647
+ + short status: improve reporting for submodule changes
648
+ + submodule.c: stricter checking for submodules in is_submodule_modified
649
+ + submodule.c: port is_submodule_modified to use porcelain 2
650
+ + submodule.c: convert is_submodule_modified to use strbuf_getwholeline
651
+ + submodule.c: factor out early loop termination in is_submodule_modified
652
+ + submodule.c: use argv_array in is_submodule_modified
653
654
The output from "git status --short" has been extended to show
655
various kinds of dirtyness in submodules differently; instead of to
@@ -624,10 +657,10 @@ of the repositories listed at
657
to the working tree of the submodule but not the commit that is
658
checked out.
659
627
- Will merge to 'next'.
660
+ Will merge to 'master'.
661
662
630
-* mh/separate-ref-cache (2017-03-31) 20 commits
663
+* mh/separate-ref-cache (2017-04-16) 20 commits
664
- do_for_each_entry_in_dir(): delete function
665
- files_pack_refs(): use reference iteration
666
- commit_packed_refs(): use reference iteration
@@ -664,7 +697,7 @@ of the repositories listed at
697
A proposal to use po4a to localize our manual pages.
698
699
667
-* nd/prune-in-worktree (2017-03-27) 12 commits
700
+* nd/prune-in-worktree (2017-04-16) 12 commits
701
- rev-list: expose and document --single-worktree
702
- revision.c: --reflog add HEAD reflog from all worktrees
703
- files-backend: make reflog iterator go through per-worktree reflog
@@ -688,10 +721,11 @@ of the repositories listed at
721
Waiting for nd/files-backend-git-dir to settle.
722
723
691
-* nd/worktree-kill-parse-ref (2017-03-27) 4 commits
724
+* nd/worktree-kill-parse-ref (2017-04-16) 5 commits
725
- refs: kill set_worktree_head_symref()
726
- worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()
727
- refs: introduce get_worktree_ref_store()
728
+ - refs.c: make submodule ref store hashmap generic
729
- environment.c: fix potential segfault by get_git_common_dir()
730
(this branch is used by nd/prune-in-worktree; uses nd/files-backend-git-dir; is tangled with mh/separate-ref-cache.)
731
@@ -701,13 +735,13 @@ of the repositories listed at
735
Waiting for nd/files-backend-git-dir to settle.
736
737
704
-* nd/files-backend-git-dir (2017-03-27) 28 commits
738
+* nd/files-backend-git-dir (2017-04-14) 28 commits
739
- refs.h: add a note about sorting order of for_each_ref_*
740
- t1406: new tests for submodule ref store
741
- t1405: some basic tests on main ref store
742
- t/helper: add test-ref-store to test ref-store functions
743
- refs: delete pack_refs() in favor of refs_pack_refs()
710
- - files-backend: avoid ref api targetting main ref store
744
+ - files-backend: avoid ref api targeting main ref store
745
- refs: new transaction related ref-store api
746
- refs: add new ref-store api
747
- refs: rename get_ref_store() to get_submodule_ref_store() and make it public
@@ -740,17 +774,6 @@ of the repositories listed at
774
Will merge to 'next'.
775
776
743
-* jc/p4-current-branch-fix (2017-03-27) 2 commits
744
- - DONTMERGE git-p4: "name-rev HEAD" is not a way to find the current branch
745
- - git-p4: add failing test for name-rev rather than symbolic-ref
746
-
747
- "git p4" used "name-rev HEAD" when it wants to learn what branch is
748
- checked out; it should use "symbolic-ref HEAD".
749
-
750
- The tip one (i.e. real fix) needs to be redone by somebody
751
- competent with Python and git-p4 codebase.
752
-
753
-
777
* jc/bundle (2016-03-03) 6 commits
778
- index-pack: --clone-bundle option
779
- Merge branch 'jc/index-pack' into jc/bundle
@@ -776,3 +799,13 @@ of the repositories listed at
799
the base for naming a commit.
800
801
Now part of mg/name-rev-debug topic.
802
+
803
+
804
+* jc/p4-current-branch-fix (2017-03-27) 2 commits
805
+ . DONTMERGE git-p4: "name-rev HEAD" is not a way to find the current branch
806
+ . git-p4: add failing test for name-rev rather than symbolic-ref
807
+
808
+ "git p4" used "name-rev HEAD" when it wants to learn what branch is
809
+ checked out; it should use "symbolic-ref HEAD".
810
+
811
+ Superseded by the ld/p4-current-branch-fix topic.