What's cooking (2016/12 #01)

Junio C Hamano committed Dec 6, 2016 at 15:07 UTC 682c1615704f4c875e3b5c99f29a91bbea0152cc
1 file changed +300 -52
whats-cooking.txt
+300 -52
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Nov 2016, #06; Mon, 28)
4 -X-master-at: aeddbfdfa48443c034a9b28b10dfddf2f71b907f
5 -X-next-at: d574c8c0ff66fadf263a4a532f5618d49dbcbf97
3 +Subject: What's cooking in git.git (Dec 2016, #01; Tue, 6)
4 +X-master-at: 8d7a455ed52e2a96debc080dfc011b6bb00db5d2
5 +X-next-at: fb549caa12ec67f9448f8f6b29b102ee5ec54c82
6
7 -What's cooking in git.git (Nov 2016, #06; Mon, 28)
7 +What's cooking in git.git (Dec 2016, #01; Tue, 6)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,37 +12,237 @@ 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 'next' branch has been rewound, 'maint' now is for maintenance
16 +fixes post v2.11 release.
17 +
18 You can find the changes described here in the integration branches
19 of the repositories listed at
20
21 http://git-blame.blogspot.com/p/git-public-repositories.html
22
23 +--------------------------------------------------
24 +[Graduated to "master"]
25 +
26 +* jk/common-main (2016-11-29) 1 commit
27 + (merged to 'next' on 2016-11-29 at 2985e7efba)
28 + + common-main: stop munging argv[0] path
29 +
30 + Fix for a small regression in a topic already in 'master'.
31 +
32 --------------------------------------------------
33 [New Topics]
34
23 -* jc/renormalize-merge-kill-safer-crlf (2016-11-28) 2 commits
24 - - merge-recursive: handle NULL in add_cacheinfo() correctly
25 - - cherry-pick: demonstrate a segmentation fault
35 +* ak/lazy-prereq-mktemp (2016-11-29) 1 commit
36 + - t7610: clean up foo.XXXXXX tmpdir
37
27 - Fix a corner case in merge-recursive regression that crept in
28 - during 2.10 development cycle.
38 + Test code clean-up.
39
40 Will merge to 'next'.
41
42
33 -* js/difftool-builtin (2016-11-28) 2 commits
34 - - difftool: implement the functionality in the builtin
35 - - difftool: add a skeleton for the upcoming builtin
43 +* da/mergetool-trust-exit-code (2016-11-29) 2 commits
44 + - mergetools/vimdiff: trust Vim's exit code
45 + - mergetool: honor mergetool.$tool.trustExitCode for built-in tools
46
37 - Rewrite a scripted porcelain "git difftool" in C.
47 + mergetool.<tool>.trustExitCode configuration variable did not apply
48 + to built-in tools, but now it does.
49
39 - Under discussion.
50 + Will merge to 'next'.
51
52
42 -* nd/qsort-in-merge-recursive (2016-11-28) 1 commit
43 - - merge-recursive.c: use string_list_sort instead of qsort
53 +* jb/diff-no-index-no-abbrev (2016-11-29) 1 commit
54 + - diff: handle --no-abbrev outside of repository
55
45 - Code simplification.
56 + "git diff --no-index" did not take "--no-abbrev" option.
57 +
58 + Will merge to 'next'.
59 +
60 +
61 +* vk/p4-submit-shelve (2016-11-29) 1 commit
62 + - git-p4: allow submit to create shelved changelists.
63 + (this branch is used by ld/p4-update-shelve.)
64 +
65 + Will merge to 'next'.
66 +
67 +
68 +* jk/http-walker-limit-redirect-2.9 (2016-12-06) 5 commits
69 + - http: treat http-alternates like redirects
70 + - http: make redirects more obvious
71 + - remote-curl: rename shadowed options variable
72 + - http: always update the base URL for redirects
73 + - http: simplify update_url_from_redirect
74 + (this branch is used by jk/http-walker-limit-redirect.)
75 +
76 + Transport with dumb http can be fooled into following foreign URLs
77 + that the end user does not intend to, especially with the server
78 + side redirects and http-alternates mechanism, which can lead to
79 + security issues. Tighten the redirection and make it more obvious
80 + to the end user when it happens.
81 +
82 + Will merge to 'next'.
83 +
84 +
85 +* jk/http-walker-limit-redirect (2016-12-06) 2 commits
86 + - http-walker: complain about non-404 loose object errors
87 + - Merge branch 'ew/http-walker' into jk/http-walker-limit-redirect
88 + (this branch uses jk/http-walker-limit-redirect-2.9.)
89 +
90 + Update the error messages from the dumb-http client when it fails
91 + to obtain loose objects; we used to give sensible error message
92 + only upon 404 but we now forbid unexpected redirects that needs to
93 + be reported with something sensible.
94 +
95 + Will merge to 'next'.
96 +
97 +
98 +* ah/grammos (2016-12-05) 3 commits
99 + - clone,fetch: explain the shallow-clone option a little more clearly
100 + - receive-pack: improve English grammar of denyCurrentBranch message
101 + - bisect: improve English grammar of not-ancestors message
102 +
103 + A few messages have been fixed for their grammatical errors.
104 +
105 + Will merge to 'next'.
106 +
107 +
108 +* ak/commit-only-allow-empty (2016-12-05) 1 commit
109 + - commit: make --only --allow-empty work without paths
110 +
111 + "git commit --allow-empty --only" (no pathspec) with dirty index
112 + ought to be an acceptable way to create a new commit that does not
113 + change any paths, but it was forbidden (perhaps because nobody
114 + needed it).
115 +
116 + Will merge to 'next'.
117 +
118 +
119 +* bb/unicode-9.0 (2016-12-05) 3 commits
120 + - unicode_width.h: update the tables to Unicode 9.0
121 + - update_unicode.sh: strip the plane offsets from the double_width[] table
122 + - update_unicode.sh: automatically download newer definition files
123 +
124 + The character width table has been updated to match Unicode 9.0
125 +
126 + Will merge to 'next'.
127 +
128 +
129 +* ld/p4-update-shelve (2016-12-05) 1 commit
130 + - git-p4: support updating an existing shelved changelist
131 + (this branch uses vk/p4-submit-shelve.)
132 +
133 + Will merge to 'next'.
134 +
135 +
136 +* ld/p4-worktree (2016-12-05) 1 commit
137 + - git-p4: support secondary working trees managed by "git worktree"
138 +
139 + Iffy.
140 + cf. <20161202224319.5385-2-luke@diamand.org>
141 +
142 +
143 +* ls/p4-empty-file-on-lfs (2016-12-05) 1 commit
144 + - git-p4: fix empty file processing for large file system backend GitLFS
145 +
146 + "git p4" LFS support was broken when LFS stores an empty blob.
147 +
148 + Will merge to 'next'.
149 +
150 +
151 +* ls/p4-retry-thrice (2016-12-05) 1 commit
152 + - git-p4: add config to retry p4 commands; retry 3 times by default
153 +
154 + Will merge to 'next'.
155 +
156 +
157 +* ls/t0021-fixup (2016-12-05) 1 commit
158 + - t0021: minor filter process test cleanup
159 +
160 + Will merge to 'next'.
161 +
162 +
163 +* ls/travis-update-p4-and-lfs (2016-12-05) 1 commit
164 + - travis-ci: update P4 to 16.2 and GitLFS to 1.5.2 in Linux build
165 +
166 + The default Travis-CI configuration specifies newer P4 and GitLFS.
167 +
168 + Will merge to 'next'.
169 +
170 +
171 +* sb/t3600-cleanup (2016-12-05) 1 commit
172 + - t3600: remove useless redirect
173 +
174 + Code cleanup.
175 +
176 + Will merge to 'next'.
177 +
178 +
179 +* sb/unpack-trees-grammofix (2016-12-05) 1 commit
180 + - unpack-trees: fix grammar for untracked files in directories
181 +
182 + Will merge to 'next'.
183 +
184 +
185 +* da/difftool-dir-diff-fix (2016-12-06) 1 commit
186 + - difftool: fix dir-diff index creation when in a subdirectory
187 +
188 + "git difftool --dir-diff" had a minor regression when started from
189 + a subdirectory, which has been fixed.
190 +
191 + Will merge to 'next'.
192 +
193 +
194 +* jc/lockfile-silent-on-error (2016-12-06) 1 commit
195 + - lockfile: LOCK_SILENT_ON_ERROR
196 +
197 + Recent change to use "hold_lock*()" without die-on-error in the
198 + merge machinery made an error from "git merge" harder to spot.
199 + Introduce an opt-in "be silent because it has been verified that
200 + this particular caller produces a sensible error message itself"
201 + flag, and make everybody else show the error message when it
202 + returns to the caller with -1 without dying.
203 +
204 +
205 +* jk/stash-disable-renames-internally (2016-12-06) 1 commit
206 + - stash: prefer plumbing over git-diff
207 +
208 + When diff.renames configuration is on (and with Git 2.9 and later,
209 + it is enabled by default, which made it worse), "git stash"
210 + misbehaved if a file is removed and another file with a very
211 + similar content is added.
212 +
213 + Will merge to 'next'.
214 +
215 +
216 +* jk/xdiff-drop-xdl-fast-hash (2016-12-06) 1 commit
217 + - xdiff: drop XDL_FAST_HASH
218 +
219 + Retire the "fast hash" that had disastrous performance issues in
220 + some corner cases.
221 +
222 + Will cook in 'next'.
223 +
224 +
225 +* ls/filter-process (2016-12-06) 1 commit
226 + - docs: warn about possible '=' in clean/smudge filter process values
227 +
228 + Doc update.
229 +
230 + Will merge to 'next'.
231 +
232 +
233 +* nd/for-each-ref-ignore-case (2016-12-05) 1 commit
234 + - tag, branch, for-each-ref: add --ignore-case for sorting and filtering
235 +
236 + "git branch --list" and friends learned "--ignore-case" option to
237 + optionally sort branches and tags case insensitively.
238 +
239 + Will merge to 'next'.
240 +
241 +
242 +* rj/git-version-gen-do-not-force-abbrev (2016-12-06) 1 commit
243 + - GIT-VERSION-GEN: do not force abbreviation length used by 'describe'
244 +
245 + A minor build update.
246
247 Will merge to 'next'.
248
@@ -92,7 +292,7 @@ of the repositories listed at
292 . copy.c: convert bb_(p)error_msg to error(_errno)
293 . copy.c: delete unused code in copy_file()
294 . copy.c: import copy_file() from busybox
95 - (this branch uses nd/worktree-list-fixup.)
295 + (this branch uses nd/worktree-list-fixup; is tangled with sb/submodule-embed-gitdir.)
296
297 "git worktree" learned move and remove subcommands.
298
@@ -186,10 +386,39 @@ of the repositories listed at
386 --------------------------------------------------
387 [Cooking]
388
389 +* jc/renormalize-merge-kill-safer-crlf (2016-12-01) 4 commits
390 + - convert: git cherry-pick -Xrenormalize did not work
391 + - Merge branch 'tb/t0027-raciness-fix' into jc/renormalize-merge-kill-safer-crlf
392 + - merge-recursive: handle NULL in add_cacheinfo() correctly
393 + - cherry-pick: demonstrate a segmentation fault
394 +
395 + Fix a corner case in merge-recursive regression that crept in
396 + during 2.10 development cycle.
397 +
398 + Will merge to 'next'.
399 +
400 +
401 +* js/difftool-builtin (2016-11-28) 2 commits
402 + - difftool: implement the functionality in the builtin
403 + - difftool: add a skeleton for the upcoming builtin
404 +
405 + Rewrite a scripted porcelain "git difftool" in C.
406 +
407 + Under discussion.
408 +
409 +
410 +* nd/qsort-in-merge-recursive (2016-11-28) 1 commit
411 + - merge-recursive.c: use string_list_sort instead of qsort
412 +
413 + Code simplification.
414 +
415 + Will merge to 'next'.
416 +
417 +
418 * bw/push-dry-run (2016-11-23) 2 commits
419 - push: fix --dry-run to not push submodules
420 - push: --dry-run updates submodules when --recurse-submodules=on-demand
192 - (this branch uses hv/submodule-not-yet-pushed-fix.)
421 + (this branch uses hv/submodule-not-yet-pushed-fix; is tangled with sb/push-make-submodule-check-the-default.)
422
423 "git push --dry-run --recurse-submodule=on-demand" wasn't
424 "--dry-run" in the submodules.
@@ -197,15 +426,15 @@ of the repositories listed at
426 Will merge to 'next'.
427
428
200 -* sb/push-make-submodule-check-the-default (2016-10-10) 2 commits
429 +* sb/push-make-submodule-check-the-default (2016-11-29) 2 commits
430 - push: change submodule default to check when submodules exist
431 - submodule add: extend force flag to add existing repos
432 + (this branch uses hv/submodule-not-yet-pushed-fix; is tangled with bw/push-dry-run.)
433
434 Turn the default of "push.recurseSubmodules" to "check" when
435 submodules seem to be in use.
436
207 - Need to rebase on hv/submodule-not-yet-pushed-fix and then consider
208 - merging to 'next'.
437 + Will merge to 'next'.
438
439
440 * jk/rev-parse-symbolic-parents-fix (2016-11-16) 1 commit
@@ -223,7 +452,7 @@ of the repositories listed at
452 - get_worktrees() must return main worktree as first item even on error
453 - worktree: reorder an if statement
454 - worktree.c: zero new 'struct worktree' on allocation
226 - (this branch is used by nd/worktree-move.)
455 + (this branch is used by nd/worktree-move and sb/submodule-embed-gitdir.)
456
457 The output from "git worktree list" was made in readdir() order,
458 and was unstable.
@@ -241,20 +470,20 @@ of the repositories listed at
470 Will merge to 'next'.
471
472
244 -* sb/submodule-intern-gitdir (2016-11-22) 5 commits
245 - - SQUASH
473 +* sb/submodule-embed-gitdir (2016-12-05) 5 commits
474 - submodule: add embed-git-dir function
475 + - worktree: get worktrees from submodules
476 - test-lib-functions.sh: teach test_commit -C <dir>
477 - submodule helper: support super prefix
478 - submodule: use absolute path for computing relative path connecting
479 + (this branch uses nd/worktree-list-fixup; is tangled with nd/worktree-move.)
480
481 A new submodule helper "git submodule embedgitdirs" to make it
482 easier to move embedded .git/ directory for submodules in a
483 superproject to .git/modules/ (and point the latter with the former
484 that is turned into a "gitdir:" file) has been added.
485
256 - Need to read it over again, deal with SQUASH, and may ask for a
257 - reroll.
486 + Waiting for review.
487
488
489 * dt/empty-submodule-in-merge (2016-11-17) 1 commit
@@ -264,7 +493,7 @@ of the repositories listed at
493 to interfere while merging or cherry-picking a change to create a
494 submodule directory there, which has been fixed..
495
267 - Waiting for review.
496 + Will merge to 'next'.
497
498
499 * bw/grep-recurse-submodules (2016-11-22) 6 commits
@@ -281,10 +510,12 @@ of the repositories listed at
510
511
512 * dt/smart-http-detect-server-going-away (2016-11-18) 2 commits
284 - (merged to 'next' on 2016-11-21 at d502523347)
513 + (merged to 'next' on 2016-12-05 at 3ea70d01af)
514 + upload-pack: optionally allow fetching any sha1
515 + remote-curl: don't hang when a server dies before any output
516
517 + Originally merged to 'next' on 2016-11-21
518 +
519 When the http server gives an incomplete response to a smart-http
520 rpc call, it could lead to client waiting for a full response that
521 will never come. Teach the client side to notice this condition
@@ -297,18 +528,22 @@ of the repositories listed at
528
529
530 * mm/push-social-engineering-attack-doc (2016-11-14) 1 commit
300 - (merged to 'next' on 2016-11-16 at b7c1b27563)
531 + (merged to 'next' on 2016-12-05 at 9a2b5bd1a9)
532 + doc: mention transfer data leaks in more places
533
534 + Originally merged to 'next' on 2016-11-16
535 +
536 Doc update on fetching and pushing.
537
538 Will cook in 'next'.
539
540
541 * jc/compression-config (2016-11-15) 1 commit
309 - (merged to 'next' on 2016-11-23 at b3c9254897)
542 + (merged to 'next' on 2016-12-05 at 323769ca07)
543 + compression: unify pack.compression configuration parsing
544
545 + Originally merged to 'next' on 2016-11-23
546 +
547 Compression setting for producing packfiles were spread across
548 three codepaths, one of which did not honor any configuration.
549 Unify these so that all of them honor core.compression and
@@ -318,21 +553,25 @@ of the repositories listed at
553
554
555 * mm/gc-safety-doc (2016-11-16) 1 commit
321 - (merged to 'next' on 2016-11-17 at fc0d225b6b)
556 + (merged to 'next' on 2016-12-05 at 031ecc1886)
557 + git-gc.txt: expand discussion of races with other processes
558
559 + Originally merged to 'next' on 2016-11-17
560 +
561 Doc update.
562
563 Will cook in 'next'.
564
565
566 * hv/submodule-not-yet-pushed-fix (2016-11-16) 4 commits
330 - (merged to 'next' on 2016-11-21 at 1a599af962)
567 + (merged to 'next' on 2016-12-05 at c9d729fca2)
568 + submodule_needs_pushing(): explain the behaviour when we cannot answer
569 + batch check whether submodule needs pushing into one call
570 + serialize collection of refs that contain submodule changes
571 + serialize collection of changed submodules
335 - (this branch is used by bw/push-dry-run.)
572 + (this branch is used by bw/push-dry-run and sb/push-make-submodule-check-the-default.)
573 +
574 + Originally merged to 'next' on 2016-11-21
575
576 The code in "git push" to compute if any commit being pushed in the
577 superproject binds a commit in a submodule that hasn't been pushed
@@ -373,22 +612,24 @@ of the repositories listed at
612 cf. <xmqq7f84tqa7.fsf_-_@gitster.mtv.corp.google.com>
613
614
376 -* bw/transport-protocol-policy (2016-11-09) 2 commits
377 - (merged to 'next' on 2016-11-16 at 1391d3eeed)
378 - + transport: add protocol policy config option
379 - + lib-proto-disable: variable name fix
615 +* bw/transport-protocol-policy (2016-12-05) 5 commits
616 + - transport: add from_user parameter to is_transport_allowed
617 + - http: create function to get curl allowed protocols
618 + - http: always warn if libcurl version is too old
619 + - transport: add protocol policy config option
620 + - lib-proto-disable: variable name fix
621
622 Finer-grained control of what protocols are allowed for transports
623 during clone/fetch/push have been enabled via a new configuration
624 mechanism.
625
385 - Will cook in 'next'.
386 -
626
627 * jt/fetch-no-redundant-tag-fetch-map (2016-11-11) 1 commit
389 - (merged to 'next' on 2016-11-16 at 5846c27cc5)
628 + (merged to 'next' on 2016-12-05 at 432f9469a7)
629 + fetch: do not redundantly calculate tag refmap
630
631 + Originally merged to 'next' on 2016-11-16
632 +
633 Code cleanup to avoid using redundant refspecs while fetching with
634 the --tags option.
635
@@ -396,21 +637,25 @@ of the repositories listed at
637
638
639 * sb/submodule-config-cleanup (2016-11-22) 3 commits
399 - (merged to 'next' on 2016-11-23 at c02e578b49)
640 + (merged to 'next' on 2016-12-05 at 658b8764bf)
641 + submodule-config: clarify parsing of null_sha1 element
642 + submodule-config: rename commit_sha1 to treeish_name
643 + submodule config: inline config_from_{name, path}
644
645 + Originally merged to 'next' on 2016-11-23
646 +
647 Minor code clean-up.
648
649 Will cook in 'next'.
650
651
652 * jc/push-default-explicit (2016-10-31) 2 commits
410 - (merged to 'next' on 2016-11-01 at 8dc3a6cf25)
653 + (merged to 'next' on 2016-12-05 at d63f3777af)
654 + push: test pushing ambiguously named branches
655 + push: do not use potentially ambiguous default refspec
656
657 + Originally merged to 'next' on 2016-11-01
658 +
659 A lazy "git push" without refspec did not internally use a fully
660 specified refspec to perform 'current', 'simple', or 'upstream'
661 push, causing unnecessary "ambiguous ref" errors.
@@ -418,12 +663,11 @@ of the repositories listed at
663 Will cook in 'next'.
664
665
421 -* jt/use-trailer-api-in-commands (2016-11-02) 6 commits
666 +* jt/use-trailer-api-in-commands (2016-11-29) 5 commits
667 - sequencer: use trailer's trailer layout
668 - trailer: have function to describe trailer layout
669 - trailer: avoid unnecessary splitting on lines
670 - commit: make ignore_non_trailer take buf/len
426 - - SQUASH???
671 - trailer: be stricter in parsing separators
672
673 Commands that operate on a log message and add lines to the trailer
@@ -431,7 +675,7 @@ of the repositories listed at
675 "commit -s", have been taught to use the logic of and share the
676 code with "git interpret-trailer".
677
434 - Will merge to 'next' after dealing with the SQUASH???
678 + Will merge to 'next'.
679
680
681 * nd/rebase-forget (2016-11-28) 1 commit
@@ -456,9 +700,11 @@ of the repositories listed at
700
701
702 * jk/no-looking-at-dotgit-outside-repo-final (2016-10-26) 1 commit
459 - (merged to 'next' on 2016-10-26 at 220e160451)
703 + (merged to 'next' on 2016-12-05 at 0c77e39cd5)
704 + setup_git_env: avoid blind fall-back to ".git"
705
706 + Originally merged to 'next' on 2016-10-26
707 +
708 This is the endgame of the topic to avoid blindly falling back to
709 ".git" when the setup sequence said we are _not_ in Git repository.
710 A corner case that happens to work right now may be broken by a
@@ -632,10 +878,12 @@ of the repositories listed at
878
879
880 * jc/latin-1 (2016-09-26) 2 commits
635 - (merged to 'next' on 2016-09-28 at c8673e03c2)
881 + (merged to 'next' on 2016-12-05 at fb549caa12)
882 + utf8: accept "latin-1" as ISO-8859-1
883 + utf8: refactor code to decide fallback encoding
884
885 + Originally merged to 'next' on 2016-09-28
886 +
887 Some platforms no longer understand "latin-1" that is still seen in
888 the wild in e-mail headers; replace them with "iso-8859-1" that is
889 more widely known when conversion fails from/to it.
@@ -659,20 +907,20 @@ of the repositories listed at
907 cf. <20160908223727.Horde.jVOOJ278ssZ3qkyjkmyqZD-@webmail.informatik.kit.edu>
908
909
662 -* jc/pull-rebase-ff (2016-07-28) 1 commit
910 +* jc/pull-rebase-ff (2016-11-29) 1 commit
911 - pull: fast-forward "pull --rebase=true"
912
913 "git pull --rebase", when there is no new commits on our side since
914 we forked from the upstream, should be able to fast-forward without
915 invoking "git rebase", but it didn't.
916
669 - Needs a real log message and a few tests.
670 -
917
918 * jc/merge-drop-old-syntax (2015-04-29) 1 commit
673 - (merged to 'next' on 2016-10-11 at 8928c8b9b3)
919 + (merged to 'next' on 2016-12-05 at 041946dae0)
920 + merge: drop 'git merge <message> HEAD <commit>' syntax
921
922 + Originally merged to 'next' on 2016-10-11
923 +
924 Stop supporting "git merge <message> HEAD <commit>" syntax that has
925 been deprecated since October 2007, and issues a deprecation
926 warning message since v2.5.0.