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.