What's cooking (2017/04 #01)

Junio C Hamano committed Apr 11, 2017 at 01:36 UTC 41d739de0f85cb11206633d6409107bd8ae8de46
1 file changed +382 -363
whats-cooking.txt
+382 -363
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Mar 2017, #12; Wed, 29)
4 -X-master-at: e1104a5ee539408b81566066aaa6963cb87d5cd6
5 -X-next-at: c2a70e75825ac7c7f54f8cb0fff83ac7cf042a3a
3 +Subject: What's cooking in git.git (Apr 2017, #01; Tue, 11)
4 +X-master-at: cf11a67975b057a144618badf16dc4e3d25b9407
5 +X-next-at: 0e3151a226817c3c07c4878b88a23b0a10c959ef
6
7 -What's cooking in git.git (Mar 2017, #12; Wed, 29)
7 +What's cooking in git.git (Apr 2017, #01; Tue, 11)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,6 +12,12 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 +The 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 +
21 You can find the changes described here in the integration branches
22 of the repositories listed at
23
@@ -20,211 +26,370 @@ of the repositories listed at
26 --------------------------------------------------
27 [Graduated to "master"]
28
23 -* ab/branch-list-doc (2017-03-24) 2 commits
24 - (merged to 'next' on 2017-03-27 at 4bb47907ee)
25 - + branch doc: update description for `--list`
26 - + branch doc: change `git branch <pattern>` to use `<branchname>`
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
32 +
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.
38 +
39 +
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..."
44
45 Doc update.
46
47
31 -* bw/grep-recurse-submodules (2017-03-18) 2 commits
32 - (merged to 'next' on 2017-03-21 at a57e2f0129)
33 - + grep: fix builds with with no thread support
34 - + grep: set default output method
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
36 - Build fix for NO_PTHREADS build.
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
39 -* jh/memihash-opt (2017-03-24) 8 commits
40 - (merged to 'next' on 2017-03-24 at f1aa0c4d37)
41 - + name-hash: add test-lazy-init-name-hash to .gitignore
42 - + name-hash: add perf test for lazy_init_name_hash
43 - + name-hash: add test-lazy-init-name-hash
44 - + name-hash: perf improvement for lazy_init_name_hash
45 - + hashmap: document memihash_cont, hashmap_disallow_rehash api
46 - + hashmap: add disallow_rehash setting
47 - + hashmap: allow memihash computation to be continued
48 - + name-hash: specify initial size for istate.dir_hash table
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
50 - The name-hash used for detecting paths that are different only in
51 - cases (which matter on case insensitive filesystems) has been
52 - optimized to take advantage of multi-threading when it makes sense.
82 + Doc updates.
83
84
55 -* jk/fast-import-cleanup (2017-03-24) 4 commits
56 - (merged to 'next' on 2017-03-27 at 9f6058007f)
57 - + pack.h: define largest possible encoded object size
58 - + encode_in_pack_object_header: respect output buffer length
59 - + fast-import: use xsnprintf for formatting headers
60 - + fast-import: use xsnprintf for writing sha1s
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
62 - Code clean-up.
89 + The default behaviour of "git log" in an interactive session has
90 + been changed to enable "--decorate".
91
92
65 -* jk/pager-in-use (2017-03-24) 1 commit
66 - (merged to 'next' on 2017-03-27 at 513f007025)
67 - + pager_in_use: use git_env_bool()
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
69 - Code clean-up.
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
72 -* jk/sha1dc (2017-03-26) 1 commit
73 - (merged to 'next' on 2017-03-27 at 91bf9f06b4)
74 - + sha1dc: avoid CPP macro collisions
75 -
76 - sha1dc/sha1.c wanted to check the endianness of the target platform
77 - at compilation time and used a CPP macro with a rather overly
78 - generic name, "BIGENDIAN", to pass the result of the check around
79 - in the file. It wasn't prepared for the same macro set to 0
80 - (false) by the platform to signal that the target is _not_ a big
81 - endian box, and assumed that the endianness detection logic it has
82 - alone would be the one that is setting the macro, resulting in a
83 - breakage on Windows. This has been fixed by using a bit less
84 - generic name for the same purpose.
85 -
86 -
87 -* sb/checkout-recurse-submodules (2017-03-16) 19 commits
88 - (merged to 'next' on 2017-03-22 at 48b49d572c)
89 - + builtin/read-tree: add --recurse-submodules switch
90 - + builtin/checkout: add --recurse-submodules switch
91 - + entry.c: create submodules when interesting
92 - + unpack-trees: check if we can perform the operation for submodules
93 - + unpack-trees: pass old oid to verify_clean_submodule
94 - + update submodules: add submodule_move_head
95 - + submodule.c: get_super_prefix_or_empty
96 - + update submodules: move up prepare_submodule_repo_env
97 - + submodules: introduce check to see whether to touch a submodule
98 - + update submodules: add a config option to determine if submodules are updated
99 - + update submodules: add submodule config parsing
100 - + make is_submodule_populated gently
101 - + lib-submodule-update.sh: define tests for recursing into submodules
102 - + lib-submodule-update.sh: replace sha1 by hash
103 - + lib-submodule-update: teach test_submodule_content the -C <dir> flag
104 - + lib-submodule-update.sh: do not use ./. as submodule remote
105 - + lib-submodule-update.sh: reorder create_lib_submodule_repo
106 - + submodule--helper.c: remove duplicate code
107 - + connect_work_tree_and_git_dir: safely create leading directories
108 -
109 - "git checkout" is taught the "--recurse-submodules" option.
110 -
111 -
112 -* sg/skip-prefix-in-prettify-refname (2017-03-23) 1 commit
113 - (merged to 'next' on 2017-03-27 at f7d0c115f9)
114 - + refs.c: use skip_prefix() in prettify_refname()
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
139
140 Code cleanup.
141
142
119 -* tg/stash-push-fixup (2017-03-22) 3 commits
120 - (merged to 'next' on 2017-03-24 at e6b9e04213)
121 - + stash: keep untracked files intact in stash -k
122 - + stash: pass the pathspec argument to git reset
123 - + stash: don't show internal implementation details
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
146 +
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.
150 +
151
125 - Recent enhancement to "git stash push" command to support pathspec
126 - to allow only a subset of working tree changes to be stashed away
127 - was found to be too chatty and exposed the internal implementation
128 - detail (e.g. when it uses reset to match the index to HEAD before
129 - doing other things, output from reset seeped out). These, and
130 - other chattyness has been fixed.
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
155
132 ---------------------------------------------------
133 -[New Topics]
156 + Build fix.
157
135 -* bc/push-cert-receive-fix (2017-03-28) 1 commit
136 - - builtin/receive-pack: fix incorrect pointer arithmetic
158
138 - "git receive-pack" could have been forced to die by attempting
139 - allocate an unreasonably large amount of memory with a crafted push
140 - certificate; this has been fixed.
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"
162
142 - Will merge to 'next'.
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").
167 +
168 +
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
174 +
175 + A recent update to "rebase -i" stopped running hooks for the "git
176 + commit" command during "reword" action, which has been fixed.
177 +
178 +
179 +* ls/travis-relays-for-windows-ci (2017-03-28) 1 commit
180 + - travis-ci: build and test Git on Windows
181 +
182 + Define a new task in .travis.yml that triggers a test session on
183 + Windows run elsewhere.
184 +
185 +
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.)
191 +
192 + Some debugging output from "git describe" were marked for l10n,
193 + but some weren't. Mark missing ones for l10n.
194
195
196 * mh/notes-tree-consolidate-fix (2017-03-27) 1 commit
146 - - notes: do not break note_tree structure in note_tree_consolidate()
197 + (merged to 'next' on 2017-03-30 at 8383c6c088)
198 + + notes: do not break note_tree structure in note_tree_consolidate()
199
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.
204
153 - Will merge to 'next'.
205
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
209
156 -* ls/travis-relays-for-windows-ci (2017-03-28) 1 commit
157 - - travis-ci: build and test Git on Windows
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.
214
159 - Define a new task in .travis.yml that triggers a test session on
160 - Windows run elsewhere.
215
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.)
222 +
223 + Command line completion updates.
224
163 -* bp/sub-process-convert-filter (2017-03-29) 8 commits
164 - - convert: update subprocess_read_status to not die on EOF
165 - - sub-process: move sub-process functions into separate files
166 - - convert: rename reusable sub-process functions
167 - - convert: update generic functions to only use generic data structures
168 - - convert: separate generic structures and variables from the filter specific ones
169 - - convert: split start_multi_file_filter into two separate functions
170 - - convert: update convert to use new packet_writel() function
171 - - pkt-line: add packet_writel() and packet_read_line_gently()
225
173 - Code from "conversion using external process" codepath has been
174 - extracted to a separate sub-process.[ch] module.
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.)
243
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.
248
177 -* cc/split-index-config (2017-03-29) 1 commit
178 - - read-cache: avoid git_path() race in freshen_shared_index()
249 +--------------------------------------------------
250 +[New Topics]
251
180 - The split-index code configuration code used an unsafe git_path()
181 - function without copying its result out.
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
255
183 - Needs to be explained better.
184 - The code looked OK, though.
256 + Update an error message.
257
258 + Will merge to 'master'.
259
187 -* jk/make-coccicheck-detect-errors (2017-03-29) 1 commit
188 - - Makefile: detect errors in running spatch
260
190 - Build fix.
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
264 +
265 + Update the build dependency so that an update to /usr/bin/perl
266 + etc. result in recomputation of perl.mak file.
267 +
268 + Will merge to 'master'.
269 +
270 +
271 +* js/difftool-builtin (2017-03-30) 1 commit
272 + (merged to 'next' on 2017-04-11 at 38df92441f)
273 + + difftool: avoid strcpy
274 +
275 + Code cleanup.
276 +
277 + Will merge to 'master'.
278 +
279 +
280 +* dt/http-postbuffer-can-be-large (2017-03-31) 1 commit
281 + - http.postbuffer: allow full range of ssize_t values
282 +
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.
286
287 Will merge to 'next'.
288
289
195 -* jk/snprintf-cleanups (2017-03-28) 18 commits
196 - - daemon: use an argv_array to exec children
197 - - gc: replace local buffer with git_path
198 - - transport-helper: replace checked snprintf with xsnprintf
199 - - convert unchecked snprintf into xsnprintf
200 - - combine-diff: replace malloc/snprintf with xstrfmt
201 - - replace unchecked snprintf calls with heap buffers
202 - - receive-pack: print --pack-header directly into argv array
203 - - name-rev: replace static buffer with strbuf
204 - - create_branch: use xstrfmt for reflog message
205 - - create_branch: move msg setup closer to point of use
206 - - avoid using mksnpath for refs
207 - - avoid using fixed PATH_MAX buffers for refs
208 - - fetch: use heap buffer to format reflog
209 - - tag: use strbuf to format tag header
210 - - diff: avoid fixed-size buffer for patch-ids
211 - - odb_mkstemp: use git_path_buf
212 - - odb_mkstemp: write filename into strbuf
213 - - do not check odb_mkstemp return value for errors
290 +* jh/core-checksum-index (2017-03-30) 1 commit
291 + - read-cache: core.checksumindex
292
215 - Code clean-up.
293 + Expecting a reroll.
294 + cf. <094f16d2-e1d9-1478-df6a-4f24f17e184e@jeffhostetler.com>
295 +
296 +
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
300 +
301 + Code cleanup.
302 +
303 + Will merge to 'master'.
304 +
305 +
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
309 +
310 + Hotfix for a topic that is already in 'master'.
311 +
312 + Will merge to 'master'.
313 + This already has the fix for "sed '...\t'" squashed in.
314 +
315 +
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
320 +
321 + Update error handling for codepath that deals with corrupt loose
322 + objects.
323 +
324 + Will merge to 'master'.
325 +
326 +
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
330 +
331 + Code cleanup.
332 +
333 + Will merge to 'master'.
334 +
335 +
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
342 +
343 + "git push --recurse-submodules --push-option=<string>" learned to
344 + propagate the push option recursively down to pushes in submodules.
345
346 Will merge to 'next'.
347
348
220 -* mg/name-rev-debug (2017-03-29) 3 commits
221 - - name-rev: provide debug output
222 - - name-rev: favor describing with tags and use committer date to tiebreak
223 - - name-rev: refactor logic to see if a new candidate is a better name
224 - (this branch uses mg/describe-debug-l10n.)
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
352
226 - "git describe --debug --contains" did not add any meaningful
227 - information, even though without "--contains" it did.
353 + Doc update.
354 +
355 + Will merge to 'master'.
356 +
357 +
358 +* pc/t2027-git-to-pipe-cleanup (2017-04-01) 1 commit
359 + - t2027: avoid using pipes
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.
365 +
366 +
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
370 +
371 + Doc update.
372 +
373 + Will merge to 'master'.
374 +
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.
379 +
380 + "git diff --submodule=diff" learned to work better in a project
381 + with a submodule that in turn has its own submodules.
382 +
383 + Will merge to 'master'.
384 +
385 +
386 +* lt/mailinfo-in-body-header-continuation (2017-04-11) 1 commit
387 + - mailinfo: fix in-body header continuations
388 +
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.
393
394 Will merge to 'next'.
395
@@ -352,20 +517,72 @@ of the repositories listed at
517 --------------------------------------------------
518 [Cooking]
519
355 -* ab/case-insensitive-upstream-and-push-marker (2017-03-27) 1 commit
356 - (merged to 'next' on 2017-03-28 at 166654719e)
357 - + rev-parse: match @{upstream}, @{u} and @{push} case-insensitively
520 +* bp/sub-process-convert-filter (2017-03-30) 8 commits
521 + - convert: update subprocess_read_status to not die on EOF
522 + - sub-process: move sub-process functions into separate files
523 + - convert: rename reusable sub-process functions
524 + - convert: update generic functions to only use generic data structures
525 + - convert: separate generic structures and variables from the filter specific ones
526 + - convert: split start_multi_file_filter() into two separate functions
527 + - convert: move packet_write_list() into pkt-line.c as packet_writel()
528 + - pkt-line: add packet_read_line_gently()
529 +
530 + Code from "conversion using external process" codepath has been
531 + extracted to a separate sub-process.[ch] module.
532 +
533 + This looks ready for 'next'. Any more comments?
534
359 - On many keyboards, typing "@{" involves holding down SHIFT key and
360 - one can easily end up with "@{Up..." when typing "@{upstream}". As
361 - the upstream/push keywords do not appear anywhere else in the syntax,
362 - we can safely accept them case insensitively without introducing
363 - ambiguity or confusion to solve this.
535 +
536 +* cc/split-index-config (2017-03-30) 1 commit
537 + - read-cache: avoid using git_path() in freshen_shared_index()
538 +
539 + The split-index code configuration code used an unsafe git_path()
540 + function without copying its result out.
541 +
542 + Needs to be explained better.
543 + The code looked OK, though.
544 +
545 +
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
368 -* bc/object-id (2017-03-28) 20 commits
572 +* mg/name-rev-debug (2017-03-31) 4 commits
573 + - describe: pass --debug down to name-rev
574 + - name-rev: provide debug output
575 + - name-rev: favor describing with tags and use committer date to tiebreak
576 + - name-rev: refactor logic to see if a new candidate is a better name
577 +
578 + "git describe --debug --contains" did not add any meaningful
579 + information, even though without "--contains" it did.
580 +
581 + Expecting a reroll of the tip two.
582 + cf. <xmqqshltxnwt.fsf@gitster.mtv.corp.google.com>
583 +
584 +
585 +* 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
@@ -392,66 +609,7 @@ of the repositories listed at
609 Will merge to 'next'.
610
611
395 -* rs/freebsd-getcwd-workaround (2017-03-26) 1 commit
396 - (merged to 'next' on 2017-03-28 at 3f3c1553a7)
397 - + strbuf: support long paths w/o read rights in strbuf_getcwd() on FreeBSD
398 -
399 - FreeBSD implementation of getcwd(3) behaved differently when an
400 - intermediate directory is unreadable/unsearchable depending on the
401 - length of the buffer provided, which our strbuf_getcwd() was not
402 - aware of. strbuf_getcwd() has been taught to cope with it better.
403 -
404 - Will merge to 'master'.
405 -
406 -
407 -* mg/describe-debug-l10n (2017-03-27) 2 commits
408 - (merged to 'next' on 2017-03-28 at 16ad604828)
409 - + l10n: de: translate describe debug terms
410 - + describe: localize debug output fully
411 - (this branch is used by mg/name-rev-debug.)
412 -
413 - Some debugging output from "git describe" were marked for l10n,
414 - but some weren't. Mark missing ones for l10n.
415 -
416 - Will merge to 'master'.
417 -
418 -
419 -* ab/test-readme-updates (2017-03-26) 3 commits
420 - (merged to 'next' on 2017-03-28 at abdc7b3b15)
421 - + t/README: clarify the test_have_prereq documentation
422 - + t/README: change "Inside <X> part" to "Inside the <X> part"
423 - + t/README: link to metacpan.org, not search.cpan.org
424 -
425 - Doc updates.
426 -
427 - Will merge to 'master'.
428 -
429 -
430 -* js/rebase-i-reword-to-run-hooks (2017-03-27) 3 commits
431 - (merged to 'next' on 2017-03-28 at d23d60f63d)
432 - + sequencer: allow the commit-msg hooks to run during a `reword`
433 - + sequencer: make commit options more extensible
434 - + t7504: document regression: reword no longer calls commit-msg
435 -
436 - A recent update to "rebase -i" stopped running hooks for the "git
437 - commit" command during "reword" action, which has been fixed.
438 -
439 - Will merge to 'master'.
440 -
441 -
442 -* sg/completion-ctags (2017-03-23) 3 commits
443 - (merged to 'next' on 2017-03-27 at cf8c081f7d)
444 - + completion: offer ctags symbol names for 'git log -S', '-G' and '-L:'
445 - + completion: extract completing ctags symbol names into helper function
446 - + completion: put matching ctags symbol names directly into COMPREPLY
447 - (this branch uses sg/completion-refs-speedup.)
448 -
449 - Command line completion updates.
450 -
451 - Will merge to 'master'.
452 -
453 -
454 -* sb/submodule-short-status (2017-03-27) 7 commits
612 +* 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
@@ -466,37 +624,10 @@ of the repositories listed at
624 to the working tree of the submodule but not the commit that is
625 checked out.
626
469 - Waiting for further comments.
470 - The endgame looked mostly OK.
471 -
472 -
473 -* sg/completion-refs-speedup (2017-03-23) 14 commits
474 - (merged to 'next' on 2017-03-27 at 6bb275710d)
475 - + completion: speed up branch and tag completion
476 - + completion: fill COMPREPLY directly when completing fetch refspecs
477 - + completion: fill COMPREPLY directly when completing refs
478 - + completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMery
479 - + completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMery
480 - + completion: let 'for-each-ref' strip the remote name from remote branches
481 - + completion: let 'for-each-ref' and 'ls-remote' filter matching refs
482 - + completion: don't disambiguate short refs
483 - + completion: don't disambiguate tags and branches
484 - + completion: support excluding full refs
485 - + completion: support completing fully qualified non-fast-forward refspecs
486 - + completion: support completing full refs after '--option=refs/<TAB>'
487 - + completion: wrap __git_refs() for better option parsing
488 - + completion: remove redundant __gitcomp_nl() options from _git_commit()
489 - (this branch is used by sg/completion-ctags.)
490 -
491 - The refs completion for large number of refs has been sped up,
492 - partly by giving up disambiguating ambiguous refs and partly by
493 - eliminating most of the shell processing between 'git for-each-ref'
494 - and 'ls-remote' and Bash's completion facility.
495 -
496 - Will merge to 'master'.
627 + Will merge to 'next'.
628
629
499 -* mh/separate-ref-cache (2017-03-27) 20 commits
630 +* mh/separate-ref-cache (2017-03-31) 20 commits
631 - do_for_each_entry_in_dir(): delete function
632 - files_pack_refs(): use reference iteration
633 - commit_packed_refs(): use reference iteration
@@ -525,26 +656,6 @@ of the repositories listed at
656 Waiting for nd/files-backend-git-dir to settle.
657
658
528 -* ah/log-decorate-default-to-auto (2017-03-24) 1 commit
529 - (merged to 'next' on 2017-03-24 at ce353ebfb5)
530 - + log: if --decorate is not given, default to --decorate=auto
531 -
532 - The default behaviour of "git log" in an interactive session has
533 - been changed to enable "--decorate".
534 -
535 - Will merge to 'master'.
536 -
537 -
538 -* ab/doc-submitting (2017-03-26) 2 commits
539 - (merged to 'next' on 2017-03-28 at 49e23678df)
540 - + doc/SubmittingPatches: show how to get a CLI commit summary
541 - + doc/SubmittingPatches: clarify the casing convention for "area: change..."
542 -
543 - Doc update.
544 -
545 - Will merge to 'master'.
546 -
547 -
659 * ja/doc-l10n (2017-03-20) 3 commits
660 - SQUASH???
661 - l10n: add git-add.txt to localized man pages
@@ -626,53 +737,7 @@ of the repositories listed at
737 when dealing with ref_store that represents the set of refs visible
738 from the other worktrees.
739
629 - Will merge to 'next' after waiting for a few days for further comments.
630 - Looking good.
631 -
632 -
633 -* ab/ref-filter-no-contains (2017-03-24) 16 commits
634 - (merged to 'next' on 2017-03-28 at bdce986928)
635 - + tag: add tests for --with and --without
636 - + ref-filter: reflow recently changed branch/tag/for-each-ref docs
637 - + ref-filter: add --no-contains option to tag/branch/for-each-ref
638 - + tag: change --point-at to default to HEAD
639 - + tag: implicitly supply --list given another list-like option
640 - + tag: change misleading --list <pattern> documentation
641 - + parse-options: add OPT_NONEG to the "contains" option
642 - + tag: add more incompatibles mode tests
643 - + for-each-ref: partly change <object> to <commit> in help
644 - + tag tests: fix a typo in a test description
645 - + tag: remove a TODO item from the test suite
646 - + ref-filter: add test for --contains on a non-commit
647 - + ref-filter: make combining --merged & --no-merged an error
648 - + tag doc: reword --[no-]merged to talk about commits, not tips
649 - + tag doc: split up the --[no-]merged documentation
650 - + tag doc: move the description of --[no-]merged earlier
651 -
652 - "git tag/branch/for-each-ref" family of commands long allowed to
653 - filter the refs by "--contains X" (show only the refs that are
654 - descendants of X), "--merged X" (show only the refs that are
655 - ancestors of X), "--no-merged X" (show only the refs that are not
656 - ancestors of X). One curious omission, "--no-contains X" (show
657 - only the refs that are not descendants of X) has been added to
658 - them.
659 -
660 - Will merge to 'master'.
661 -
662 -
663 -* bw/recurse-submodules-relative-fix (2017-03-17) 5 commits
664 - (merged to 'next' on 2017-03-28 at d0cef6234e)
665 - + ls-files: fix bug when recursing with relative pathspec
666 - + ls-files: fix typo in variable name
667 - + grep: fix bug when recursing with relative pathspec
668 - + setup: allow for prefix to be passed to git commands
669 - + grep: fix help text typo
670 -
671 - A few commands that recently learned the "--recurse-submodule"
672 - option misbehaved when started from a subdirectory of the
673 - superproject.
674 -
675 - Will merge to 'master'.
740 + Will merge to 'next'.
741
742
743 * jc/p4-current-branch-fix (2017-03-27) 2 commits
@@ -686,52 +751,6 @@ of the repositories listed at
751 competent with Python and git-p4 codebase.
752
753
689 -* bw/submodule-is-active (2017-03-18) 10 commits
690 - (merged to 'next' on 2017-03-22 at 4c05cb5ab4)
691 - + submodule add: respect submodule.active and submodule.<name>.active
692 - + submodule--helper init: set submodule.<name>.active
693 - + clone: teach --recurse-submodules to optionally take a pathspec
694 - + submodule init: initialize active submodules
695 - + submodule: decouple url and submodule interest
696 - + submodule--helper clone: check for configured submodules using helper
697 - + submodule sync: use submodule--helper is-active
698 - + submodule sync: skip work for inactive submodules
699 - + submodule status: use submodule--helper is-active
700 - + submodule--helper: add is-active subcommand
701 -
702 - "what URL do we want to update this submodule?" and "are we
703 - interested in this submodule?" are split into two distinct
704 - concepts, and then the way used to express the latter got extended,
705 - paving a way to make it easier to manage a project with many
706 - submodules and make it possible to later extend use of multiple
707 - worktrees for a project with submodules.
708 -
709 - Will merge to 'master'.
710 -
711 -
712 -* jk/no-looking-at-dotgit-outside-repo-final (2016-10-26) 1 commit
713 - (merged to 'next' on 2017-02-27 at 7373a1b73d)
714 - + setup_git_env: avoid blind fall-back to ".git"
715 -
716 - This is the endgame of the topic to avoid blindly falling back to
717 - ".git" when the setup sequence said we are _not_ in Git repository.
718 - A corner case that happens to work right now may be broken by a
719 - call to die("BUG").
720 -
721 - Will cook in 'next'.
722 -
723 -
724 -* jc/merge-drop-old-syntax (2015-04-29) 1 commit
725 - (merged to 'next' on 2017-02-27 at 2c0f5f73d8)
726 - + merge: drop 'git merge <message> HEAD <commit>' syntax
727 -
728 - Stop supporting "git merge <message> HEAD <commit>" syntax that has
729 - been deprecated since October 2007, and issues a deprecation
730 - warning message since v2.5.0.
731 -
732 - Will merge to 'master'.
733 -
734 -
754 * jc/bundle (2016-03-03) 6 commits
755 - index-pack: --clone-bundle option
756 - Merge branch 'jc/index-pack' into jc/bundle