]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2016/02 #02)
authorJunio C Hamano <gitster@pobox.com>
Sat, 6 Feb 2016 00:10:22 +0000 (16:10 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sat, 6 Feb 2016 00:10:22 +0000 (16:10 -0800)
whats-cooking.txt

index 147497e36631245016183435ac3b81b4bfb7d1ed..bdcbe5f6b6c7d9da5db4af1bf632d9b09ba859a5 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Feb 2016, #01; Tue, 2)
-X-master-at: 07c314d22dc8b0a982e76e7498a3f4d384062491
-X-next-at: 0765b0dbbbbf563f024948d74efb0d971872c22d
+Subject: What's cooking in git.git (Feb 2016, #02; Fri, 5)
+X-master-at: ff4ea6004fb48146330d663d64a71e7774f059f9
+X-next-at: b2aa7f843ccc79397d54723df13034a8761f5a18
 
-What's cooking in git.git (Feb 2016, #01; Tue, 2)
+What's cooking in git.git (Feb 2016, #02; Fri, 5)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
@@ -18,188 +18,203 @@ repositories listed at
     http://git-blame.blogspot.com/p/git-public-repositories.html
 
 --------------------------------------------------
-[Graduated to "master"]
+[New Topics]
 
-* ew/svn-1.9.0-auth (2016-01-26) 1 commit
-  (merged to 'next' on 2016-01-28 at 61a4a8f)
- + git-svn: fix auth parameter handling on SVN 1.9.0+
+* da/user-useconfigonly (2016-02-05) 2 commits
+ - ident: add user.useConfigOnly boolean for when ident shouldn't be guessed
+ - fmt_ident: refactor strictness checks
 
+ The "user.useConfigOnly" configuration variable can be used to
+ force the user to always set user.email & user.name configuration
+ variables, serving as a reminder for those who work on multiple
+ projects and do not want to put these in their $HOME/.gitconfig.
 
-* jc/strbuf-getline (2016-01-15) 9 commits
-  (merged to 'next' on 2016-01-22 at 8c4e051)
- + strbuf: give strbuf_getline() to the "most text friendly" variant
- + checkout-index: there are only two possible line terminations
- + update-index: there are only two possible line terminations
- + check-ignore: there are only two possible line terminations
- + check-attr: there are only two possible line terminations
- + mktree: there are only two possible line terminations
- + strbuf: introduce strbuf_getline_{lf,nul}()
- + strbuf: make strbuf_getline_crlf() global
- + strbuf: miniscule style fix
- (this branch is used by jc/peace-with-crlf.)
+--------------------------------------------------
+[Graduated to "master"]
 
- The preliminary clean-up for jc/peace-with-crlf topic.
+* dg/subtree-test (2016-01-19) 1 commit
+  (merged to 'next' on 2016-01-26 at 81f1356)
+ + contrib/subtree: Make testing easier
 
 
-* jk/filter-branch-no-index (2016-01-19) 1 commit
-  (merged to 'next' on 2016-01-22 at 312aa2c)
- + filter-branch: resolve $commit^{tree} in no-index case
+* dt/unpack-compare-entry-optim (2016-01-22) 2 commits
+  (merged to 'next' on 2016-01-26 at 110e053)
+ + unpack-trees: fix accidentally quadratic behavior
+  (merged to 'next' on 2016-01-20 at 180dccf)
+ + do_compare_entry: use already-computed path
 
- A recent optimization to filter-branch in v2.7.0 introduced a
- regression when --prune-empty filter is used, which has been
- corrected.
+ "git checkout $branch" (and other operations that share the same
+ underlying machinery) has been optimized.
 
 
-* jk/list-tag-2.7-regression (2016-01-26) 2 commits
-  (merged to 'next' on 2016-01-26 at fb9ccee)
- + tag: do not show ambiguous tag names as "tags/foo"
- + t6300: use test_atom for some un-modern tests
- (this branch is used by kn/ref-filter-atom-parsing.)
+* dw/subtree-split-do-not-drop-merge (2016-01-20) 1 commit
+  (merged to 'next' on 2016-01-26 at 3cfefef)
+ + contrib/subtree: fix "subtree split" skipped-merge bug
 
- "git tag" started listing a tag "foo" as "tags/foo" when a branch
- named "foo" exists in the same repository; remove this unnecessary
- disambiguation, which is a regression introduced in v2.7.0.
+ The "split" subcommand of "git subtree" (in contrib/) incorrectly
+ skipped merges when it shouldn't, which was corrected.
 
 
-* jk/sanity (2016-01-19) 1 commit
-  (merged to 'next' on 2016-01-22 at 612cc5f)
- + test-lib: clarify and tighten SANITY
+* jc/peace-with-crlf (2016-01-15) 12 commits
+  (merged to 'next' on 2016-01-26 at 08724bc)
+ + test-sha1-array: read command stream with strbuf_getline()
+ + grep: read -f file with strbuf_getline()
+ + send-pack: read list of refs with strbuf_getline()
+ + column: read lines with strbuf_getline()
+ + cat-file: read batch stream with strbuf_getline()
+ + transport-helper: read helper response with strbuf_getline()
+ + clone/sha1_file: read info/alternates with strbuf_getline()
+ + remote.c: read $GIT_DIR/remotes/* with strbuf_getline()
+ + ident.c: read /etc/mailname with strbuf_getline()
+ + rev-parse: read parseopt spec with strbuf_getline()
+ + revision: read --stdin with strbuf_getline()
+ + hash-object: read --stdin-paths with strbuf_getline()
 
- The description for SANITY prerequisite the test suite uses has
- been clarified both in the comment and in the implementation.
+ Many commands that read files that are expected to contain text
+ that is generated (or can be edited) by the end user to control
+ their behaviour (e.g. "git grep -f <filename>") have been updated
+ to be more tolerant to lines that are terminated with CRLF (they
+ used to treat such a line to contain payload that ends with CR,
+ which is usually not what the users expect).
 
 
-* jk/shortlog (2016-01-19) 7 commits
-  (merged to 'next' on 2016-01-22 at f1c688c)
- + shortlog: don't warn on empty author
- + shortlog: optimize out useless string list
- + shortlog: optimize out useless "<none>" normalization
- + shortlog: optimize "--summary" mode
- + shortlog: replace hand-parsing of author with pretty-printer
- + shortlog: use strbufs to read from stdin
- + shortlog: match both "Author:" and "author" on stdin
+* jk/completion-rebase (2016-01-25) 1 commit
+  (merged to 'next' on 2016-01-26 at def3e0b)
+ + completion: add missing git-rebase options
 
- "git shortlog" used to accumulate various pieces of information
- regardless of what was asked to be shown in the final output.  It
- has been optimized by noticing what need not to be collected
- (e.g. there is no need to collect the log messages when showing
- only the number of changes).
 
+* jk/notes-merge-from-anywhere (2016-01-17) 1 commit
+  (merged to 'next' on 2016-01-26 at c60ac66)
+ + notes: allow merging from arbitrary references
 
-* js/msys2 (2016-01-15) 9 commits
-  (merged to 'next' on 2016-01-22 at 8bab6ab)
- + mingw: uglify (a, 0) definitions to shut up warnings
- + mingw: squash another warning about a cast
- + mingw: avoid warnings when casting HANDLEs to int
- + mingw: avoid redefining S_* constants
- + compat/winansi: support compiling with MSys2
- + compat/mingw: support MSys2-based MinGW build
- + nedmalloc: allow compiling with MSys2's compiler
- + config.mak.uname: supporting 64-bit MSys2
- + config.mak.uname: support MSys2
- (this branch is used by js/mingw-tests.)
+ "git notes merge" used to limit the source of the merged notes tree
+ to somewhere under refs/notes/ hierarchy, which was too limiting
+ when inventing a workflow to exchange notes with remote
+ repositories using remote-tracking notes trees (located in e.g.
+ refs/remote-notes/ or somesuch).
 
- Beginning of the upstreaming process of Git for Windows effort.
 
+* jk/ref-cache-non-repository-optim (2016-01-25) 2 commits
+  (merged to 'next' on 2016-01-26 at 09057bc)
+ + resolve_gitlink_ref: ignore non-repository paths
+ + clean: make is_git_repository a public function
 
-* tk/interpret-trailers-in-place (2016-01-14) 2 commits
-  (merged to 'next' on 2016-01-22 at 5db0cf8)
- + interpret-trailers: add option for in-place editing
- + trailer: allow to write to files other than stdout
+ The underlying machinery used by "ls-files -o" and other commands
+ have been taught not to create empty submodule ref cache for a
+ directory that is not a submodule.  This removes a ton of wasted
+ CPU cycles.
 
- "interpret-trailers" has been taught to optionally update a file in
- place, instead of always writing the result to the standard output.
 
---------------------------------------------------
-[New Topics]
+* js/dirname-basename (2016-01-25) 6 commits
+  (merged to 'next' on 2016-01-26 at b16b2b8)
+ + mingw: avoid linking to the C library's isalpha()
+  (merged to 'next' on 2016-01-20 at d198512)
+ + t0060: loosen overly strict expectations
+  (merged to 'next' on 2016-01-12 at c3c970a)
+ + t0060: verify that basename() and dirname() work as expected
+ + compat/basename.c: provide a dirname() compatibility function
+ + compat/basename: make basename() conform to POSIX
+ + Refactor skipping DOS drive prefixes
 
-* aw/push-force-with-lease-reporting (2016-02-01) 1 commit
- - push: fix ref status reporting for --force-with-lease
+ dirname() emulation has been added, as Msys2 lacks it.
 
- "git push --force-with-lease" has been taught to report if the push
- needed to force (or fast-forwarded).
 
- Will merge to 'next'.
+* kf/http-proxy-auth-methods (2016-01-26) 2 commits
+  (merged to 'next' on 2016-02-01 at b0956b2)
+ + http: use credential API to handle proxy authentication
+ + http: allow selection of proxy authentication method
 
+ New http.proxyAuthMethod configuration variable can be used to
+ specify what authentication method to use, as a way to work around
+ proxies that do not give error response expected by libcurl when
+ CURLAUTH_ANY is used.  Also, the codepath for proxy authentication
+ has been taught to use credential API to store the authentication
+ material in user's keyrings.
 
-* ew/connect-verbose (2016-01-28) 1 commit
- - pass transport verbosity down to git_connect
 
- There were a few "now I am doing this thing" progress messages in
- the TCP connection code that can be triggered by setting a verbose
- option internally in the code, but "git fetch -v" and friends never
- passed the verbose option down to that codepath.
+* ls/travis-prove-order (2016-01-26) 2 commits
+  (merged to 'next' on 2016-01-26 at d8e2a4a)
+ + travis-ci: explicity use container-based infrastructure
+ + travis-ci: run previously failed tests first, then slowest to fastest
 
- There was a brief discussion about the impact on the end-user
- experience by not limiting this to "fetch -v -v", but I think the
- conclusion is that this is OK to enable with a single "-v" as it is
not too noisy.
+ Automated tests in Travis CI environment has been optimized by
+ persisting runtime statistics of previous "prove" run, executing
+ tests that take longer before other ones; this reduces the total
wallclock time.
 
- Will merge to 'next'.
 
+* lv/add-doc-working-tree (2016-01-21) 1 commit
+  (merged to 'next' on 2016-01-26 at c5b1ab1)
+ + git-add doc: do not say working directory when you mean working tree
 
-* ls/clean-smudge-override-in-config (2016-01-29) 1 commit
- - convert: treat an empty string for clean/smudge filters as "cat"
 
- Allow clean and smudge filter commands defined in a configuration
- file to be disabled by redefining it to an empty string.
+* mk/asciidoctor-bq-workaround (2016-01-20) 1 commit
+  (merged to 'next' on 2016-01-26 at 19a742a)
+ + Documentation: remove unnecessary backslashes
 
- Will merge to 'next'.
 
+* nd/diff-with-path-params (2016-01-21) 2 commits
+  (merged to 'next' on 2016-01-26 at b29a363)
+ + diff: make -O and --output work in subdirectory
+ + diff-no-index: do not take a redundant prefix argument
 
-* ah/stripspace-optstring (2016-01-29) 1 commit
- - stripspace: call U+0020 a "space" instead of a "blank"
+ A few options of "git diff" did not work well when the command was
+ run from a subdirectory.
 
- Comments?
 
+* pw/completion-show-branch (2016-01-25) 1 commit
+  (merged to 'next' on 2016-01-26 at d0d7735)
+ + completion: complete show-branch "--date-order"
 
-* dw/mergetool-vim-window-shuffle (2016-01-29) 1 commit
- - mergetool: reorder vim/gvim buffers in three-way diffs
 
- Comments from real vim/gvim users?
+* pw/completion-stash (2016-01-26) 1 commit
+  (merged to 'next' on 2016-01-26 at e41153c)
+ + completion: update completion arguments for stash
 
 
-* jk/drop-rsync-transport (2016-02-01) 1 commit
- - transport: drop support for git-over-rsync
+* tb/complete-word-diff-regex (2016-01-20) 1 commit
+  (merged to 'next' on 2016-01-26 at a5beecc)
+ + completion: complete "diff --word-diff-regex="
 
- It turns out "git clone" over rsync transport has been broken when
- the source repository has packed references for a long time, and
- nobody noticed nor complained about it.
 
- Will merge to 'next'.
+* tb/ls-files-eol (2016-01-18) 1 commit
+  (merged to 'next' on 2016-01-26 at bc9246f)
+ + ls-files: add eol diagnostics
 
+ "git ls-files" learned a new "--eol" option to help diagnose
+ end-of-line problems.
 
-* jk/options-cleanup (2016-02-01) 6 commits
- - apply, ls-files: simplify "-z" parsing
- - checkout-index: disallow "--no-stage" option
- - checkout-index: handle "--no-index" option
- - checkout-index: handle "--no-prefix" option
- - checkout-index: simplify "-z" option parsing
- - give "nbuf" strbuf a more meaningful name
 
- Various clean-ups to the command line option parsing.
+* tg/ls-remote-symref (2016-01-19) 5 commits
+  (merged to 'next' on 2016-01-26 at e466ee2)
+ + ls-remote: add support for showing symrefs
+ + ls-remote: use parse-options api
+ + ls-remote: fix synopsis
+ + ls-remote: document --refs option
+ + ls-remote: document --quiet option
 
- Will merge to 'next'.
+ "ls-remote" learned an option to show which branch the remote
+ repository advertises as its primary by pointing its HEAD at.
 
+--------------------------------------------------
+[Stalled]
 
-* dv/http-try-negotiate-at-least-once (2016-02-02) 1 commit
- - remote-curl: don't fall back to Basic auth if we haven't tried Negotiate
+* ec/annotate-deleted (2015-11-20) 1 commit
+ - annotate: skip checking working tree if a revision is provided
 
- Needs review.
+ Usability fix for annotate-specific "<file> <rev>" syntax with deleted
+ files.
 
+ Waiting for review.
 
-* js/test-lib-windows-emulated-yes (2016-02-02) 1 commit
- - test-lib: limit the output of the yes utility
 
- The emulated "yes" command used in our test scripts has been
- tweaked not to spend too much time generating unnecessary output
- that is not used, to help those who test on Windows where it would
- not stop until it fills the pipe buffer due to lack of SIGPIPE.
+* dg/subtree-rebase-test (2016-01-19) 1 commit
+ - contrib/subtree: Add a test for subtree rebase that loses commits
 
- Will merge to 'next'.
+ Reviewed up to v5.
+ Will be rerolled.
+ ($gmane/284426)
 
---------------------------------------------------
-[Stalled]
 
 * dk/gc-more-wo-pack (2016-01-13) 4 commits
  - gc: clean garbage .bitmap files from pack dir
@@ -243,155 +258,179 @@ repositories listed at
 --------------------------------------------------
 [Cooking]
 
-* sb/submodule-parallel-update (2016-01-12) 8 commits
- - clone: allow an explicit argument for parallel submodule clones
- - submodule update: expose parallelism to the user
- - git submodule update: have a dedicated helper for cloning
- - fetching submodules: respect `submodule.fetchJobs` config option
- - submodule-config: introduce parse_generic_submodule_config
- - submodule-config: remove name_and_item_from_var
- - submodule-config: drop check against NULL
- - submodule-config: keep update strategy around
- (this branch is used by dt/refs-backend-lmdb and sb/submodule-init.)
+* aw/push-force-with-lease-reporting (2016-02-01) 1 commit
+  (merged to 'next' on 2016-02-03 at facd28f)
+ + push: fix ref status reporting for --force-with-lease
 
- Builds on top of the "fetch --recurse-submodules" work to introduce
parallel downloading into multiple submodules for "submodule update".
+ "git push --force-with-lease" has been taught to report if the push
needed to force (or fast-forwarded).
 
Needs review.
Will merge to 'master'.
 
 
-* dt/refs-backend-lmdb (2016-02-02) 21 commits
- - refs: tests for lmdb backend
- - refs: add LMDB refs backend
- - svn: learn ref-storage argument
- - refs: allow ref backend to be set for clone
- - refs: check submodules ref storage config
- - init: allow alternate backends to be set for new repos
- - refs: always handle non-normal refs in files backend
- - refs: resolve symbolic refs first
- - refs: allow log-only updates
- - refs: move duplicate check to common code
- - refs: make lock generic
- - refs: add method to rename refs
- - refs: add methods to init refs db
- - refs: add method for delete_refs
- - refs: add method for initial ref transaction commit
- - refs: add methods for reflog
- - refs: add do_for_each_per_worktree_ref
- - refs: add methods for the ref iterators
- - refs: add methods for misc ref operations
- - refs: add a backend method structure with transaction functions
- - Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb
- (this branch uses sb/submodule-parallel-update; is tangled with sb/submodule-init.)
+* ew/connect-verbose (2016-01-28) 1 commit
+  (merged to 'next' on 2016-02-03 at ceac37e)
+ + pass transport verbosity down to git_connect
 
- Building on top of a few refs-backend preparatory series, LMDB
- based refs backend has been plugged into the system.
+ There were a few "now I am doing this thing" progress messages in
+ the TCP connection code that can be triggered by setting a verbose
+ option internally in the code, but "git fetch -v" and friends never
+ passed the verbose option down to that codepath.
 
- This can now be reviewed and polished as it no longer depends on
- too many topics in flight ;-)
+ There was a brief discussion about the impact on the end-user
+ experience by not limiting this to "fetch -v -v", but I think the
+ conclusion is that this is OK to enable with a single "-v" as it is
+ not too noisy.
 
Needs review.
Will merge to 'master'.
 
 
-* lv/add-doc-working-tree (2016-01-21) 1 commit
-  (merged to 'next' on 2016-01-26 at c5b1ab1)
- + git-add doc: do not say working directory when you mean working tree
+* ls/clean-smudge-override-in-config (2016-01-29) 1 commit
+  (merged to 'next' on 2016-02-03 at 5962354)
+ + convert: treat an empty string for clean/smudge filters as "cat"
+
+ Clean/smudge filters defined in a configuration file of lower
+ precedence can now be overridden to be a pass-through no-op by
+ setting the variable to an empty string.
 
  Will merge to 'master'.
 
 
-* mk/asciidoctor-bq-workaround (2016-01-20) 1 commit
-  (merged to 'next' on 2016-01-26 at 19a742a)
- + Documentation: remove unnecessary backslashes
+* ah/stripspace-optstring (2016-01-29) 1 commit
+ - stripspace: call U+0020 a "space" instead of a "blank"
 
- Will merge to 'master'.
+ Comments?
 
 
-* nd/diff-with-path-params (2016-01-21) 2 commits
-  (merged to 'next' on 2016-01-26 at b29a363)
- + diff: make -O and --output work in subdirectory
- + diff-no-index: do not take a redundant prefix argument
+* dw/mergetool-vim-window-shuffle (2016-01-29) 1 commit
+ - mergetool: reorder vim/gvim buffers in three-way diffs
 
- A few options of "git diff" did not work well when the command was
- run from a subdirectory.
+ Comments from real vim/gvim users?
 
- Will merge to 'master'.
 
+* jk/drop-rsync-transport (2016-02-01) 1 commit
+  (merged to 'next' on 2016-02-03 at 08be402)
+ + transport: drop support for git-over-rsync
 
-* tb/complete-word-diff-regex (2016-01-20) 1 commit
-  (merged to 'next' on 2016-01-26 at a5beecc)
- + completion: complete "diff --word-diff-regex="
+ It turns out "git clone" over rsync transport has been broken when
+ the source repository has packed references for a long time, and
+ nobody noticed nor complained about it.
 
  Will merge to 'master'.
 
 
-* tg/ls-remote-symref (2016-01-19) 5 commits
-  (merged to 'next' on 2016-01-26 at e466ee2)
- + ls-remote: add support for showing symrefs
- + ls-remote: use parse-options api
- + ls-remote: fix synopsis
- + ls-remote: document --refs option
- + ls-remote: document --quiet option
+* jk/options-cleanup (2016-02-01) 6 commits
+  (merged to 'next' on 2016-02-03 at a78d89d)
+ + apply, ls-files: simplify "-z" parsing
+ + checkout-index: disallow "--no-stage" option
+ + checkout-index: handle "--no-index" option
+ + checkout-index: handle "--no-prefix" option
+ + checkout-index: simplify "-z" option parsing
+ + give "nbuf" strbuf a more meaningful name
 
- Teach "ls-remote" an option to show which branch the remote
- repository advertises as its primary by pointing its HEAD at.
+ Various clean-ups to the command line option parsing.
 
  Will merge to 'master'.
 
 
-* jk/ref-cache-non-repository-optim (2016-01-25) 2 commits
-  (merged to 'next' on 2016-01-26 at 09057bc)
- + resolve_gitlink_ref: ignore non-repository paths
- + clean: make is_git_repository a public function
+* dv/http-try-negotiate-at-least-once (2016-02-02) 1 commit
+ - remote-curl: don't fall back to Basic auth if we haven't tried Negotiate
 
- Teach the underlying machinery used by "ls-files -o" and other
- commands not to create empty submodule ref cache for a directory
- that is not a submodule.  This removes a ton of wasted CPU cycles.
+ Needs at least an update to the log message.
+ ($gmane/285314)
 
- Will merge to 'master'.
 
+* js/test-lib-windows-emulated-yes (2016-02-02) 1 commit
+  (merged to 'next' on 2016-02-03 at bf6b42c)
+ + test-lib: limit the output of the yes utility
 
-* jk/completion-rebase (2016-01-25) 1 commit
-  (merged to 'next' on 2016-01-26 at def3e0b)
- + completion: add missing git-rebase options
+ The emulated "yes" command used in our test scripts has been
+ tweaked not to spend too much time generating unnecessary output
+ that is not used, to help those who test on Windows where it would
+ not stop until it fills the pipe buffer due to lack of SIGPIPE.
 
  Will merge to 'master'.
 
 
-* pw/completion-show-branch (2016-01-25) 1 commit
-  (merged to 'next' on 2016-01-26 at d0d7735)
- + completion: complete show-branch "--date-order"
+* sb/submodule-parallel-update (2016-01-12) 8 commits
+ - clone: allow an explicit argument for parallel submodule clones
+ - submodule update: expose parallelism to the user
+ - git submodule update: have a dedicated helper for cloning
+ - fetching submodules: respect `submodule.fetchJobs` config option
+ - submodule-config: introduce parse_generic_submodule_config
+ - submodule-config: remove name_and_item_from_var
+ - submodule-config: drop check against NULL
+ - submodule-config: keep update strategy around
+ (this branch is used by dt/refs-backend-lmdb and sb/submodule-init.)
 
- Will merge to 'master'.
+ Builds on top of the "fetch --recurse-submodules" work to introduce
+ parallel downloading into multiple submodules for "submodule update".
+
+ Needs review.
+ ($gmane/285285)
+
+
+* dt/refs-backend-lmdb (2016-02-02) 21 commits
+ . refs: tests for lmdb backend
+ . refs: add LMDB refs backend
+ . svn: learn ref-storage argument
+ . refs: allow ref backend to be set for clone
+ . refs: check submodules ref storage config
+ . init: allow alternate backends to be set for new repos
+ . refs: always handle non-normal refs in files backend
+ . refs: resolve symbolic refs first
+ . refs: allow log-only updates
+ . refs: move duplicate check to common code
+ . refs: make lock generic
+ . refs: add method to rename refs
+ . refs: add methods to init refs db
+ . refs: add method for delete_refs
+ . refs: add method for initial ref transaction commit
+ . refs: add methods for reflog
+ . refs: add do_for_each_per_worktree_ref
+ . refs: add methods for the ref iterators
+ . refs: add methods for misc ref operations
+ . refs: add a backend method structure with transaction functions
+ . Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb
+ (this branch uses sb/submodule-parallel-update; is tangled with sb/submodule-init.)
+
+ Building on top of a few refs-backend preparatory series, LMDB
+ based refs backend has been plugged into the system.
+
+ This can now be reviewed and polished as it no longer depends on
+ too many topics in flight.  I haven't picked the latest one posted
+ apart to queue it as a topic properly, as the patches sent to the
+ list were done on top of some version of 'pu'.
 
 
 * js/mingw-tests (2016-01-28) 20 commits
- - mingw: do not bother to test funny file names
- - mingw: skip a test in t9130 that cannot pass on Windows
- - mingw: handle the missing POSIXPERM prereq in t9124
- - mingw: avoid illegal filename in t9118
- - mingw: mark t9100's test cases with appropriate prereqs
- - t0008: avoid absolute path
- - mingw: work around pwd issues in the tests
- - mingw: fix t9700's assumption about directory separators
- - mingw: skip test in t1508 that fails due to path conversion
- - tests: turn off git-daemon tests if FIFOs are not available
- - mingw: disable mkfifo-based tests
- - mingw: accomodate t0060-path-utils for MSYS2
- - mingw: fix t5601-clone.sh
- - mingw: let lstat() fail with errno == ENOTDIR when appropriate
- - mingw: try to delete target directory before renaming
- - mingw: prepare the TMPDIR environment variable for shell scripts
- - mingw: factor out Windows specific environment setup
- - Git.pm: stop assuming that absolute paths start with a slash
- - mingw: do not trust MSYS2's MinGW gettext.sh
- - mingw: let's use gettext with MSYS2
-
- Updates test scripts to remove assumptions that are not portable
- between Git for POSIX and Git for Windows, or to skip ones with
- expectations that are not satisfiable on Git for Windows.
-
- Will merge to 'next'.
+  (merged to 'next' on 2016-02-03 at ace7624)
+ + mingw: do not bother to test funny file names
+ + mingw: skip a test in t9130 that cannot pass on Windows
+ + mingw: handle the missing POSIXPERM prereq in t9124
+ + mingw: avoid illegal filename in t9118
+ + mingw: mark t9100's test cases with appropriate prereqs
+ + t0008: avoid absolute path
+ + mingw: work around pwd issues in the tests
+ + mingw: fix t9700's assumption about directory separators
+ + mingw: skip test in t1508 that fails due to path conversion
+ + tests: turn off git-daemon tests if FIFOs are not available
+ + mingw: disable mkfifo-based tests
+ + mingw: accomodate t0060-path-utils for MSYS2
+ + mingw: fix t5601-clone.sh
+ + mingw: let lstat() fail with errno == ENOTDIR when appropriate
+ + mingw: try to delete target directory before renaming
+ + mingw: prepare the TMPDIR environment variable for shell scripts
+ + mingw: factor out Windows specific environment setup
+ + Git.pm: stop assuming that absolute paths start with a slash
+ + mingw: do not trust MSYS2's MinGW gettext.sh
+ + mingw: let's use gettext with MSYS2
+
+ Test scripts have been updated to remove assumptions that are not
+ portable between Git for POSIX and Git for Windows, or to skip ones
+ with expectations that are not satisfiable on Git for Windows.
+
+ Will merge to 'master'.
 
 
 * js/xmerge-marker-eol (2016-01-27) 2 commits
@@ -418,79 +457,6 @@ repositories listed at
  Needs review.
 
 
-* pw/completion-stash (2016-01-26) 1 commit
-  (merged to 'next' on 2016-01-26 at e41153c)
- + completion: update completion arguments for stash
-
- Will merge to 'master'.
-
-
-* kf/http-proxy-auth-methods (2016-01-26) 2 commits
-  (merged to 'next' on 2016-02-01 at b0956b2)
- + http: use credential API to handle proxy authentication
- + http: allow selection of proxy authentication method
-
- New http.proxyAuthMethod configuration variable can be used to
- specify what authentication method to use, as a way to work around
- proxies that do not give error response expected by libcurl when
- CURLAUTH_ANY is used.  Also, the codepath for proxy authentication
- has been taught to use credential API to store the authentication
- material in user's keyrings.
-
- Will merge to 'master'.
-
-
-* dg/subtree-rebase-test (2016-01-19) 1 commit
- - contrib/subtree: Add a test for subtree rebase that loses commits
-
- Reviewed up to v5.
- Will be rerolled.
- ($gmane/284426)
-
-
-* jc/peace-with-crlf (2016-01-15) 12 commits
-  (merged to 'next' on 2016-01-26 at 08724bc)
- + test-sha1-array: read command stream with strbuf_getline()
- + grep: read -f file with strbuf_getline()
- + send-pack: read list of refs with strbuf_getline()
- + column: read lines with strbuf_getline()
- + cat-file: read batch stream with strbuf_getline()
- + transport-helper: read helper response with strbuf_getline()
- + clone/sha1_file: read info/alternates with strbuf_getline()
- + remote.c: read $GIT_DIR/remotes/* with strbuf_getline()
- + ident.c: read /etc/mailname with strbuf_getline()
- + rev-parse: read parseopt spec with strbuf_getline()
- + revision: read --stdin with strbuf_getline()
- + hash-object: read --stdin-paths with strbuf_getline()
-
- Teach codepaths that communicate with users by reading text files
- to be more lenient to editors that write CRLF-terminated lines.
- Note that this is only about communication with Git, like feeding
- list of object names from the standard input instead of from the
- command line, and does not involve files in the working tree.
-
- Will merge to 'master'.
-
-
-* dg/subtree-test (2016-01-19) 1 commit
-  (merged to 'next' on 2016-01-26 at 81f1356)
- + contrib/subtree: Make testing easier
-
- Will merge to 'master'.
-
-
-* ls/travis-prove-order (2016-01-26) 2 commits
-  (merged to 'next' on 2016-01-26 at d8e2a4a)
- + travis-ci: explicity use container-based infrastructure
- + travis-ci: run previously failed tests first, then slowest to fastest
-
- By persisting runtime statistics of previous "prove" run, execute
- tests that take longer before other ones, to reduce the total
- wallclock time when running with Travis CI.
-
- Will merge to 'master'.
-
-
 * nd/do-not-move-worktree-manually (2016-01-22) 2 commits
   (merged to 'next' on 2016-01-26 at c539221)
  + worktree: stop supporting moving worktrees manually
@@ -517,53 +483,14 @@ repositories listed at
  Will have to wait for 'sb/submodule-parallel-update'.
 
 
-* js/dirname-basename (2016-01-25) 6 commits
-  (merged to 'next' on 2016-01-26 at b16b2b8)
- + mingw: avoid linking to the C library's isalpha()
-  (merged to 'next' on 2016-01-20 at d198512)
- + t0060: loosen overly strict expectations
-  (merged to 'next' on 2016-01-12 at c3c970a)
- + t0060: verify that basename() and dirname() work as expected
- + compat/basename.c: provide a dirname() compatibility function
- + compat/basename: make basename() conform to POSIX
- + Refactor skipping DOS drive prefixes
-
- dirname() emulation has been added, as Msys2 lacks it.
-
- Will merge to 'master'.
-
-
 * wp/sha1-name-negative-match (2016-02-01) 2 commits
- - object name: introduce '^{/!-<negative pattern>}' notation
- - test for '!' handling in rev-parse's named commits
+  (merged to 'next' on 2016-02-03 at 89fa5ef)
+ + object name: introduce '^{/!-<negative pattern>}' notation
+ + test for '!' handling in rev-parse's named commits
 
- Introduce "<branch>^{/!-<pattern>}" notation to name a commit
- reachable from <branch> that does not match the given <pattern>.
-
- Will merge to 'next'.
-
-
-* jk/notes-merge-from-anywhere (2016-01-17) 1 commit
-  (merged to 'next' on 2016-01-26 at c60ac66)
- + notes: allow merging from arbitrary references
-
- "git notes merge" used to limit the source of the merged notes tree
- to somewhere under refs/notes/ hierarchy, which was too limiting
- when inventing a workflow to exchange notes with remote
- repositories using remote-tracking notes trees (located in e.g.
- refs/remote-notes/ or somesuch).
-
- Will merge to 'master'.
-
-
-* dt/unpack-compare-entry-optim (2016-01-22) 2 commits
-  (merged to 'next' on 2016-01-26 at 110e053)
- + unpack-trees: fix accidentally quadratic behavior
-  (merged to 'next' on 2016-01-20 at 180dccf)
- + do_compare_entry: use already-computed path
-
- "git checkout $branch" (and other operations that share the same
- underlying machinery) has been optimized.
+ A new "<branch>^{/!-<pattern>}" notation can be used to name a
+ commit that is reachable from <branch> that does not match the
+ given <pattern>.
 
  Will merge to 'master'.
 
@@ -588,16 +515,6 @@ repositories listed at
  Will merge to 'master'.
 
 
-* dw/subtree-split-do-not-drop-merge (2016-01-20) 1 commit
-  (merged to 'next' on 2016-01-26 at 3cfefef)
- + contrib/subtree: fix "subtree split" skipped-merge bug
-
- The "split" subcommand of "git subtree" (in contrib/) incorrectly
- skipped merges when it shouldn't, which was corrected.
-
- Will merge to 'master'.
-
-
 * kn/ref-filter-atom-parsing (2016-02-02) 12 commits
  - ref-filter: introduce objectname_atom_parser()
  - ref-filter: introduce contents_atom_parser()
@@ -615,23 +532,7 @@ repositories listed at
  Refactoring of ref-filter's format-parsing code, in preparation
  for "branch --format" and friends.
 
-
-* tb/ls-files-eol (2016-01-18) 1 commit
-  (merged to 'next' on 2016-01-26 at bc9246f)
- + ls-files: add eol diagnostics
-
- Add options to ls-files to help diagnose end-of-line problems.
-
- Will merge to 'master'.
-
-
-* ec/annotate-deleted (2015-11-20) 1 commit
- - annotate: skip checking working tree if a revision is provided
-
- Usability fix for annotate-specific "<file> <rev>" syntax with deleted
- files.
-
- Waiting for review.
+ ($gmane/285158)
 
 
 * js/am-3-merge-recursive-direct (2015-10-12) 2 commits