What's cooking (2016/02 #03)

Junio C Hamano committed Feb 9, 2016 at 15:16 UTC 90fc0c03a10c0b41a061830b553498060b05986b
1 file changed +112 -213
whats-cooking.txt
+112 -213
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Feb 2016, #02; Fri, 5)
3 +Subject: What's cooking in git.git (Feb 2016, #03; Tue, 9)
4 X-master-at: ff4ea6004fb48146330d663d64a71e7774f059f9
5 -X-next-at: b2aa7f843ccc79397d54723df13034a8761f5a18
5 +X-next-at: ced85554d3d871f66dc4442631320a96a5d702f5
6
7 -What's cooking in git.git (Feb 2016, #02; Fri, 5)
7 +What's cooking in git.git (Feb 2016, #03; Tue, 9)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -20,181 +20,80 @@ repositories listed at
20 --------------------------------------------------
21 [New Topics]
22
23 -* da/user-useconfigonly (2016-02-05) 2 commits
24 - - ident: add user.useConfigOnly boolean for when ident shouldn't be guessed
25 - - fmt_ident: refactor strictness checks
23 +* jk/rerere-xsnprintf (2016-02-08) 1 commit
24 + (merged to 'next' on 2016-02-09 at ff9ade3)
25 + + rerere: replace strcpy with xsnprintf
26 + (this branch is used by jc/rerere-multi.)
27
27 - The "user.useConfigOnly" configuration variable can be used to
28 - force the user to always set user.email & user.name configuration
29 - variables, serving as a reminder for those who work on multiple
30 - projects and do not want to put these in their $HOME/.gitconfig.
31 -
32 ---------------------------------------------------
33 -[Graduated to "master"]
34 -
35 -* dg/subtree-test (2016-01-19) 1 commit
36 - (merged to 'next' on 2016-01-26 at 81f1356)
37 - + contrib/subtree: Make testing easier
38 -
39 -
40 -* dt/unpack-compare-entry-optim (2016-01-22) 2 commits
41 - (merged to 'next' on 2016-01-26 at 110e053)
42 - + unpack-trees: fix accidentally quadratic behavior
43 - (merged to 'next' on 2016-01-20 at 180dccf)
44 - + do_compare_entry: use already-computed path
45 -
46 - "git checkout $branch" (and other operations that share the same
47 - underlying machinery) has been optimized.
48 -
49 -
50 -* dw/subtree-split-do-not-drop-merge (2016-01-20) 1 commit
51 - (merged to 'next' on 2016-01-26 at 3cfefef)
52 - + contrib/subtree: fix "subtree split" skipped-merge bug
53 -
54 - The "split" subcommand of "git subtree" (in contrib/) incorrectly
55 - skipped merges when it shouldn't, which was corrected.
56 -
57 -
58 -* jc/peace-with-crlf (2016-01-15) 12 commits
59 - (merged to 'next' on 2016-01-26 at 08724bc)
60 - + test-sha1-array: read command stream with strbuf_getline()
61 - + grep: read -f file with strbuf_getline()
62 - + send-pack: read list of refs with strbuf_getline()
63 - + column: read lines with strbuf_getline()
64 - + cat-file: read batch stream with strbuf_getline()
65 - + transport-helper: read helper response with strbuf_getline()
66 - + clone/sha1_file: read info/alternates with strbuf_getline()
67 - + remote.c: read $GIT_DIR/remotes/* with strbuf_getline()
68 - + ident.c: read /etc/mailname with strbuf_getline()
69 - + rev-parse: read parseopt spec with strbuf_getline()
70 - + revision: read --stdin with strbuf_getline()
71 - + hash-object: read --stdin-paths with strbuf_getline()
72 -
73 - Many commands that read files that are expected to contain text
74 - that is generated (or can be edited) by the end user to control
75 - their behaviour (e.g. "git grep -f <filename>") have been updated
76 - to be more tolerant to lines that are terminated with CRLF (they
77 - used to treat such a line to contain payload that ends with CR,
78 - which is usually not what the users expect).
79 -
80 -
81 -* jk/completion-rebase (2016-01-25) 1 commit
82 - (merged to 'next' on 2016-01-26 at def3e0b)
83 - + completion: add missing git-rebase options
84 -
85 -
86 -* jk/notes-merge-from-anywhere (2016-01-17) 1 commit
87 - (merged to 'next' on 2016-01-26 at c60ac66)
88 - + notes: allow merging from arbitrary references
89 -
90 - "git notes merge" used to limit the source of the merged notes tree
91 - to somewhere under refs/notes/ hierarchy, which was too limiting
92 - when inventing a workflow to exchange notes with remote
93 - repositories using remote-tracking notes trees (located in e.g.
94 - refs/remote-notes/ or somesuch).
95 -
96 -
97 -* jk/ref-cache-non-repository-optim (2016-01-25) 2 commits
98 - (merged to 'next' on 2016-01-26 at 09057bc)
99 - + resolve_gitlink_ref: ignore non-repository paths
100 - + clean: make is_git_repository a public function
101 -
102 - The underlying machinery used by "ls-files -o" and other commands
103 - have been taught not to create empty submodule ref cache for a
104 - directory that is not a submodule. This removes a ton of wasted
105 - CPU cycles.
106 -
107 -
108 -* js/dirname-basename (2016-01-25) 6 commits
109 - (merged to 'next' on 2016-01-26 at b16b2b8)
110 - + mingw: avoid linking to the C library's isalpha()
111 - (merged to 'next' on 2016-01-20 at d198512)
112 - + t0060: loosen overly strict expectations
113 - (merged to 'next' on 2016-01-12 at c3c970a)
114 - + t0060: verify that basename() and dirname() work as expected
115 - + compat/basename.c: provide a dirname() compatibility function
116 - + compat/basename: make basename() conform to POSIX
117 - + Refactor skipping DOS drive prefixes
118 -
119 - dirname() emulation has been added, as Msys2 lacks it.
120 -
121 -
122 -* kf/http-proxy-auth-methods (2016-01-26) 2 commits
123 - (merged to 'next' on 2016-02-01 at b0956b2)
124 - + http: use credential API to handle proxy authentication
125 - + http: allow selection of proxy authentication method
28 + Some calls to strcpy(3) triggers a false warning from static
29 + analysers that are less intelligent than humans, and reducing the
30 + number of these false hits helps us notice real issues. A few
31 + calls to strcpy(3) in "git rerere" that are already safe has been
32 + rewritten to avoid false wanings.
33
127 - New http.proxyAuthMethod configuration variable can be used to
128 - specify what authentication method to use, as a way to work around
129 - proxies that do not give error response expected by libcurl when
130 - CURLAUTH_ANY is used. Also, the codepath for proxy authentication
131 - has been taught to use credential API to store the authentication
132 - material in user's keyrings.
133 -
134 -
135 -* ls/travis-prove-order (2016-01-26) 2 commits
136 - (merged to 'next' on 2016-01-26 at d8e2a4a)
137 - + travis-ci: explicity use container-based infrastructure
138 - + travis-ci: run previously failed tests first, then slowest to fastest
139 -
140 - Automated tests in Travis CI environment has been optimized by
141 - persisting runtime statistics of previous "prove" run, executing
142 - tests that take longer before other ones; this reduces the total
143 - wallclock time.
144 -
145 -
146 -* lv/add-doc-working-tree (2016-01-21) 1 commit
147 - (merged to 'next' on 2016-01-26 at c5b1ab1)
148 - + git-add doc: do not say working directory when you mean working tree
34 + Will merge to 'master'.
35
36
151 -* mk/asciidoctor-bq-workaround (2016-01-20) 1 commit
152 - (merged to 'next' on 2016-01-26 at 19a742a)
153 - + Documentation: remove unnecessary backslashes
37 +* jk/test-path-utils-xsnprintf (2016-02-08) 1 commit
38 + (merged to 'next' on 2016-02-09 at 931f70b)
39 + + test-path-utils: use xsnprintf in favor of strcpy
40
41 + Some calls to strcpy(3) triggers a false warning from static
42 + analysers that are less intelligent than humans, and reducing the
43 + number of these false hits helps us notice real issues. A few
44 + calls to strcpy(3) in test-path-utils that are already safe has
45 + been rewritten to avoid false wanings.
46
156 -* nd/diff-with-path-params (2016-01-21) 2 commits
157 - (merged to 'next' on 2016-01-26 at b29a363)
158 - + diff: make -O and --output work in subdirectory
159 - + diff-no-index: do not take a redundant prefix argument
47 + Will merge to 'master'.
48
161 - A few options of "git diff" did not work well when the command was
162 - run from a subdirectory.
49
50 +* mm/clean-doc-fix (2016-02-09) 1 commit
51 + (merged to 'next' on 2016-02-09 at ced8555)
52 + + Documentation/git-clean.txt: don't mention deletion of .git/modules/*
53
165 -* pw/completion-show-branch (2016-01-25) 1 commit
166 - (merged to 'next' on 2016-01-26 at d0d7735)
167 - + completion: complete show-branch "--date-order"
54 + The documentation for "git clean" has been corrected; it mentioned
55 + that .git/modules/* are removed by giving two "-f", which has never
56 + been the case.
57
58 + Will merge to 'master'.
59
170 -* pw/completion-stash (2016-01-26) 1 commit
171 - (merged to 'next' on 2016-01-26 at e41153c)
172 - + completion: update completion arguments for stash
60
61 +* mg/mingw-test-fix (2016-02-08) 1 commit
62 + - t9100: fix breakage when SHELL_PATH is not /bin/sh
63 + (this branch uses js/mingw-tests.)
64
175 -* tb/complete-word-diff-regex (2016-01-20) 1 commit
176 - (merged to 'next' on 2016-01-26 at a5beecc)
177 - + completion: complete "diff --word-diff-regex="
65 + An earlier adjustment of test mistakenly used write_script
66 + to prepare a file whose exact content matters for the test;
67 + reverting that part fixes the breakage for those who use
68 + SHELL_PATH that is different from /bin/sh.
69
70
180 -* tb/ls-files-eol (2016-01-18) 1 commit
181 - (merged to 'next' on 2016-01-26 at bc9246f)
182 - + ls-files: add eol diagnostics
71 +* nd/icase (2016-02-09) 11 commits
72 + - diffcore-pickaxe: support case insensitive match on non-ascii
73 + - diffcore-pickaxe: "share" regex error handling code
74 + - grep/pcre: support utf-8
75 + - gettext: add is_utf8_locale()
76 + - grep/pcre: prepare locale-dependent tables for icase matching
77 + - grep/icase: avoid kwsset when -F is specified
78 + - grep/icase: avoid kwsset on literal non-ascii strings
79 + - test-regex: expose full regcomp() to the command line
80 + - test-regex: isolate the bug test code
81 + - grep: break down an "if" stmt in preparation for next changes
82 + - grep: allow -F -i combination
83
184 - "git ls-files" learned a new "--eol" option to help diagnose
185 - end-of-line problems.
84 + "git grep -i" has been taught to fold case in non-ascii locales.
85
86
188 -* tg/ls-remote-symref (2016-01-19) 5 commits
189 - (merged to 'next' on 2016-01-26 at e466ee2)
190 - + ls-remote: add support for showing symrefs
191 - + ls-remote: use parse-options api
192 - + ls-remote: fix synopsis
193 - + ls-remote: document --refs option
194 - + ls-remote: document --quiet option
87 +* tb/conversion (2016-02-08) 7 commits
88 + - convert.c: simplify text_stat
89 + - convert.c: refactor crlf_action
90 + - convert: auto_crlf=false and no attributes set: same as binary
91 + - convert.c: use text_eol_is_crlf()
92 + - convert.c: remove input_crlf_action()
93 + - convert.c: remove unused parameter 'path'
94 + - t0027: add tests for get_stream_filter()
95
196 - "ls-remote" learned an option to show which branch the remote
197 - repository advertises as its primary by pointing its HEAD at.
96 + Simplication of eol conversion codepath.
97
98 --------------------------------------------------
99 [Stalled]
@@ -258,6 +157,19 @@ repositories listed at
157 --------------------------------------------------
158 [Cooking]
159
160 +* da/user-useconfigonly (2016-02-08) 2 commits
161 + (merged to 'next' on 2016-02-09 at 8b303ce)
162 + + ident: add user.useConfigOnly boolean for when ident shouldn't be guessed
163 + + fmt_ident: refactor strictness checks
164 +
165 + The "user.useConfigOnly" configuration variable can be used to
166 + force the user to always set user.email & user.name configuration
167 + variables, serving as a reminder for those who work on multiple
168 + projects and do not want to put these in their $HOME/.gitconfig.
169 +
170 + Will merge to 'master'.
171 +
172 +
173 * aw/push-force-with-lease-reporting (2016-02-01) 1 commit
174 (merged to 'next' on 2016-02-03 at facd28f)
175 + push: fix ref status reporting for --force-with-lease
@@ -336,8 +248,8 @@ repositories listed at
248 * dv/http-try-negotiate-at-least-once (2016-02-02) 1 commit
249 - remote-curl: don't fall back to Basic auth if we haven't tried Negotiate
250
339 - Needs at least an update to the log message.
340 - ($gmane/285314)
251 + Will be replaced with a solution with a different approach.
252 + ($gmane/285633)
253
254
255 * js/test-lib-windows-emulated-yes (2016-02-02) 1 commit
@@ -363,35 +275,33 @@ repositories listed at
275 - submodule-config: keep update strategy around
276 (this branch is used by dt/refs-backend-lmdb and sb/submodule-init.)
277
366 - Builds on top of the "fetch --recurse-submodules" work to introduce
367 - parallel downloading into multiple submodules for "submodule update".
368 -
369 - Needs review.
370 - ($gmane/285285)
371 -
372 -
373 -* dt/refs-backend-lmdb (2016-02-02) 21 commits
374 - . refs: tests for lmdb backend
375 - . refs: add LMDB refs backend
376 - . svn: learn ref-storage argument
377 - . refs: allow ref backend to be set for clone
378 - . refs: check submodules ref storage config
379 - . init: allow alternate backends to be set for new repos
380 - . refs: always handle non-normal refs in files backend
381 - . refs: resolve symbolic refs first
382 - . refs: allow log-only updates
383 - . refs: move duplicate check to common code
384 - . refs: make lock generic
385 - . refs: add method to rename refs
386 - . refs: add methods to init refs db
387 - . refs: add method for delete_refs
388 - . refs: add method for initial ref transaction commit
389 - . refs: add methods for reflog
390 - . refs: add do_for_each_per_worktree_ref
391 - . refs: add methods for the ref iterators
392 - . refs: add methods for misc ref operations
393 - . refs: add a backend method structure with transaction functions
394 - . Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb
278 + A reroll exists. Not picked up yet as it takes a while to flip
279 + three overlapping topics.
280 +
281 +
282 +* dt/refs-backend-lmdb (2016-02-08) 22 commits
283 + - refs: tests for lmdb backend
284 + - refs: add LMDB refs storage backend
285 + - refs: add register_ref_storage_backends()
286 + - svn: learn ref-storage argument
287 + - clone: allow ref storage backend to be set for clone
288 + - refs: check submodules ref storage config
289 + - init: allow alternate ref strorage to be set for new repos
290 + - refs: always handle non-normal refs in files backend
291 + - refs: resolve symbolic refs first
292 + - refs: allow log-only updates
293 + - refs: move duplicate check to common code
294 + - refs: make lock generic
295 + - refs: add method to rename refs
296 + - refs: add methods to init refs db
297 + - refs: add method for delete_refs
298 + - refs: add method for initial ref transaction commit
299 + - refs: add methods for reflog
300 + - refs: add do_for_each_per_worktree_ref
301 + - refs: add methods for the ref iterators
302 + - refs: add methods for misc ref operations
303 + - refs: add a backend method structure with transaction functions
304 + - Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb
305 (this branch uses sb/submodule-parallel-update; is tangled with sb/submodule-init.)
306
307 Building on top of a few refs-backend preparatory series, LMDB
@@ -403,7 +313,9 @@ repositories listed at
313 list were done on top of some version of 'pu'.
314
315
406 -* js/mingw-tests (2016-01-28) 20 commits
316 +* js/mingw-tests (2016-02-08) 21 commits
317 + (merged to 'next' on 2016-02-08 at 417e555)
318 + + gitignore: ignore generated test-fake-ssh executable
319 (merged to 'next' on 2016-02-03 at ace7624)
320 + mingw: do not bother to test funny file names
321 + mingw: skip a test in t9130 that cannot pass on Windows
@@ -425,6 +337,7 @@ repositories listed at
337 + Git.pm: stop assuming that absolute paths start with a slash
338 + mingw: do not trust MSYS2's MinGW gettext.sh
339 + mingw: let's use gettext with MSYS2
340 + (this branch is used by mg/mingw-test-fix.)
341
342 Test scripts have been updated to remove assumptions that are not
343 portable between Git for POSIX and Git for Windows, or to skip ones
@@ -446,15 +359,16 @@ repositories listed at
359
360
361 * nd/clear-gitenv-upon-use-of-alias (2016-02-02) 4 commits
449 - - restore_env(): free the saved environment variable once we are done
450 - - git: simplify environment save/restore logic
451 - - git: protect against unbalanced calls to {save,restore}_env()
452 - - git: remove an early return from save_env_before_alias()
362 + (merged to 'next' on 2016-02-09 at 2c441b4)
363 + + restore_env(): free the saved environment variable once we are done
364 + + git: simplify environment save/restore logic
365 + + git: protect against unbalanced calls to {save,restore}_env()
366 + + git: remove an early return from save_env_before_alias()
367
368 The automatic typo correction applied to an alias was broken
369 with a recent change already in 'master'.
370
457 - Needs review.
371 + Will merge to 'master'.
372
373
374 * nd/do-not-move-worktree-manually (2016-01-22) 2 commits
@@ -565,7 +479,7 @@ repositories listed at
479 ($gmane/275680).
480
481
568 -* jc/rerere-multi (2016-01-21) 7 commits
482 +* jc/rerere-multi (2016-02-08) 7 commits
483 - rerere: do use multiple variants
484 - t4200: rerere a merge with two identical conflicts
485 - rerere: allow multiple variants to exist
@@ -573,6 +487,7 @@ repositories listed at
487 - rerere: handle leftover rr-cache/$ID directory and postimage files
488 - rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id
489 - rerere: split conflict ID further
490 + (this branch uses jk/rerere-xsnprintf.)
491
492 "git rerere" can encounter two or more files with the same conflict
493 signature that have to be resolved in different ways, but there was
@@ -589,19 +504,3 @@ repositories listed at
504 git-gui still uses the deprecated syntax, which needs to be fixed
505 before this final step can proceed.
506 ($gmane/282594)
592 -
593 ---------------------------------------------------
594 -[Discarded]
595 -
596 -* bb/merge-marker-crlf (2015-11-24) 1 commit
597 - . merge-file: consider core.crlf when writing merge markers
598 -
599 - Resurrected as 'js/xmerge-maker-eol'.
600 -
601 -
602 -* sg/sh-require-clean-orphan (2015-11-24) 2 commits
603 - . sh-setup: make require_clean_work_tree() work on orphan branches
604 - . Add tests for git-sh-setup's require_clean_work_tree()
605 -
606 - Allow users of git-sh-setup to handle orphan branch state.
607 - ($gmane/284488)