What's cooking (2016/02 #02)

Junio C Hamano committed Feb 5, 2016 at 16:10 UTC daa9226bb2b7318011f3300f47c6d767b98c8ab1
1 file changed +283 -382
whats-cooking.txt
+283 -382
@@ -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, #01; Tue, 2)
4 -X-master-at: 07c314d22dc8b0a982e76e7498a3f4d384062491
5 -X-next-at: 0765b0dbbbbf563f024948d74efb0d971872c22d
3 +Subject: What's cooking in git.git (Feb 2016, #02; Fri, 5)
4 +X-master-at: ff4ea6004fb48146330d663d64a71e7774f059f9
5 +X-next-at: b2aa7f843ccc79397d54723df13034a8761f5a18
6
7 -What's cooking in git.git (Feb 2016, #01; Tue, 2)
7 +What's cooking in git.git (Feb 2016, #02; Fri, 5)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -18,188 +18,203 @@ repositories listed at
18 http://git-blame.blogspot.com/p/git-public-repositories.html
19
20 --------------------------------------------------
21 -[Graduated to "master"]
21 +[New Topics]
22
23 -* ew/svn-1.9.0-auth (2016-01-26) 1 commit
24 - (merged to 'next' on 2016-01-28 at 61a4a8f)
25 - + git-svn: fix auth parameter handling on SVN 1.9.0+
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
26
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
28 -* jc/strbuf-getline (2016-01-15) 9 commits
29 - (merged to 'next' on 2016-01-22 at 8c4e051)
30 - + strbuf: give strbuf_getline() to the "most text friendly" variant
31 - + checkout-index: there are only two possible line terminations
32 - + update-index: there are only two possible line terminations
33 - + check-ignore: there are only two possible line terminations
34 - + check-attr: there are only two possible line terminations
35 - + mktree: there are only two possible line terminations
36 - + strbuf: introduce strbuf_getline_{lf,nul}()
37 - + strbuf: make strbuf_getline_crlf() global
38 - + strbuf: miniscule style fix
39 - (this branch is used by jc/peace-with-crlf.)
32 +--------------------------------------------------
33 +[Graduated to "master"]
34
41 - The preliminary clean-up for jc/peace-with-crlf topic.
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
44 -* jk/filter-branch-no-index (2016-01-19) 1 commit
45 - (merged to 'next' on 2016-01-22 at 312aa2c)
46 - + filter-branch: resolve $commit^{tree} in no-index case
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
48 - A recent optimization to filter-branch in v2.7.0 introduced a
49 - regression when --prune-empty filter is used, which has been
50 - corrected.
46 + "git checkout $branch" (and other operations that share the same
47 + underlying machinery) has been optimized.
48
49
53 -* jk/list-tag-2.7-regression (2016-01-26) 2 commits
54 - (merged to 'next' on 2016-01-26 at fb9ccee)
55 - + tag: do not show ambiguous tag names as "tags/foo"
56 - + t6300: use test_atom for some un-modern tests
57 - (this branch is used by kn/ref-filter-atom-parsing.)
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
59 - "git tag" started listing a tag "foo" as "tags/foo" when a branch
60 - named "foo" exists in the same repository; remove this unnecessary
61 - disambiguation, which is a regression introduced in v2.7.0.
54 + The "split" subcommand of "git subtree" (in contrib/) incorrectly
55 + skipped merges when it shouldn't, which was corrected.
56
57
64 -* jk/sanity (2016-01-19) 1 commit
65 - (merged to 'next' on 2016-01-22 at 612cc5f)
66 - + test-lib: clarify and tighten SANITY
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
68 - The description for SANITY prerequisite the test suite uses has
69 - been clarified both in the comment and in the implementation.
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
72 -* jk/shortlog (2016-01-19) 7 commits
73 - (merged to 'next' on 2016-01-22 at f1c688c)
74 - + shortlog: don't warn on empty author
75 - + shortlog: optimize out useless string list
76 - + shortlog: optimize out useless "<none>" normalization
77 - + shortlog: optimize "--summary" mode
78 - + shortlog: replace hand-parsing of author with pretty-printer
79 - + shortlog: use strbufs to read from stdin
80 - + shortlog: match both "Author:" and "author" on stdin
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
82 - "git shortlog" used to accumulate various pieces of information
83 - regardless of what was asked to be shown in the final output. It
84 - has been optimized by noticing what need not to be collected
85 - (e.g. there is no need to collect the log messages when showing
86 - only the number of changes).
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
89 -* js/msys2 (2016-01-15) 9 commits
90 - (merged to 'next' on 2016-01-22 at 8bab6ab)
91 - + mingw: uglify (a, 0) definitions to shut up warnings
92 - + mingw: squash another warning about a cast
93 - + mingw: avoid warnings when casting HANDLEs to int
94 - + mingw: avoid redefining S_* constants
95 - + compat/winansi: support compiling with MSys2
96 - + compat/mingw: support MSys2-based MinGW build
97 - + nedmalloc: allow compiling with MSys2's compiler
98 - + config.mak.uname: supporting 64-bit MSys2
99 - + config.mak.uname: support MSys2
100 - (this branch is used by js/mingw-tests.)
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
102 - Beginning of the upstreaming process of Git for Windows effort.
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
105 -* tk/interpret-trailers-in-place (2016-01-14) 2 commits
106 - (merged to 'next' on 2016-01-22 at 5db0cf8)
107 - + interpret-trailers: add option for in-place editing
108 - + trailer: allow to write to files other than stdout
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
110 - "interpret-trailers" has been taught to optionally update a file in
111 - place, instead of always writing the result to the standard output.
107
113 ---------------------------------------------------
114 -[New Topics]
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
116 -* aw/push-force-with-lease-reporting (2016-02-01) 1 commit
117 - - push: fix ref status reporting for --force-with-lease
119 + dirname() emulation has been added, as Msys2 lacks it.
120
119 - "git push --force-with-lease" has been taught to report if the push
120 - needed to force (or fast-forwarded).
121
122 - Will merge to 'next'.
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
126
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
125 -* ew/connect-verbose (2016-01-28) 1 commit
126 - - pass transport verbosity down to git_connect
134
128 - There were a few "now I am doing this thing" progress messages in
129 - the TCP connection code that can be triggered by setting a verbose
130 - option internally in the code, but "git fetch -v" and friends never
131 - passed the verbose option down to that codepath.
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
133 - There was a brief discussion about the impact on the end-user
134 - experience by not limiting this to "fetch -v -v", but I think the
135 - conclusion is that this is OK to enable with a single "-v" as it is
136 - not too noisy.
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
138 - Will merge to 'next'.
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
149
141 -* ls/clean-smudge-override-in-config (2016-01-29) 1 commit
142 - - convert: treat an empty string for clean/smudge filters as "cat"
150
144 - Allow clean and smudge filter commands defined in a configuration
145 - file to be disabled by redefining it to an empty string.
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
154
147 - Will merge to 'next'.
155
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
160
150 -* ah/stripspace-optstring (2016-01-29) 1 commit
151 - - stripspace: call U+0020 a "space" instead of a "blank"
161 + A few options of "git diff" did not work well when the command was
162 + run from a subdirectory.
163
153 - Comments?
164
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"
168
156 -* dw/mergetool-vim-window-shuffle (2016-01-29) 1 commit
157 - - mergetool: reorder vim/gvim buffers in three-way diffs
169
159 - Comments from real vim/gvim users?
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
173
174
162 -* jk/drop-rsync-transport (2016-02-01) 1 commit
163 - - transport: drop support for git-over-rsync
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="
178
165 - It turns out "git clone" over rsync transport has been broken when
166 - the source repository has packed references for a long time, and
167 - nobody noticed nor complained about it.
179
169 - Will merge to 'next'.
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
183
184 + "git ls-files" learned a new "--eol" option to help diagnose
185 + end-of-line problems.
186
172 -* jk/options-cleanup (2016-02-01) 6 commits
173 - - apply, ls-files: simplify "-z" parsing
174 - - checkout-index: disallow "--no-stage" option
175 - - checkout-index: handle "--no-index" option
176 - - checkout-index: handle "--no-prefix" option
177 - - checkout-index: simplify "-z" option parsing
178 - - give "nbuf" strbuf a more meaningful name
187
180 - Various clean-ups to the command line option parsing.
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
195
182 - Will merge to 'next'.
196 + "ls-remote" learned an option to show which branch the remote
197 + repository advertises as its primary by pointing its HEAD at.
198
199 +--------------------------------------------------
200 +[Stalled]
201
185 -* dv/http-try-negotiate-at-least-once (2016-02-02) 1 commit
186 - - remote-curl: don't fall back to Basic auth if we haven't tried Negotiate
202 +* ec/annotate-deleted (2015-11-20) 1 commit
203 + - annotate: skip checking working tree if a revision is provided
204
188 - Needs review.
205 + Usability fix for annotate-specific "<file> <rev>" syntax with deleted
206 + files.
207
208 + Waiting for review.
209
191 -* js/test-lib-windows-emulated-yes (2016-02-02) 1 commit
192 - - test-lib: limit the output of the yes utility
210
194 - The emulated "yes" command used in our test scripts has been
195 - tweaked not to spend too much time generating unnecessary output
196 - that is not used, to help those who test on Windows where it would
197 - not stop until it fills the pipe buffer due to lack of SIGPIPE.
211 +* dg/subtree-rebase-test (2016-01-19) 1 commit
212 + - contrib/subtree: Add a test for subtree rebase that loses commits
213
199 - Will merge to 'next'.
214 + Reviewed up to v5.
215 + Will be rerolled.
216 + ($gmane/284426)
217
201 ---------------------------------------------------
202 -[Stalled]
218
219 * dk/gc-more-wo-pack (2016-01-13) 4 commits
220 - gc: clean garbage .bitmap files from pack dir
@@ -243,155 +258,179 @@ repositories listed at
258 --------------------------------------------------
259 [Cooking]
260
246 -* sb/submodule-parallel-update (2016-01-12) 8 commits
247 - - clone: allow an explicit argument for parallel submodule clones
248 - - submodule update: expose parallelism to the user
249 - - git submodule update: have a dedicated helper for cloning
250 - - fetching submodules: respect `submodule.fetchJobs` config option
251 - - submodule-config: introduce parse_generic_submodule_config
252 - - submodule-config: remove name_and_item_from_var
253 - - submodule-config: drop check against NULL
254 - - submodule-config: keep update strategy around
255 - (this branch is used by dt/refs-backend-lmdb and sb/submodule-init.)
261 +* aw/push-force-with-lease-reporting (2016-02-01) 1 commit
262 + (merged to 'next' on 2016-02-03 at facd28f)
263 + + push: fix ref status reporting for --force-with-lease
264
257 - Builds on top of the "fetch --recurse-submodules" work to introduce
258 - parallel downloading into multiple submodules for "submodule update".
265 + "git push --force-with-lease" has been taught to report if the push
266 + needed to force (or fast-forwarded).
267
260 - Needs review.
268 + Will merge to 'master'.
269
270
263 -* dt/refs-backend-lmdb (2016-02-02) 21 commits
264 - - refs: tests for lmdb backend
265 - - refs: add LMDB refs backend
266 - - svn: learn ref-storage argument
267 - - refs: allow ref backend to be set for clone
268 - - refs: check submodules ref storage config
269 - - init: allow alternate backends to be set for new repos
270 - - refs: always handle non-normal refs in files backend
271 - - refs: resolve symbolic refs first
272 - - refs: allow log-only updates
273 - - refs: move duplicate check to common code
274 - - refs: make lock generic
275 - - refs: add method to rename refs
276 - - refs: add methods to init refs db
277 - - refs: add method for delete_refs
278 - - refs: add method for initial ref transaction commit
279 - - refs: add methods for reflog
280 - - refs: add do_for_each_per_worktree_ref
281 - - refs: add methods for the ref iterators
282 - - refs: add methods for misc ref operations
283 - - refs: add a backend method structure with transaction functions
284 - - Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb
285 - (this branch uses sb/submodule-parallel-update; is tangled with sb/submodule-init.)
271 +* ew/connect-verbose (2016-01-28) 1 commit
272 + (merged to 'next' on 2016-02-03 at ceac37e)
273 + + pass transport verbosity down to git_connect
274
287 - Building on top of a few refs-backend preparatory series, LMDB
288 - based refs backend has been plugged into the system.
275 + There were a few "now I am doing this thing" progress messages in
276 + the TCP connection code that can be triggered by setting a verbose
277 + option internally in the code, but "git fetch -v" and friends never
278 + passed the verbose option down to that codepath.
279
290 - This can now be reviewed and polished as it no longer depends on
291 - too many topics in flight ;-)
280 + There was a brief discussion about the impact on the end-user
281 + experience by not limiting this to "fetch -v -v", but I think the
282 + conclusion is that this is OK to enable with a single "-v" as it is
283 + not too noisy.
284
293 - Needs review.
285 + Will merge to 'master'.
286
287
296 -* lv/add-doc-working-tree (2016-01-21) 1 commit
297 - (merged to 'next' on 2016-01-26 at c5b1ab1)
298 - + git-add doc: do not say working directory when you mean working tree
288 +* ls/clean-smudge-override-in-config (2016-01-29) 1 commit
289 + (merged to 'next' on 2016-02-03 at 5962354)
290 + + convert: treat an empty string for clean/smudge filters as "cat"
291 +
292 + Clean/smudge filters defined in a configuration file of lower
293 + precedence can now be overridden to be a pass-through no-op by
294 + setting the variable to an empty string.
295
296 Will merge to 'master'.
297
298
303 -* mk/asciidoctor-bq-workaround (2016-01-20) 1 commit
304 - (merged to 'next' on 2016-01-26 at 19a742a)
305 - + Documentation: remove unnecessary backslashes
299 +* ah/stripspace-optstring (2016-01-29) 1 commit
300 + - stripspace: call U+0020 a "space" instead of a "blank"
301
307 - Will merge to 'master'.
302 + Comments?
303
304
310 -* nd/diff-with-path-params (2016-01-21) 2 commits
311 - (merged to 'next' on 2016-01-26 at b29a363)
312 - + diff: make -O and --output work in subdirectory
313 - + diff-no-index: do not take a redundant prefix argument
305 +* dw/mergetool-vim-window-shuffle (2016-01-29) 1 commit
306 + - mergetool: reorder vim/gvim buffers in three-way diffs
307
315 - A few options of "git diff" did not work well when the command was
316 - run from a subdirectory.
308 + Comments from real vim/gvim users?
309
318 - Will merge to 'master'.
310
311 +* jk/drop-rsync-transport (2016-02-01) 1 commit
312 + (merged to 'next' on 2016-02-03 at 08be402)
313 + + transport: drop support for git-over-rsync
314
321 -* tb/complete-word-diff-regex (2016-01-20) 1 commit
322 - (merged to 'next' on 2016-01-26 at a5beecc)
323 - + completion: complete "diff --word-diff-regex="
315 + It turns out "git clone" over rsync transport has been broken when
316 + the source repository has packed references for a long time, and
317 + nobody noticed nor complained about it.
318
319 Will merge to 'master'.
320
321
328 -* tg/ls-remote-symref (2016-01-19) 5 commits
329 - (merged to 'next' on 2016-01-26 at e466ee2)
330 - + ls-remote: add support for showing symrefs
331 - + ls-remote: use parse-options api
332 - + ls-remote: fix synopsis
333 - + ls-remote: document --refs option
334 - + ls-remote: document --quiet option
322 +* jk/options-cleanup (2016-02-01) 6 commits
323 + (merged to 'next' on 2016-02-03 at a78d89d)
324 + + apply, ls-files: simplify "-z" parsing
325 + + checkout-index: disallow "--no-stage" option
326 + + checkout-index: handle "--no-index" option
327 + + checkout-index: handle "--no-prefix" option
328 + + checkout-index: simplify "-z" option parsing
329 + + give "nbuf" strbuf a more meaningful name
330
336 - Teach "ls-remote" an option to show which branch the remote
337 - repository advertises as its primary by pointing its HEAD at.
331 + Various clean-ups to the command line option parsing.
332
333 Will merge to 'master'.
334
335
342 -* jk/ref-cache-non-repository-optim (2016-01-25) 2 commits
343 - (merged to 'next' on 2016-01-26 at 09057bc)
344 - + resolve_gitlink_ref: ignore non-repository paths
345 - + clean: make is_git_repository a public function
336 +* dv/http-try-negotiate-at-least-once (2016-02-02) 1 commit
337 + - remote-curl: don't fall back to Basic auth if we haven't tried Negotiate
338
347 - Teach the underlying machinery used by "ls-files -o" and other
348 - commands not to create empty submodule ref cache for a directory
349 - that is not a submodule. This removes a ton of wasted CPU cycles.
339 + Needs at least an update to the log message.
340 + ($gmane/285314)
341
351 - Will merge to 'master'.
342
343 +* js/test-lib-windows-emulated-yes (2016-02-02) 1 commit
344 + (merged to 'next' on 2016-02-03 at bf6b42c)
345 + + test-lib: limit the output of the yes utility
346
354 -* jk/completion-rebase (2016-01-25) 1 commit
355 - (merged to 'next' on 2016-01-26 at def3e0b)
356 - + completion: add missing git-rebase options
347 + The emulated "yes" command used in our test scripts has been
348 + tweaked not to spend too much time generating unnecessary output
349 + that is not used, to help those who test on Windows where it would
350 + not stop until it fills the pipe buffer due to lack of SIGPIPE.
351
352 Will merge to 'master'.
353
354
361 -* pw/completion-show-branch (2016-01-25) 1 commit
362 - (merged to 'next' on 2016-01-26 at d0d7735)
363 - + completion: complete show-branch "--date-order"
355 +* sb/submodule-parallel-update (2016-01-12) 8 commits
356 + - clone: allow an explicit argument for parallel submodule clones
357 + - submodule update: expose parallelism to the user
358 + - git submodule update: have a dedicated helper for cloning
359 + - fetching submodules: respect `submodule.fetchJobs` config option
360 + - submodule-config: introduce parse_generic_submodule_config
361 + - submodule-config: remove name_and_item_from_var
362 + - submodule-config: drop check against NULL
363 + - submodule-config: keep update strategy around
364 + (this branch is used by dt/refs-backend-lmdb and sb/submodule-init.)
365
365 - Will merge to 'master'.
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
395 + (this branch uses sb/submodule-parallel-update; is tangled with sb/submodule-init.)
396 +
397 + Building on top of a few refs-backend preparatory series, LMDB
398 + based refs backend has been plugged into the system.
399 +
400 + This can now be reviewed and polished as it no longer depends on
401 + too many topics in flight. I haven't picked the latest one posted
402 + apart to queue it as a topic properly, as the patches sent to the
403 + list were done on top of some version of 'pu'.
404
405
406 * js/mingw-tests (2016-01-28) 20 commits
369 - - mingw: do not bother to test funny file names
370 - - mingw: skip a test in t9130 that cannot pass on Windows
371 - - mingw: handle the missing POSIXPERM prereq in t9124
372 - - mingw: avoid illegal filename in t9118
373 - - mingw: mark t9100's test cases with appropriate prereqs
374 - - t0008: avoid absolute path
375 - - mingw: work around pwd issues in the tests
376 - - mingw: fix t9700's assumption about directory separators
377 - - mingw: skip test in t1508 that fails due to path conversion
378 - - tests: turn off git-daemon tests if FIFOs are not available
379 - - mingw: disable mkfifo-based tests
380 - - mingw: accomodate t0060-path-utils for MSYS2
381 - - mingw: fix t5601-clone.sh
382 - - mingw: let lstat() fail with errno == ENOTDIR when appropriate
383 - - mingw: try to delete target directory before renaming
384 - - mingw: prepare the TMPDIR environment variable for shell scripts
385 - - mingw: factor out Windows specific environment setup
386 - - Git.pm: stop assuming that absolute paths start with a slash
387 - - mingw: do not trust MSYS2's MinGW gettext.sh
388 - - mingw: let's use gettext with MSYS2
389 -
390 - Updates test scripts to remove assumptions that are not portable
391 - between Git for POSIX and Git for Windows, or to skip ones with
392 - expectations that are not satisfiable on Git for Windows.
393 -
394 - Will merge to 'next'.
407 + (merged to 'next' on 2016-02-03 at ace7624)
408 + + mingw: do not bother to test funny file names
409 + + mingw: skip a test in t9130 that cannot pass on Windows
410 + + mingw: handle the missing POSIXPERM prereq in t9124
411 + + mingw: avoid illegal filename in t9118
412 + + mingw: mark t9100's test cases with appropriate prereqs
413 + + t0008: avoid absolute path
414 + + mingw: work around pwd issues in the tests
415 + + mingw: fix t9700's assumption about directory separators
416 + + mingw: skip test in t1508 that fails due to path conversion
417 + + tests: turn off git-daemon tests if FIFOs are not available
418 + + mingw: disable mkfifo-based tests
419 + + mingw: accomodate t0060-path-utils for MSYS2
420 + + mingw: fix t5601-clone.sh
421 + + mingw: let lstat() fail with errno == ENOTDIR when appropriate
422 + + mingw: try to delete target directory before renaming
423 + + mingw: prepare the TMPDIR environment variable for shell scripts
424 + + mingw: factor out Windows specific environment setup
425 + + Git.pm: stop assuming that absolute paths start with a slash
426 + + mingw: do not trust MSYS2's MinGW gettext.sh
427 + + mingw: let's use gettext with MSYS2
428 +
429 + Test scripts have been updated to remove assumptions that are not
430 + portable between Git for POSIX and Git for Windows, or to skip ones
431 + with expectations that are not satisfiable on Git for Windows.
432 +
433 + Will merge to 'master'.
434
435
436 * js/xmerge-marker-eol (2016-01-27) 2 commits
@@ -418,79 +457,6 @@ repositories listed at
457 Needs review.
458
459
421 -* pw/completion-stash (2016-01-26) 1 commit
422 - (merged to 'next' on 2016-01-26 at e41153c)
423 - + completion: update completion arguments for stash
424 -
425 - Will merge to 'master'.
426 -
427 -
428 -* kf/http-proxy-auth-methods (2016-01-26) 2 commits
429 - (merged to 'next' on 2016-02-01 at b0956b2)
430 - + http: use credential API to handle proxy authentication
431 - + http: allow selection of proxy authentication method
432 -
433 - New http.proxyAuthMethod configuration variable can be used to
434 - specify what authentication method to use, as a way to work around
435 - proxies that do not give error response expected by libcurl when
436 - CURLAUTH_ANY is used. Also, the codepath for proxy authentication
437 - has been taught to use credential API to store the authentication
438 - material in user's keyrings.
439 -
440 - Will merge to 'master'.
441 -
442 -
443 -* dg/subtree-rebase-test (2016-01-19) 1 commit
444 - - contrib/subtree: Add a test for subtree rebase that loses commits
445 -
446 - Reviewed up to v5.
447 - Will be rerolled.
448 - ($gmane/284426)
449 -
450 -
451 -* jc/peace-with-crlf (2016-01-15) 12 commits
452 - (merged to 'next' on 2016-01-26 at 08724bc)
453 - + test-sha1-array: read command stream with strbuf_getline()
454 - + grep: read -f file with strbuf_getline()
455 - + send-pack: read list of refs with strbuf_getline()
456 - + column: read lines with strbuf_getline()
457 - + cat-file: read batch stream with strbuf_getline()
458 - + transport-helper: read helper response with strbuf_getline()
459 - + clone/sha1_file: read info/alternates with strbuf_getline()
460 - + remote.c: read $GIT_DIR/remotes/* with strbuf_getline()
461 - + ident.c: read /etc/mailname with strbuf_getline()
462 - + rev-parse: read parseopt spec with strbuf_getline()
463 - + revision: read --stdin with strbuf_getline()
464 - + hash-object: read --stdin-paths with strbuf_getline()
465 -
466 - Teach codepaths that communicate with users by reading text files
467 - to be more lenient to editors that write CRLF-terminated lines.
468 - Note that this is only about communication with Git, like feeding
469 - list of object names from the standard input instead of from the
470 - command line, and does not involve files in the working tree.
471 -
472 - Will merge to 'master'.
473 -
474 -
475 -* dg/subtree-test (2016-01-19) 1 commit
476 - (merged to 'next' on 2016-01-26 at 81f1356)
477 - + contrib/subtree: Make testing easier
478 -
479 - Will merge to 'master'.
480 -
481 -
482 -* ls/travis-prove-order (2016-01-26) 2 commits
483 - (merged to 'next' on 2016-01-26 at d8e2a4a)
484 - + travis-ci: explicity use container-based infrastructure
485 - + travis-ci: run previously failed tests first, then slowest to fastest
486 -
487 - By persisting runtime statistics of previous "prove" run, execute
488 - tests that take longer before other ones, to reduce the total
489 - wallclock time when running with Travis CI.
490 -
491 - Will merge to 'master'.
492 -
493 -
460 * nd/do-not-move-worktree-manually (2016-01-22) 2 commits
461 (merged to 'next' on 2016-01-26 at c539221)
462 + worktree: stop supporting moving worktrees manually
@@ -517,53 +483,14 @@ repositories listed at
483 Will have to wait for 'sb/submodule-parallel-update'.
484
485
520 -* js/dirname-basename (2016-01-25) 6 commits
521 - (merged to 'next' on 2016-01-26 at b16b2b8)
522 - + mingw: avoid linking to the C library's isalpha()
523 - (merged to 'next' on 2016-01-20 at d198512)
524 - + t0060: loosen overly strict expectations
525 - (merged to 'next' on 2016-01-12 at c3c970a)
526 - + t0060: verify that basename() and dirname() work as expected
527 - + compat/basename.c: provide a dirname() compatibility function
528 - + compat/basename: make basename() conform to POSIX
529 - + Refactor skipping DOS drive prefixes
530 -
531 - dirname() emulation has been added, as Msys2 lacks it.
532 -
533 - Will merge to 'master'.
534 -
535 -
486 * wp/sha1-name-negative-match (2016-02-01) 2 commits
537 - - object name: introduce '^{/!-<negative pattern>}' notation
538 - - test for '!' handling in rev-parse's named commits
487 + (merged to 'next' on 2016-02-03 at 89fa5ef)
488 + + object name: introduce '^{/!-<negative pattern>}' notation
489 + + test for '!' handling in rev-parse's named commits
490
540 - Introduce "<branch>^{/!-<pattern>}" notation to name a commit
541 - reachable from <branch> that does not match the given <pattern>.
542 -
543 - Will merge to 'next'.
544 -
545 -
546 -* jk/notes-merge-from-anywhere (2016-01-17) 1 commit
547 - (merged to 'next' on 2016-01-26 at c60ac66)
548 - + notes: allow merging from arbitrary references
549 -
550 - "git notes merge" used to limit the source of the merged notes tree
551 - to somewhere under refs/notes/ hierarchy, which was too limiting
552 - when inventing a workflow to exchange notes with remote
553 - repositories using remote-tracking notes trees (located in e.g.
554 - refs/remote-notes/ or somesuch).
555 -
556 - Will merge to 'master'.
557 -
558 -
559 -* dt/unpack-compare-entry-optim (2016-01-22) 2 commits
560 - (merged to 'next' on 2016-01-26 at 110e053)
561 - + unpack-trees: fix accidentally quadratic behavior
562 - (merged to 'next' on 2016-01-20 at 180dccf)
563 - + do_compare_entry: use already-computed path
564 -
565 - "git checkout $branch" (and other operations that share the same
566 - underlying machinery) has been optimized.
491 + A new "<branch>^{/!-<pattern>}" notation can be used to name a
492 + commit that is reachable from <branch> that does not match the
493 + given <pattern>.
494
495 Will merge to 'master'.
496
@@ -588,16 +515,6 @@ repositories listed at
515 Will merge to 'master'.
516
517
591 -* dw/subtree-split-do-not-drop-merge (2016-01-20) 1 commit
592 - (merged to 'next' on 2016-01-26 at 3cfefef)
593 - + contrib/subtree: fix "subtree split" skipped-merge bug
594 -
595 - The "split" subcommand of "git subtree" (in contrib/) incorrectly
596 - skipped merges when it shouldn't, which was corrected.
597 -
598 - Will merge to 'master'.
599 -
600 -
518 * kn/ref-filter-atom-parsing (2016-02-02) 12 commits
519 - ref-filter: introduce objectname_atom_parser()
520 - ref-filter: introduce contents_atom_parser()
@@ -615,23 +532,7 @@ repositories listed at
532 Refactoring of ref-filter's format-parsing code, in preparation
533 for "branch --format" and friends.
534
618 -
619 -* tb/ls-files-eol (2016-01-18) 1 commit
620 - (merged to 'next' on 2016-01-26 at bc9246f)
621 - + ls-files: add eol diagnostics
622 -
623 - Add options to ls-files to help diagnose end-of-line problems.
624 -
625 - Will merge to 'master'.
626 -
627 -
628 -* ec/annotate-deleted (2015-11-20) 1 commit
629 - - annotate: skip checking working tree if a revision is provided
630 -
631 - Usability fix for annotate-specific "<file> <rev>" syntax with deleted
632 - files.
633 -
634 - Waiting for review.
535 + ($gmane/285158)
536
537
538 * js/am-3-merge-recursive-direct (2015-10-12) 2 commits