]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2017/05 #07)
authorJunio C Hamano <gitster@pobox.com>
Tue, 23 May 2017 07:59:07 +0000 (16:59 +0900)
committerJunio C Hamano <gitster@pobox.com>
Tue, 23 May 2017 07:59:07 +0000 (16:59 +0900)
whats-cooking.txt

index b47c69da526c5c44181898ce019957a5ae7db224..7e0c111799996e42cc4b8514e6ba4ef868ce10e3 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (May 2017, #06; Mon, 22)
-X-master-at: 10c78a162fa821ee85203165b805ff46be454091
-X-next-at: 20371eebb69346345f908fea7f7cbd2909a91c2c
+Subject: What's cooking in git.git (May 2017, #07; Tue, 23)
+X-master-at: 1eb437020a2c098a7c12da4c05082fbea10d98c9
+X-next-at: 93fb34087a286d99fc95933e0bb699d6263fbad7
 
-What's cooking in git.git (May 2017, #06; Mon, 22)
+What's cooking in git.git (May 2017, #07; Tue, 23)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
@@ -12,21 +12,211 @@ Here are the topics that have been cooking.  Commits prefixed with
 '+' are in 'next'.  The ones marked with '.' do not appear in any of
 the integration branches, but I am still holding onto them.
 
-The tip of 'next' has been rewound, and the first batch of topics
-for the next release have been merged to 'master'.  I tentatively
-wrote doen that this cycle will last for 11 weeks, completing at the
-end of July.
+The 'maint' branch is now for the v2.13.x maintenance track.  A
+handful of fixes in 'master' will soon be merged to it to prepare
+for v2.13.1 in a week or so.
 
 You can find the changes described here in the integration branches
 of the repositories listed at
 
     http://git-blame.blogspot.com/p/git-public-repositories.html
 
+--------------------------------------------------
+[Graduated to "master"]
+
+* ab/doc-replace-gmane-links (2017-05-09) 2 commits
+  (merged to 'next' on 2017-05-20 at 2c4f96560c)
+ + doc: replace more gmane links
+ + doc: replace a couple of broken gmane links
+
+ The Web interface to gmane news archive is long gone, even though
+ the articles are still accessible via NTTP.  Replace the links with
+ ones to public-inbox.org.  Because their message identification is
+ based on the actual message-id, it is likely that it will be easier
+ to migrate away from it if/when necessary.
+
+
+* ab/fix-poison-tests (2017-05-11) 3 commits
+  (merged to 'next' on 2017-05-20 at 5b13ba86bd)
+ + travis-ci: add job to run tests with GETTEXT_POISON
+ + travis-ci: setup "prove cache" in "script" step
+ + tests: fix tests broken under GETTEXT_POISON=YesPlease
+
+ Update tests to pass under GETTEXT_POISON (a mechanism to ensure
+ that output strings that should not be translated are not
+ translated by mistake), and tell TravisCI to run them.
+
+
+* ah/log-decorate-default-to-auto (2017-05-15) 1 commit
+  (merged to 'next' on 2017-05-20 at 209614479c)
+ + builtin/log: honor log.decorate
+
+ Setting "log.decorate=false" in the configuration file did not take
+ effect in v2.13, which has been corrected.
+
+
+* bw/submodule-with-bs-path (2017-05-01) 1 commit
+  (merged to 'next' on 2017-05-20 at b740f784cb)
+ + t7400: add !CYGWIN prerequisite to 'add with \\ in path'
+
+ A hotfix to a topic that is already in v2.13.
+
+
+* jt/push-options-doc (2017-05-10) 2 commits
+  (merged to 'next' on 2017-05-20 at ca7f344111)
+ + receive-pack: verify push options in cert
+ + docs: correct receive.advertisePushOptions default
+
+ The receive-pack program now makes sure that the push certificate
+ records the same set of push options used for pushing.
+
+
+* ls/travis-relays-for-windows-ci (2017-05-04) 2 commits
+  (merged to 'next' on 2017-05-20 at 47f34b78e2)
+ + travis-ci: retry if Git for Windows CI returns HTTP error 502 or 503
+ + travis-ci: handle Git for Windows CI status "failed" explicitly
+
+ Will merge to 'master'.
+
+
+* rs/checkout-am-fix-unborn (2017-05-08) 2 commits
+  (merged to 'next' on 2017-05-20 at d4f1ee3ed7)
+ + am: check return value of resolve_refdup before using hash
+ + checkout: check return value of resolve_refdup before using hash
+
+ A few codepaths in "checkout" and "am" working on an unborn branch
+ tried to access an uninitialized piece of memory.
+
+
+* tb/dedup-crlf-tests (2017-05-10) 1 commit
+  (merged to 'next' on 2017-05-20 at 0a7ffff154)
+ + t0027: tests are not expensive; remove t0025
+
+ Will merge to 'master'.
+
 --------------------------------------------------
 [New Topics]
 
+* ah/doc-interpret-trailers-ifexists (2017-05-23) 1 commit
+ - Documentation: fix reference to ifExists for interpret-trailers
+
+ Documentation fix.
+
+ Will merge to 'next'.
+
+
+* ah/doc-pretty-format-fix (2017-05-23) 1 commit
+ - Documentation: fix formatting typo in pretty-formats.txt
+
+ Documentation fix.
+
+ Will merge to 'next'.
+
+
+* sb/submodule-blanket-recursive (2017-05-23) 6 commits
+ . builtin/push.c: respect 'submodule.recurse' option
+ . builtin/grep.c: respect 'submodule.recurse' option
+ . builtin/fetch.c: respect 'submodule.recurse' option
+ . Introduce submodule.recurse option for worktree manipulators
+ . submodule test invocation: only pass additional arguments
+ . submodule.c: add has_submodules to check if we have any submodules
+ (this branch uses sb/reset-recurse-submodules.)
+
+ A new configuration variable "submodule.recurse" can be set to true
+ to force various commands run at the top-level superproject to
+ behave as if they were invoked with the "--recurse-submodules"
+ option.
+
+ Seems to break t7814 when merged to 'pu'.
+
+
+* sb/t5531-update-desc (2017-05-23) 1 commit
+ - t5531: fix test description
+
+ The description strings for a few tests have been updated.
+
+ Will merge to 'next'.
+
+--------------------------------------------------
+[Stalled]
+
+* mg/status-in-progress-info (2017-05-10) 2 commits
+ - status --short --inprogress: spell it as --in-progress
+ - status: show in-progress info for short status
+
+ "git status" learns an option to report various operations
+ (e.g. "merging") that the user is in the middle of.
+
+ cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
+
+
+* mg/name-rev-debug (2017-03-31) 2 commits
+ - describe: pass --debug down to name-rev
+ - name-rev: provide debug output
+ (this branch uses jc/name-rev-lw-tag.)
+
+ "git describe --debug --contains" did not add any meaningful
+ information, even though without "--contains" it did.
+
+
+* nd/worktree-move (2017-04-20) 6 commits
+ - worktree remove: new command
+ - worktree move: refuse to move worktrees with submodules
+ - worktree move: accept destination as directory
+ - worktree move: new command
+ - worktree.c: add update_worktree_location()
+ - worktree.c: add validate_worktree()
+
+ "git worktree" learned move and remove subcommands.
+
+ Expecting a reroll.
+ cf. <20170420101024.7593-1-pclouds@gmail.com>
+ cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
+ cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
+
+
+* df/dir-iter-remove-subtree (2017-04-19) 5 commits
+ - remove_subtree(): reimplement using iterators
+ - dir_iterator: rewrite state machine model
+ - dir_iterator: refactor dir_iterator_advance
+ - remove_subtree(): test removing nested directories
+ - dir_iterator: add tests for dir_iterator API
+
+ Update the dir-iterator API and use it to reimplement
+ remove_subtree().
+
+ A reroll exists that is based on the updated 'master', but I ran
+ out of time trying to get it to work with other topics in flight
+ in 'pu'.
+ GSoC microproject.
+
+
+* ls/filter-process-delayed (2017-03-06) 1 commit
+ - convert: add "status=delayed" to filter process protocol
+
+ Expecting a reroll.
+ cf. <04ECEBE5-CAC8-4344-B07A-6B7A7C795C94@gmail.com>
+
+
+* sk/dash-is-previous (2017-03-01) 5 commits
+ - revert.c: delegate handling of "-" shorthand to setup_revisions
+ - sha1_name.c: teach get_sha1_1 "-" shorthand for "@{-1}"
+ - revision.c: args starting with "-" might be a revision
+ - revision.c: swap if/else blocks
+ - revision.c: do not update argv with unknown option
+
+ A dash "-" can be written to mean "the branch that was previously
+ checked out" in more places.
+
+ Needs review.
+ cf. <1488007487-12965-1-git-send-email-kannan.siddharth12@gmail.com>
+
+--------------------------------------------------
+[Cooking]
+
 * ab/conditional-config-with-symlinks (2017-05-17) 1 commit
- - config: match both symlink & realpath versions in IncludeIf.gitdir:*
+  (merged to 'next' on 2017-05-23 at 6162222c2e)
+ + config: match both symlink & realpath versions in IncludeIf.gitdir:*
 
  The recently introduced "[includeIf "gitdir:$dir"] path=..."
  mechansim has further been taught to take symlinks into account.
@@ -36,11 +226,12 @@ of the repositories listed at
  current repository to determine if the contents from the named path
  should be included.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * bm/interpret-trailers-cut-line-is-eom (2017-05-18) 1 commit
- - interpret-trailers: honor the cut line
+  (merged to 'next' on 2017-05-23 at 3e5ff08517)
+ + interpret-trailers: honor the cut line
 
  "git interpret-trailers", when used as GIT_EDITOR for "git commit
  -v", looked for and appended to a trailer block at the very end,
@@ -48,23 +239,25 @@ of the repositories listed at
  corrected to pay attention to the cut-mark line "commit -v" adds to
  the buffer---the real trailer block should appear just before it.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jc/skip-test-in-the-middle (2017-05-18) 2 commits
- - t5545: enhance test coverage when no http server is installed
- - test: allow skipping the remainder
+  (merged to 'next' on 2017-05-23 at 6c962b353b)
+ + t5545: enhance test coverage when no http server is installed
+ + test: allow skipping the remainder
 
  A recent update to t5545-push-options.sh started skipping all the
  tests in the script when a web server testing is disabled or
  unavailable, not just the ones that require a web server.  Non HTTP
  tests have been salvaged to always run in this script.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jk/alternate-ref-optim (2017-05-18) 1 commit
- - t5400: avoid concurrent writes into a trace file
+  (merged to 'next' on 2017-05-23 at 4b4b3ac463)
+ + t5400: avoid concurrent writes into a trace file
 
  A test allowed both "git push" and "git receive-pack" on the other
  end write their traces into the same file.  This is OK on platforms
@@ -73,10 +266,10 @@ of the repositories listed at
  intermittent test failures.  This has been fixed by disabling
  traces from "receive-pack" in the test.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* mh/packed-ref-store-prep (2017-05-18) 23 commits
+* mh/packed-ref-store-prep (2017-05-23) 26 commits
  - cache_ref_iterator_begin(): avoid priming unneeded directories
  - ref-filter: limit traversal to prefix
  - create_ref_entry(): remove `check_name` option
@@ -88,23 +281,27 @@ of the repositories listed at
  - ref_update_reject_duplicates(): add a sanity check
  - ref_update_reject_duplicates(): use `size_t` rather than `int`
  - ref_update_reject_duplicates(): expose function to whole refs module
- - ref_transaction_commit(): break into multiple functions
+ - ref_transaction_prepare(): new optional step for reference updates
+ - ref_transaction_commit(): check for valid `transaction->state`
  - files_transaction_cleanup(): new helper function
  - files_ref_store: put the packed files lock directly in this struct
  - files-backend: move `lock` member to `files_ref_store`
  - lockfile: add a new method, is_lock_file_locked()
- - ref_store: take `logmsg` parameter when deleting references
+ - ref_store: take a `msg` parameter when deleting references
  - refs: use `size_t` indexes when iterating over ref transaction updates
  - refs_ref_iterator_begin(): don't check prefixes redundantly
  - prefix_ref_iterator: don't trim too much
+ - files-backend: use `die("BUG: ...")`, not `die("internal error: ...")`
  - ref_iterator_begin_fn(): fix docstring
  - refs.h: clarify docstring for the ref_transaction_update()-related fns
  - t3600: clean up permissions test properly
+ - Merge branch 'bc/object-id'
+ (this branch uses bc/object-id.)
 
  The implementation of "ref" API around the "packed refs" have been
  cleaned up, in preparation for further changes.
 
Expecting a reroll.
Will merge to 'next'.
 
 
 * sl/clean-d-ignored-fix (2017-05-22) 7 commits
@@ -120,14 +317,18 @@ of the repositories listed at
  even though the command should not lose ignored ones without "-x".
  This has been corrected.
 
+ Expecting a reroll.
+ cf. <xmqq1srgko52.fsf@gitster.mtv.corp.google.com>
+
 
 * tg/stash-push-fixup (2017-05-17) 1 commit
- - completion: add git stash push
+  (merged to 'next' on 2017-05-23 at 338eb650f2)
+ + completion: add git stash push
 
  The shell completion script (in contrib/) learned "git stash" has
  a new "push" subcommand.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * ab/sha1dc (2017-05-22) 3 commits
@@ -156,21 +357,23 @@ of the repositories listed at
  - dir: make lookup_untracked() available outside of dir.c
  - bswap: add 64 bit endianness helper get_be64
 
- Expecting reroll.
+ Expecting reroll.
 
 
 * dk/send-email-avoid-net-smtp-ssl-when-able (2017-05-20) 1 commit
- - send-email: Net::SMTP::SSL is obsolete, use only when necessary
+  (merged to 'next' on 2017-05-23 at fc59b8a1d4)
+ + send-email: Net::SMTP::SSL is obsolete, use only when necessary
 
  "git send-email" now uses Net::SMTP::SSL, which is obsolete, only
  when needed.  Recent versions of Net::SMTP can do TLS natively.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jc/name-rev-lw-tag (2017-03-29) 2 commits
- - name-rev: favor describing with tags and use committer date to tiebreak
- - name-rev: refactor logic to see if a new candidate is a better name
+  (merged to 'next' on 2017-05-23 at 3f88b6d73c)
+ + name-rev: favor describing with tags and use committer date to tiebreak
+ + name-rev: refactor logic to see if a new candidate is a better name
  (this branch is used by mg/name-rev-debug.)
 
  "git describe --contains" penalized light-weight tags so much that
@@ -178,7 +381,7 @@ of the repositories listed at
  same chance to be considered as an annotated tag that is the same
  age as the underlying commit would.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jk/diff-blob (2017-05-20) 15 commits
@@ -207,192 +410,114 @@ of the repositories listed at
 
 
 * jk/ignore-broken-tags-when-ignoring-missing-links (2017-05-20) 1 commit
- - revision.c: ignore broken tags with ignore_missing_links
+  (merged to 'next' on 2017-05-23 at 977491e52a)
+ + revision.c: ignore broken tags with ignore_missing_links
 
  Tag objects, which are not reachable from any ref, that point at
  missing objects were mishandled by "git gc" and friends (they
  should silently be ignored instead)
- Will merge to 'next'.
+
+ Will merge to 'master'.
 
 
 * js/bs-is-a-dir-sep-on-windows (2017-05-20) 2 commits
- - Windows: do not treat a path with backslashes as a remote's nick name
- - mingw.h: permit arguments with side effects for is_dir_sep
+  (merged to 'next' on 2017-05-23 at e27040ceb0)
+ + Windows: do not treat a path with backslashes as a remote's nick name
+ + mingw.h: permit arguments with side effects for is_dir_sep
 
  "foo\bar\baz" in "git fetch foo\bar\baz", even though there is no
  slashes in it, cannot be a nickname for a remote on Windows, as
  that is likely to be a pathname on a local filesystem.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * js/larger-timestamps (2017-05-20) 1 commit
- - name-rev: change a "long" variable to timestamp_t
+  (merged to 'next' on 2017-05-23 at 16f7c9e677)
+ + name-rev: change a "long" variable to timestamp_t
 
  A follow-up hotfix for a topic already in 'master'.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * km/log-showsignature-doc (2017-05-20) 1 commit
- - config.txt: add an entry for log.showSignature
+  (merged to 'next' on 2017-05-23 at f43ea11956)
+ + config.txt: add an entry for log.showSignature
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * kn/ref-filter-branch-list (2017-05-20) 1 commit
- - ref-filter: resolve HEAD when parsing %(HEAD) atom
+  (merged to 'next' on 2017-05-23 at e0cc721af0)
+ + ref-filter: resolve HEAD when parsing %(HEAD) atom
 
  "git for-each-ref --format=..." with %(HEAD) in the format used to
  resolve the HEAD symref as many times as it had processed refs,
  which was wasteful, and "git branch" shared the same problem.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * pw/rebase-i-regression-fix (2017-05-20) 3 commits
- - rebase -i: add missing newline to end of message
- - rebase -i: silence stash apply
- - rebase -i: fix reflog message
+  (merged to 'next' on 2017-05-23 at 14676d0013)
+ + rebase -i: add missing newline to end of message
+ + rebase -i: silence stash apply
+ + rebase -i: fix reflog message
 
  Regression fix to topic recently merged to 'master'.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* sb/diff-color-move (2017-05-20) 20 commits
- - diff.c: color moved lines differently
- - diff: buffer all output if asked to
- - diff.c: emit_line includes whitespace highlighting
- - diff.c: convert diff_summary to use emit_line_*
- - diff.c: convert diff_flush to use emit_line_*
- - diff.c: convert word diffing to use emit_line_*
- - diff.c: convert show_stats to use emit_line_*
- - diff.c: convert emit_binary_diff_body to use emit_line_*
- - submodule.c: convert show_submodule_summary to use emit_line_fmt
- - diff.c: convert emit_rewrite_lines to use emit_line_*
- - diff.c: convert emit_rewrite_diff to use emit_line_*
- - diff.c: convert builtin_diff to use emit_line_*
- - diff.c: convert fn_out_consume to use emit_line
- - diff.c: inline emit_line_0 into emit_line
- - diff.c: emit_line_0 takes parameter whether to output line prefix
- - diff.c: emit_line_0 can handle no color setting
- - diff.c: teach emit_line_0 to accept sign parameter
- - diff.c: factor out diff_flush_patch_all_file_pairs
- - diff: move line ending check into emit_hunk_header
- - diff: readability fix
+* sb/diff-color-move (2017-05-23) 17 commits
+ . diff.c: color moved lines differently
+ . diff: buffer all output if asked to
+ . diff.c: emit_line includes whitespace highlighting
+ . diff.c: convert diff_summary to use emit_line_*
+ . diff.c: convert diff_flush to use emit_line_*
+ . diff.c: convert word diffing to use emit_line_*
+ . diff.c: convert show_stats to use emit_line_*
+ . diff.c: convert emit_binary_diff_body to use emit_line_*
+ . submodule.c: convert show_submodule_summary to use emit_line_fmt
+ . diff.c: convert emit_rewrite_lines to use emit_line_*
+ . diff.c: convert emit_rewrite_diff to use emit_line_*
+ . diff.c: convert builtin_diff to use emit_line_*
+ . diff.c: convert fn_out_consume to use emit_line
+ . diff: introduce more flexible emit function
+ . diff.c: factor out diff_flush_patch_all_file_pairs
+ . diff: move line ending check into emit_hunk_header
+ . diff: readability fix
 
  "git diff" has been taught to optionally paint new lines that are
  the same as deleted lines elsewhere differently from genuinely new
  lines.
 
+ Seems to break t4060 when merged to 'next'.
 
-* xz/send-email-batch-size (2017-05-22) 2 commits
- - SQUASH???
+
+* xz/send-email-batch-size (2017-05-23) 1 commit
  - send-email: --batch-size to work around some SMTP server limit
 
  "git send-email" learned to overcome some SMTP server limitation
  that does not allow many pieces of e-mails to be sent over a single
  session.
 
-
---------------------------------------------------
-[Stalled]
-
-* mg/status-in-progress-info (2017-05-10) 2 commits
- - status --short --inprogress: spell it as --in-progress
- - status: show in-progress info for short status
-
- "git status" learns an option to report various operations
- (e.g. "merging") that the user is in the middle of.
-
- cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
-
-
-* mg/name-rev-debug (2017-03-31) 2 commits
- - describe: pass --debug down to name-rev
- - name-rev: provide debug output
- (this branch uses jc/name-rev-lw-tag.)
-
- "git describe --debug --contains" did not add any meaningful
- information, even though without "--contains" it did.
-
-
-* nd/worktree-move (2017-04-20) 6 commits
- - worktree remove: new command
- - worktree move: refuse to move worktrees with submodules
- - worktree move: accept destination as directory
- - worktree move: new command
- - worktree.c: add update_worktree_location()
- - worktree.c: add validate_worktree()
-
- "git worktree" learned move and remove subcommands.
-
- Expecting a reroll.
- cf. <20170420101024.7593-1-pclouds@gmail.com>
- cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
- cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
-
-
-* df/dir-iter-remove-subtree (2017-04-19) 5 commits
- - remove_subtree(): reimplement using iterators
- - dir_iterator: rewrite state machine model
- - dir_iterator: refactor dir_iterator_advance
- - remove_subtree(): test removing nested directories
- - dir_iterator: add tests for dir_iterator API
-
- Update the dir-iterator API and use it to reimplement
- remove_subtree().
-
- A reroll exists that is based on the updated 'master', but I ran
- out of time trying to get it to work with other topics in flight
- in 'pu'.
- GSoC microproject.
-
-
-* ls/filter-process-delayed (2017-03-06) 1 commit
- - convert: add "status=delayed" to filter process protocol
-
- Expecting a reroll.
-
-
-* sk/dash-is-previous (2017-03-01) 5 commits
- - revert.c: delegate handling of "-" shorthand to setup_revisions
- - sha1_name.c: teach get_sha1_1 "-" shorthand for "@{-1}"
- - revision.c: args starting with "-" might be a revision
- - revision.c: swap if/else blocks
- - revision.c: do not update argv with unknown option
-
- A dash "-" can be written to mean "the branch that was previously
- checked out" in more places.
-
- Needs review.
- cf. <1488007487-12965-1-git-send-email-kannan.siddharth12@gmail.com>
-
---------------------------------------------------
-[Cooking]
-
-* ah/log-decorate-default-to-auto (2017-05-15) 1 commit
-  (merged to 'next' on 2017-05-20 at 209614479c)
- + builtin/log: honor log.decorate
-
- Setting "log.decorate=false" in the configuration file did not take
- effect in v2.13, which has been corrected.
-
- Will merge to 'master'.
+ Waiting for response.
+ cf. <CACBZZX5GYV50rjg9X602JHqFPaoofH9TwDf_-r_MDu8-rmNV6Q@mail.gmail.com>
 
 
 * jh/memihash-opt (2017-05-16) 5 commits
- - p0004: don't error out if test repo is too small
- - p0004: don't abort if multi-threaded is too slow
- - p0004: use test_perf
- - p0004: avoid using pipes
- - p0004: simplify calls of test-lazy-init-name-hash
+  (merged to 'next' on 2017-05-23 at 2f0293e8b8)
+ + p0004: don't error out if test repo is too small
+ + p0004: don't abort if multi-threaded is too slow
+ + p0004: use test_perf
+ + p0004: avoid using pipes
+ + p0004: simplify calls of test-lazy-init-name-hash
 
  perf-test update.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jk/bug-to-abort (2017-05-22) 4 commits
@@ -408,20 +533,14 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* jk/no-looking-at-dotgit-outside-repo (2017-05-15) 1 commit
- - config: complain about --local outside of a git repo
-
- Will discard.
- Superseded by jk/bug-to-abort.
-
-
 * jk/update-links-in-docs (2017-05-15) 1 commit
- - doc: use https links to Wikipedia to avoid http redirects
+  (merged to 'next' on 2017-05-23 at 5b2df9fdbe)
+ + doc: use https links to Wikipedia to avoid http redirects
 
  A few http:// links that are redirected to https:// in the
  documentation have been updated to https:// links.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * js/blame-lib (2017-05-15) 22 commits
@@ -451,38 +570,48 @@ of the repositories listed at
  The internal logic used in "git blame" has been libified to make it
  easier to use by cgit.
 
+ RFC, and is hard to review due to renaming of symbols and moving of
+ lines across files are intermixed but I think the overall direction
+ is a good one.
+
+ Expecting a rerolled non-RFC series.
+ cf. <20170514031513.9042-1-whydoubt@gmail.com>
+
 
 * jt/send-email-validate-hook (2017-05-16) 1 commit
- - send-email: support validate hook
+  (merged to 'next' on 2017-05-23 at 89848cb9ac)
+ + send-email: support validate hook
 
  "git send-email" learned to run sendemail-validate hook to inspect
  and reject a message before sending it out.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * bw/pathspec-sans-the-index (2017-05-12) 6 commits
- - pathspec: convert find_pathspecs_matching_against_index to take an index
- - pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP
- - ls-files: prevent prune_cache from overeagerly pruning submodules
- - pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag
- - submodule: add die_in_unpopulated_submodule function
- - pathspec: provide a more descriptive die message
+  (merged to 'next' on 2017-05-23 at 45c8ef3115)
+ + pathspec: convert find_pathspecs_matching_against_index to take an index
+ + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP
+ + ls-files: prevent prune_cache from overeagerly pruning submodules
+ + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag
+ + submodule: add die_in_unpopulated_submodule function
+ + pathspec: provide a more descriptive die message
 
  Simplify parse_pathspec() codepath and stop it from looking at the
  default in-core index.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jt/fetch-allow-tip-sha1-implicitly (2017-05-16) 1 commit
- - fetch-pack: always allow fetching of literal SHA1s
+  (merged to 'next' on 2017-05-23 at 690ed987df)
+ + fetch-pack: always allow fetching of literal SHA1s
 
  There is no good reason why "git fetch $there $sha1" should fail
  when the $sha1 names an object at the tip of an advertised ref,
  even when the other side hasn't enabled allowTipSHA1InWant.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jc/read-tree-empty-with-m (2017-05-10) 1 commit
@@ -498,47 +627,26 @@ of the repositories listed at
 
 
 * ab/perf-wildmatch (2017-05-12) 2 commits
- - perf: add test showing exponential growth in path globbing
- - perf: add function to setup a fresh test repo
+  (merged to 'next' on 2017-05-23 at 0adb7dac31)
+ + perf: add test showing exponential growth in path globbing
+ + perf: add function to setup a fresh test repo
 
  Add perf-test for wildmatch.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jk/doc-config-include (2017-05-12) 4 commits
- - docs/config: consistify include.path examples
- - docs/config: avoid the term "expand" for includes
- - docs/config: give a relative includeIf example
- - docs/config: clarify include/includeIf relationship
+  (merged to 'next' on 2017-05-23 at 4f60843265)
+ + docs/config: consistify include.path examples
+ + docs/config: avoid the term "expand" for includes
+ + docs/config: give a relative includeIf example
+ + docs/config: clarify include/includeIf relationship
 
  Clarify documentation for include.path and includeIf.<condition>.path
  configuration variables.
 
- Will merge to 'next'.
-
-
-* js/retire-old-remote-spec (2017-05-12) 11 commits
- . PREVIEW: remove support for .git/remotes/ and .git/branches/
- . PREVIEW: t0060: stop testing support for .git/remotes/ and .git/branches/
- . PREVIEW: t5515: remove .git/remotes/ and .git/branches/ tests
- . PREVIEW: remote: remove support for migrating ancient remotes
- . PREVIEW: t5516: stop testing .git/branches/ functionality
- . PREVIEW: t5510: convert .git/remotes/ test to use a regular remote
- . Revert "Revert "Don't create the $GIT_DIR/branches directory on init""
- . remote: warn loud and clear when .git/remotes/ is *still* used
- . remote: warn loud and clear when .git/branches/ is *still* used
- . Documentation: really deprecate .git/remotes/ and .git/branches/
- . git-parse-remote: fix highly misleading man page
-
- Stop reading from .git/remotes/ and .git/branches/, two old ways
- that we have been supporting to configure short-hands for fetching
- from remote repositories.
-
- Will discard.
- The procedure of removing an old and unused feature is correctly
- followed by this series, but it is far from clear that the feature
- this attempts to remove is unused or useless.
+ Will merge to 'master'.
 
 
 * ab/grep-preparatory-cleanup (2017-05-21) 30 commits
@@ -575,20 +683,12 @@ of the repositories listed at
 
  The internal implementation of "git grep" has seen some clean-up.
 
-
-* jt/push-options-doc (2017-05-10) 2 commits
-  (merged to 'next' on 2017-05-20 at ca7f344111)
- + receive-pack: verify push options in cert
- + docs: correct receive.advertisePushOptions default
-
- The receive-pack program now makes sure that the push certificate
- records the same set of push options used for pushing.
-
- Will merge to 'master'.
+ Will merge to 'next'.
 
 
 * dt/unpack-save-untracked-cache-extension (2017-05-20) 1 commit
- - unpack-trees: preserve index extensions
+  (merged to 'next' on 2017-05-23 at 3196d093d6)
+ + unpack-trees: preserve index extensions
 
  When "git checkout", "git merge", etc. manipulates the in-core
  index, various pieces of information in the index extensions are
@@ -598,7 +698,7 @@ of the repositories listed at
  operations now, which would speed up "git status" (as long as the
  cache is properly invalidated).
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * sg/clone-refspec-from-command-line-config (2017-05-16) 4 commits
@@ -612,6 +712,9 @@ of the repositories listed at
  variables take effect while the initial clone is happening,
  e.g. these configuration variables could be fetch refspecs.
 
+ Waiting for response.
+ cf. <xmqqa864kops.fsf@gitster.mtv.corp.google.com>
+
 
 * sb/checkout-recurse-submodules (2017-05-04) 3 commits
   (merged to 'next' on 2017-05-20 at f972b2069f)
@@ -626,41 +729,15 @@ of the repositories listed at
 
 
 * ja/do-not-ask-needless-questions (2017-05-12) 3 commits
- - git-filter-branch: be more direct in an error message
- - read-tree -m: make error message for merging 0 trees less smart aleck
- - usability: don't ask questions if no reply is required
+  (merged to 'next' on 2017-05-23 at 6b373cd892)
+ + git-filter-branch: be more direct in an error message
+ + read-tree -m: make error message for merging 0 trees less smart aleck
+ + usability: don't ask questions if no reply is required
 
  Git sometimes gives an advice in a rhetorical question that does
  not require an answer, which can confuse new users and non native
  speakers.  Attempt to rephrase them.
 
- Will merge to 'next'.
-
-
-* ab/doc-replace-gmane-links (2017-05-09) 2 commits
-  (merged to 'next' on 2017-05-20 at 2c4f96560c)
- + doc: replace more gmane links
- + doc: replace a couple of broken gmane links
-
- The Web interface to gmane news archive is long gone, even though
- the articles are still accessible via NTTP.  Replace the links with
- ones to public-inbox.org.  Because their message identification is
- based on the actual message-id, it is likely that it will be easier
- to migrate away from it if/when necessary.
-
- Will merge to 'master'.
-
-
-* ab/fix-poison-tests (2017-05-11) 3 commits
-  (merged to 'next' on 2017-05-20 at 5b13ba86bd)
- + travis-ci: add job to run tests with GETTEXT_POISON
- + travis-ci: setup "prove cache" in "script" step
- + tests: fix tests broken under GETTEXT_POISON=YesPlease
-
- Update tests to pass under GETTEXT_POISON (a mechanism to ensure
- that output strings that should not be translated are not
- translated by mistake), and tell TravisCI to run them.
-
  Will merge to 'master'.
 
 
@@ -739,26 +816,6 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* rs/checkout-am-fix-unborn (2017-05-08) 2 commits
-  (merged to 'next' on 2017-05-20 at d4f1ee3ed7)
- + am: check return value of resolve_refdup before using hash
- + checkout: check return value of resolve_refdup before using hash
-
- A few codepaths in "checkout" and "am" working on an unborn branch
- tried to access an uninitialized piece of memory.
-
- Will merge to 'master'.
-
-
-* bw/submodule-with-bs-path (2017-05-01) 1 commit
-  (merged to 'next' on 2017-05-20 at b740f784cb)
- + t7400: add !CYGWIN prerequisite to 'add with \\ in path'
-
- A hotfix to a topic that is already in v2.13.
-
- Will merge to 'master'.
-
-
 * js/plug-leaks (2017-05-09) 26 commits
   (merged to 'next' on 2017-05-20 at fb136ea2dc)
  + checkout: fix memory leak
@@ -807,14 +864,6 @@ of the repositories listed at
  Will cook in 'next'.
 
 
-* ls/travis-relays-for-windows-ci (2017-05-04) 2 commits
-  (merged to 'next' on 2017-05-20 at 47f34b78e2)
- + travis-ci: retry if Git for Windows CI returns HTTP error 502 or 503
- + travis-ci: handle Git for Windows CI status "failed" explicitly
-
- Will merge to 'master'.
-
-
 * mb/diff-default-to-indent-heuristics (2017-05-09) 4 commits
  - add--interactive: drop diff.indentHeuristic handling
  - diff: enable indent heuristic by default
@@ -824,14 +873,10 @@ of the repositories listed at
  Make the "indent" heuristics the default in "diff" and diff.indentHeuristics
  configuration variable an escape hatch for those who do no want it.
 
- Kicked out of next; it seems it is still getting review suggestions?
-
-
-* tb/dedup-crlf-tests (2017-05-10) 1 commit
-  (merged to 'next' on 2017-05-20 at 0a7ffff154)
- + t0027: tests are not expensive; remove t0025
-
- Will merge to 'master'.
+ Will merge to 'next'.
+ Looks like there may be follow-on work possible, but the topic
+ itself is in good order.
+ cf. <20170509033258.q7auj5p5lxs4tggd@sigill.intra.peff.net>
 
 
 * jc/repack-threads (2017-04-27) 1 commit
@@ -873,6 +918,10 @@ of the repositories listed at
  optional, and silently ignore errors from open/fopen; report such
  errors if they are not due to missing files.
 
+ Will merge to 'next'.
+ Looks like this is now in a good shape.
+ cf. <20170503101706.9223-1-pclouds@gmail.com>
+
 
 * bc/object-id (2017-05-08) 53 commits
   (merged to 'next' on 2017-05-20 at e7372733fb)
@@ -929,23 +978,13 @@ of the repositories listed at
  + Convert struct cache_tree to use struct object_id
  + Clean up outstanding object_id transforms.
  + fetch-pack: convert to struct object_id
+ (this branch is used by mh/packed-ref-store-prep.)
 
  Conversion from uchar[20] to struct object_id continues.
 
  Will merge to 'master'.
 
 
-* jc/checkout-working-tree-only (2017-04-27) 1 commit
- - checkout: add --working-tree-only option
-
- "git checkout <tree-ish> <pathspec>" learned a variant that does
- not update the index when doing its thing.
-
- This was more of "the world could have been like this" illustration
- rather than a "let's make this change" proposal.  Unless people
- really want it, I am inclined to discard this topic.  Opinions?
-
-
 * js/rebase-i-final (2017-05-02) 10 commits
  - rebase -i: rearrange fixup/squash lines using the rebase--helper
  - t3415: test fixup with wrapped oneline
@@ -965,25 +1004,26 @@ of the repositories listed at
 
 
 * bw/forking-and-threading (2017-05-15) 14 commits
- - usage.c: drop set_error_handle()
- - run-command: restrict PATH search to executable files
- - run-command: expose is_executable function
- - run-command: block signals between fork and execve
- - run-command: add note about forking and threading
- - run-command: handle dup2 and close errors in child
- - run-command: eliminate calls to error handling functions in child
- - run-command: don't die in child when duping /dev/null
- - run-command: prepare child environment before forking
- - string-list: add string_list_remove function
- - run-command: use the async-signal-safe execv instead of execvp
- - run-command: prepare command before forking
- - t0061: run_command executes scripts without a #! line
- - t5550: use write_script to generate post-update hook
+  (merged to 'next' on 2017-05-23 at 79a6a59851)
+ + usage.c: drop set_error_handle()
+ + run-command: restrict PATH search to executable files
+ + run-command: expose is_executable function
+ + run-command: block signals between fork and execve
+ + run-command: add note about forking and threading
+ + run-command: handle dup2 and close errors in child
+ + run-command: eliminate calls to error handling functions in child
+ + run-command: don't die in child when duping /dev/null
+ + run-command: prepare child environment before forking
+ + string-list: add string_list_remove function
+ + run-command: use the async-signal-safe execv instead of execvp
+ + run-command: prepare command before forking
+ + t0061: run_command executes scripts without a #! line
+ + t5550: use write_script to generate post-update hook
 
  The "run-command" API implementation has been made more robust
  against dead-locking in a threaded environment.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * sb/reset-recurse-submodules (2017-04-23) 4 commits
@@ -992,6 +1032,7 @@ of the repositories listed at
  + submodule.c: submodule_move_head works with broken submodules
  + submodule.c: uninitialized submodules are ignored in recursive commands
  + entry.c: submodule recursing: respect force flag correctly
+ (this branch is used by sb/submodule-blanket-recursive.)
 
  "git reset" learned "--recurse-submodules" option.
 
@@ -999,22 +1040,23 @@ of the repositories listed at
 
 
 * bp/sub-process-convert-filter (2017-05-15) 11 commits
- - convert: update subprocess_read_status() to not die on EOF
- - sub-process: move sub-process functions into separate files
- - convert: rename reusable sub-process functions
- - convert: update generic functions to only use generic data structures
- - convert: separate generic structures and variables from the filter specific ones
- - convert: split start_multi_file_filter() into two separate functions
- - pkt-line: annotate packet_writel with LAST_ARG_MUST_BE_NULL
- - convert: move packet_write_line() into pkt-line as packet_writel()
- - pkt-line: add packet_read_line_gently()
- - pkt-line: fix packet_read_line() to handle len < 0 errors
- - convert: remove erroneous tests for errno == EPIPE
+  (merged to 'next' on 2017-05-23 at 89f5420a82)
+ + convert: update subprocess_read_status() to not die on EOF
+ + sub-process: move sub-process functions into separate files
+ + convert: rename reusable sub-process functions
+ + convert: update generic functions to only use generic data structures
+ + convert: separate generic structures and variables from the filter specific ones
+ + convert: split start_multi_file_filter() into two separate functions
+ + pkt-line: annotate packet_writel with LAST_ARG_MUST_BE_NULL
+ + convert: move packet_write_line() into pkt-line as packet_writel()
+ + pkt-line: add packet_read_line_gently()
+ + pkt-line: fix packet_read_line() to handle len < 0 errors
+ + convert: remove erroneous tests for errno == EPIPE
 
  Code from "conversion using external process" codepath has been
  extracted to a separate sub-process.[ch] module.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * nd/prune-in-worktree (2017-04-24) 12 commits
@@ -1041,7 +1083,6 @@ of the repositories listed at
  Has been waiting for nd/worktree-kill-parse-ref to settle.
  cf. <CACsJy8ADCVBiLoPg_Tz0L6CMdh_eFmK4RYzfQ-PmUgBK7w9e=A@mail.gmail.com>
 
-
 --------------------------------------------------
 [Discard]
 
@@ -1057,3 +1098,42 @@ of the repositories listed at
  cf. <CACBZZX4UUwzRQmyH8joYaqHnuVTjVtGBHp+iZKcnAnwoM_ZJhg@mail.gmail.com>
 
 
+* jk/no-looking-at-dotgit-outside-repo (2017-05-15) 1 commit
+ . config: complain about --local outside of a git repo
+
+ Will discard.
+ Superseded by jk/bug-to-abort.
+
+
+* js/retire-old-remote-spec (2017-05-12) 11 commits
+ . PREVIEW: remove support for .git/remotes/ and .git/branches/
+ . PREVIEW: t0060: stop testing support for .git/remotes/ and .git/branches/
+ . PREVIEW: t5515: remove .git/remotes/ and .git/branches/ tests
+ . PREVIEW: remote: remove support for migrating ancient remotes
+ . PREVIEW: t5516: stop testing .git/branches/ functionality
+ . PREVIEW: t5510: convert .git/remotes/ test to use a regular remote
+ . Revert "Revert "Don't create the $GIT_DIR/branches directory on init""
+ . remote: warn loud and clear when .git/remotes/ is *still* used
+ . remote: warn loud and clear when .git/branches/ is *still* used
+ . Documentation: really deprecate .git/remotes/ and .git/branches/
+ . git-parse-remote: fix highly misleading man page
+
+ Stop reading from .git/remotes/ and .git/branches/, two old ways
+ that we have been supporting to configure short-hands for fetching
+ from remote repositories.
+
+ Will discard.
+ The procedure of removing an old and unused feature is correctly
+ followed by this series, but it is far from clear that the feature
+ this attempts to remove is unused or useless.
+
+
+* jc/checkout-working-tree-only (2017-04-27) 1 commit
+ . checkout: add --working-tree-only option
+
+ "git checkout <tree-ish> <pathspec>" learned a variant that does
+ not update the index when doing its thing.
+
+ Will discard.
+ This was more of "the world could have been like this" illustration
+ rather than a "let's make this change" proposal.