11To: git@vger.kernel.org
22Bcc: lwn@lwn.net
3- Subject: What's cooking in git.git (Nov 2016, #03; Wed, 16 )
4- X-master-at: 3ab228137f980ff72dbdf5064a877d07bec76df9
5- X-next-at: 51e66c2fa76b5b5131e8804974eee02d13e08b0f
3+ Subject: What's cooking in git.git (Nov 2016, #04; Mon, 21 )
4+ X-master-at: 1310affe024fba407bff55dbe65cd6d670c8a32d
5+ X-next-at: d50252334705fce146cd91a5045ecc87fd6ea92e
66
7- What's cooking in git.git (Nov 2016, #03; Wed, 16 )
7+ What's cooking in git.git (Nov 2016, #04; Mon, 21 )
88--------------------------------------------------
99
1010Here are the topics that have been cooking. Commits prefixed with
@@ -20,72 +20,74 @@ of the repositories listed at
2020--------------------------------------------------
2121[New Topics]
2222
23- * dt/empty-submodule-in-merge (2016-11-12) 1 commit
24- - submodules: allow empty working-tree dirs in merge/cherry-pick
23+ * jc/for-each-ref-head-segfault-fix (2016-11-18) 1 commit
24+ (merged to 'next' on 2016-11-21 at 3c1f352316)
25+ + for-each-ref: do not segv with %(HEAD) on an unborn branch
2526
26- An empty directory in a working tree that can simply be nuked used
27- to interfere while merging or cherry-picking a change to create a
28- submodule directory there, which has been fixed..
27+ Using a %(HEAD) placeholder in "for-each-ref --format=" option
28+ caused the command to segfault when on an unborn branch.
2929
30+ Will cook in 'next'.
3031
31- * bw/grep-recurse-submodules (2016-11-14) 6 commits
32- - grep: search history of moved submodules
33- - grep: enable recurse-submodules to work on <tree> objects
34- - grep: optionally recurse into submodules
35- - grep: add submodules as a grep source type
36- - submodules: load gitmodules file from commit sha1
37- - submodules: add helper functions to determine presence of submodules
3832
39- "git grep" learns to optionally recurse into submodules
33+ * js/prepare-sequencer (2016-11-21) 1 commit
34+ (merged to 'next' on 2016-11-21 at 7cdf4ca421)
35+ + i18n: fix unmatched single quote in error message
4036
37+ Fix for an error message string.
38+ Will merge to 'master'.
4139
42- * dt/smart-http-detect-server-going-away (2016-11-14) 2 commits
43- - upload-pack: optionally allow fetching any sha1
44- - remote-curl: don't hang when a server dies before any output
4540
46- When the http server gives an incomplete response to a smart-http
47- rpc call, it could lead to client waiting for a full response that
48- will never come. Teach the client side to notice this condition
49- and abort the transfer.
41+ * js/rebase-i-commentchar-fix (2016-11-21) 3 commits
42+ - rebase -i: handle core.commentChar=auto
43+ - stripspace: respect repository config
44+ - rebase -i: highlight problems with core.commentchar
5045
51- An improvement counterproposal exists.
52- cf. <20161114194049.mktpsvgdhex2f4zv@sigill.intra.peff.net>
46+ "git rebase -i" did not work well with core.commentchar
47+ configuration variable for two reasons, both of which have been
48+ fixed.
5349
50+ Waiting for an ack for updates.
51+ Hopefully we can merge this before 2.11 final, as one of the
52+ breakages is a recent regression.
5453
55- * mm/push-social-engineering-attack-doc (2016-11-14) 1 commit
56- (merged to 'next' on 2016-11-16 at b7c1b27563)
57- + doc: mention transfer data leaks in more places
5854
59- Doc update on fetching and pushing.
55+ * jc/cache-tree-wip (2016-11-18) 4 commits
56+ - cache-tree: freshen the tree object at the top level
57+ - cache-tree: retire cache_tree_fully_valid() API function
58+ - commit: remove redundant check for active_cache_changed
59+ - freshen_object(): factor out a helper function
6060
61- Will cook in 'next'.
6261
62+ * jk/trailers-placeholder-in-pretty (2016-11-21) 2 commits
63+ - ref-filter: add support to display trailers as part of contents
64+ - pretty: add %(trailers) format for displaying trailers of a commit message
6365
64- * nd/worktree-lock (2016-11-13) 1 commit
65- (merged to 'next' on 2016-11-16 at 67b731de07)
66- + git-worktree.txt: fix typo "to"/"two", and add comma
6766
68- Typofix.
67+ * jt/trailer-with-cruft (2016-11-21) 1 commit
68+ - doc: mention user-configured trailers
6969
70- Will merge to 'master'.
7170
71+ * sb/submodule-intern-gitdir (2016-11-21) 3 commits
72+ - submodule--helper: add intern-git-dir function
73+ - test-lib-functions.sh: teach test_commit -C <dir>
74+ - submodule: use absolute path for computing relative path connecting
7275
73- * nd/worktree-move (2016-11-12) 11 commits
74- . worktree remove: new command
75- . worktree move: refuse to move worktrees with submodules
76- . worktree move: accept destination as directory
77- . worktree move: new command
78- . worktree.c: add update_worktree_location()
79- . worktree.c: add validate_worktree()
80- . copy.c: convert copy_file() to copy_dir_recursively()
81- . copy.c: style fix
82- . copy.c: convert bb_(p)error_msg to error(_errno)
83- . copy.c: delete unused code in copy_file()
84- . copy.c: import copy_file() from busybox
76+ --------------------------------------------------
77+ [Graduated to "master"]
8578
86- "git worktree" learned move and remove subcommands.
79+ * jk/create-branch-remove-unused-param (2016-11-09) 1 commit
80+ (merged to 'next' on 2016-11-16 at 621254c832)
81+ + create_branch: drop unused "head" parameter
8782
88- Seems to break a test or two.
83+ Code clean-up.
84+
85+
86+ * nd/worktree-lock (2016-11-13) 1 commit
87+ (merged to 'next' on 2016-11-16 at 67b731de07)
88+ + git-worktree.txt: fix typo "to"/"two", and add comma
89+
90+ Typofix.
8991
9092
9193* tk/diffcore-delta-remove-unused (2016-11-14) 1 commit
@@ -94,27 +96,6 @@ of the repositories listed at
9496
9597 Code cleanup.
9698
97- Will merge to 'master'.
98-
99-
100- * jc/compression-config (2016-11-15) 1 commit
101- - compression: unify pack.compression configuration parsing
102-
103- Compression setting for producing packfiles were spread across
104- three codepaths, one of which did not honor any configuration.
105- Unify these so that all of them honor core.compression and
106- pack.compression variables the same way.
107-
108- Needs tests for pack-objects and fast-import.
109-
110-
111- * mm/gc-safety-doc (2016-11-16) 1 commit
112- - git-gc.txt: expand discussion of races with other processes
113-
114- Doc update.
115-
116- Will merge to 'next'.
117-
11899--------------------------------------------------
119100[Stalled]
120101
@@ -215,19 +196,107 @@ of the repositories listed at
215196--------------------------------------------------
216197[Cooking]
217198
199+ * dt/empty-submodule-in-merge (2016-11-17) 1 commit
200+ - submodules: allow empty working-tree dirs in merge/cherry-pick
201+
202+ An empty directory in a working tree that can simply be nuked used
203+ to interfere while merging or cherry-picking a change to create a
204+ submodule directory there, which has been fixed..
205+
206+ Waiting for review.
207+
208+
209+ * bw/grep-recurse-submodules (2016-11-18) 6 commits
210+ - grep: search history of moved submodules
211+ - grep: enable recurse-submodules to work on <tree> objects
212+ - grep: optionally recurse into submodules
213+ - grep: add submodules as a grep source type
214+ - submodules: load gitmodules file from commit sha1
215+ - submodules: add helper functions to determine presence of submodules
216+
217+ "git grep" learns to optionally recurse into submodules
218+
219+ Waiting for review.
220+
221+
222+ * dt/smart-http-detect-server-going-away (2016-11-18) 2 commits
223+ (merged to 'next' on 2016-11-21 at d502523347)
224+ + upload-pack: optionally allow fetching any sha1
225+ + remote-curl: don't hang when a server dies before any output
226+
227+ When the http server gives an incomplete response to a smart-http
228+ rpc call, it could lead to client waiting for a full response that
229+ will never come. Teach the client side to notice this condition
230+ and abort the transfer.
231+
232+ An improvement counterproposal has failed.
233+ cf. <20161114194049.mktpsvgdhex2f4zv@sigill.intra.peff.net>
234+
235+ Will cook in 'next'.
236+
237+
238+ * mm/push-social-engineering-attack-doc (2016-11-14) 1 commit
239+ (merged to 'next' on 2016-11-16 at b7c1b27563)
240+ + doc: mention transfer data leaks in more places
241+
242+ Doc update on fetching and pushing.
243+
244+ Will cook in 'next'.
245+
246+
247+ * nd/worktree-move (2016-11-12) 11 commits
248+ . worktree remove: new command
249+ . worktree move: refuse to move worktrees with submodules
250+ . worktree move: accept destination as directory
251+ . worktree move: new command
252+ . worktree.c: add update_worktree_location()
253+ . worktree.c: add validate_worktree()
254+ . copy.c: convert copy_file() to copy_dir_recursively()
255+ . copy.c: style fix
256+ . copy.c: convert bb_(p)error_msg to error(_errno)
257+ . copy.c: delete unused code in copy_file()
258+ . copy.c: import copy_file() from busybox
259+
260+ "git worktree" learned move and remove subcommands.
261+
262+ Waiting for a reroll.
263+ Seems to break a test or two.
264+
265+
266+ * jc/compression-config (2016-11-15) 1 commit
267+ - compression: unify pack.compression configuration parsing
268+
269+ Compression setting for producing packfiles were spread across
270+ three codepaths, one of which did not honor any configuration.
271+ Unify these so that all of them honor core.compression and
272+ pack.compression variables the same way.
273+
274+ Needs tests for pack-objects and fast-import.
275+
276+
277+ * mm/gc-safety-doc (2016-11-16) 1 commit
278+ (merged to 'next' on 2016-11-17 at fc0d225b6b)
279+ + git-gc.txt: expand discussion of races with other processes
280+
281+ Doc update.
282+
283+ Will cook in 'next'.
284+
285+
218286* hv/submodule-not-yet-pushed-fix (2016-11-16) 4 commits
219- - submodule_needs_pushing(): explain the behaviour when we cannot answer
220- - batch check whether submodule needs pushing into one call
221- - serialize collection of refs that contain submodule changes
222- - serialize collection of changed submodules
287+ (merged to 'next' on 2016-11-21 at 1a599af962)
288+ + submodule_needs_pushing(): explain the behaviour when we cannot answer
289+ + batch check whether submodule needs pushing into one call
290+ + serialize collection of refs that contain submodule changes
291+ + serialize collection of changed submodules
223292
224293 The code in "git push" to compute if any commit being pushed in the
225294 superproject binds a commit in a submodule that hasn't been pushed
226295 out was overly inefficient, making it unusable even for a small
227296 project that does not have any submodule but have a reasonable
228297 number of refs.
229298
230- Looking good .
299+ Will cook in 'next' .
231300
232301
233302* kn/ref-filter-branch-list (2016-11-15) 18 commits
@@ -272,15 +341,6 @@ of the repositories listed at
272341 Will cook in 'next'.
273342
274343
275- * jk/create-branch-remove-unused-param (2016-11-09) 1 commit
276- (merged to 'next' on 2016-11-16 at 621254c832)
277- + create_branch: drop unused "head" parameter
278-
279- Code clean-up.
280-
281- Will merge to 'master'.
282-
283-
284344* jt/fetch-no-redundant-tag-fetch-map (2016-11-11) 1 commit
285345 (merged to 'next' on 2016-11-16 at 5846c27cc5)
286346 + fetch: do not redundantly calculate tag refmap
@@ -296,10 +356,14 @@ of the repositories listed at
296356 - SQUASH???
297357 - diff: retire the original experimental "compaction" heuristics
298358
359+ Waiting for a reroll.
360+
299361
300362* jc/abbrev-autoscale-config (2016-11-01) 1 commit
301363 - config.abbrev: document the new default that auto-scales
302364
365+ Waiting for a reroll.
366+
303367
304368* jk/nofollow-attr-ignore (2016-11-02) 5 commits
305369 - exclude: do not respect symlinks for in-tree .gitignore
@@ -308,12 +372,23 @@ of the repositories listed at
308372 - attr: convert "macro_ok" into a flags field
309373 - add open_nofollow() helper
310374
375+ As we do not follow symbolic links when reading control files like
376+ .gitignore and .gitattributes from the index, match the behaviour
377+ and not follow symbolic links when reading them from the working
378+ tree. This also tightens security a bit by not leaking contents of
379+ an unrelated file in the error messages when it is pointed at by
380+ one of these files that is a symbolic link.
381+
382+ Perhaps we want to cover .gitmodules too with the same mechanism?
383+
311384
312385* sb/submodule-config-cleanup (2016-11-02) 3 commits
313386 - submodule-config: clarify parsing of null_sha1 element
314387 - submodule-config: rename commit_sha1 to commit_or_tree
315388 - submodule config: inline config_from_{name, path}
316389
390+ What's the doneness of this topic?
391+
317392
318393* jc/push-default-explicit (2016-10-31) 2 commits
319394 (merged to 'next' on 2016-11-01 at 8dc3a6cf25)
@@ -340,6 +415,8 @@ of the repositories listed at
340415 "commit -s", have been taught to use the logic of and share the
341416 code with "git interpret-trailer".
342417
418+ What's the doneness of this topic?
419+
343420
344421* nd/rebase-forget (2016-10-28) 1 commit
345422 - rebase: add --forget to cleanup rebase, leave HEAD untouched
@@ -382,6 +459,10 @@ of the repositories listed at
382459 looking at the combined diff. "git reset" learned a new
383460 "--unmerge" option to recover from this situation.
384461
462+ Will discard.
463+ This may not be needed, given that update-index has a similar
464+ option.
465+
385466
386467* jc/merge-base-fp-only (2016-10-19) 8 commits
387468 . merge-base: fp experiment
@@ -396,6 +477,9 @@ of the repositories listed at
396477 An experiment of merge-base that ignores common ancestors that are
397478 not on the first parent chain.
398479
480+ Will discard.
481+ The whole premise feels wrong.
482+
399483
400484* tb/convert-stream-check (2016-10-27) 2 commits
401485 - convert.c: stream and fast search for binary
0 commit comments