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