]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2019/02 #01)
authorJunio C Hamano <gitster@pobox.com>
Tue, 5 Feb 2019 23:34:00 +0000 (15:34 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 5 Feb 2019 23:34:00 +0000 (15:34 -0800)
whats-cooking.txt

index 20e3b1161e5a47f808ee55512179feeb02f89692..b079b2dc8c3396795bd21b29fdcf95b4aea0c77d 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Jan 2019, #05; Tue, 29)
-X-master-at: b5101f929789889c2e536d915698f58d5c5c6b7a
-X-next-at: fbb209baf1b5c34e4ec52fb4a5a73b00cfbecec1
+Subject: What's cooking in git.git (Feb 2019, #01; Tue, 5)
+X-master-at: 8feddda32cc50e928404788d7b9377c0b5f73f50
+X-next-at: b4d0f1c61aafd6cb5c3d9e6ee6bd99a036e3f21d
 
-What's cooking in git.git (Jan 2019, #05; Tue, 29)
+What's cooking in git.git (Feb 2019, #01; Tue, 5)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
@@ -12,265 +12,246 @@ 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.
 
+A handful more topics have been merged to 'master' and 'next'
+respectively.  I have been hoping to keep this cycle short compared
+to other recent cycles but there are a few smallish changes that we
+should have in the upcoming release but are still not in 'next'. We
+will see what happens.
+
 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
 
 --------------------------------------------------
-[New Topics]
-
-* ds/commit-graph-format-v2 (2019-01-29) 8 commits
- - SQUASH : misnamed variables and style fix
- - commit-graph: test verifying a corrupt v2 header
- - commit-graph: implement file format version 2
- - commit-graph: add --version=<n> option
- - commit-graph: create new version flags
- - commit-graph: collapse parameters into flags
- - commit-graph: return with errors during write
- - Merge branch 'bc/sha-256' into ds/commit-graph-format-v2
- (this branch uses ab/commit-graph-write-optim and ab/commit-graph-write-progress.)
-
- Introduce version 2 of the commit-graph format to correct
- deficiency in the initial version.
+[Graduated to "master"]
 
+* ab/commit-graph-write-optim (2019-01-22) 1 commit
+  (merged to 'next' on 2019-01-29 at 17c894dfec)
+ + commit-graph write: use pack order when finding commits
+ (this branch is used by ab/commit-graph-write-progress and ds/commit-graph-format-v2.)
 
-* ds/coverage-prove (2019-01-29) 1 commit
- - Makefile: add coverage-prove target
+ The codepath to write out commit-graph has been optimized by
+ following the usual pattern of visiting objects in in-pack order.
 
- A new target "coverage-prove" to run the coverage test under
- "prove" has been added.
 
- Will merge to 'next'.
+* ab/commit-graph-write-progress (2019-01-23) 9 commits
+  (merged to 'next' on 2019-01-29 at e086b1cba6)
+ + commit-graph write: emit a percentage for all progress
+ + commit-graph write: add itermediate progress
+ + commit-graph write: remove empty line for readability
+ + commit-graph write: add more descriptive progress output
+ + commit-graph write: show progress for object search
+ + commit-graph write: more descriptive "writing out" output
+ + commit-graph write: add "Writing out" progress output
+ + commit-graph: don't call write_graph_chunk_extra_edges() unnecessarily
+ + commit-graph: rename "large edges" to "extra edges"
+ (this branch is used by ds/commit-graph-format-v2; uses ab/commit-graph-write-optim.)
 
---------------------------------------------------
-[Graduated to "master"]
+ The codepath to show progress meter while writing out commit-graph
+ file has been improved.
 
-* md/list-objects-filter-by-depth (2019-01-15) 4 commits
- + tree:<depth>: skip some trees even when collecting omits
- + list-objects-filter: teach tree:# how to handle >0
- + Merge branch 'nd/the-index' into md/list-objects-filter-by-depth
- + Merge branch 'sb/more-repo-in-api' into md/list-objects-filter-by-depth
- (this branch is used by js/filter-options-should-use-plain-int; uses sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.)
 
- The objects-filter machinery learned "tree:<depth>" to filter
- objects up to a given depth; earlier it only supported depth=0,
- i.e. usable to create a commit-only lazy clone.
+* az/instaweb-py3-http-server (2019-01-28) 1 commit
+  (merged to 'next' on 2019-01-29 at 82f06b6774)
+ + git-instaweb: add Python builtin http.server support
 
- Will merge to 'next'.
+ "git instaweb" learned to drive http.server that comes with
+ "batteries included" Python installation (both Python2 & 3).
 
 
-* bc/sha-256 (2018-11-14) 12 commits
-  (merged to 'next' on 2019-01-18 at 3f161d31bb)
- + hash: add an SHA-256 implementation using OpenSSL
- + sha256: add an SHA-256 implementation using libgcrypt
- + Add a base implementation of SHA-256 support
- + commit-graph: convert to using the_hash_algo
- + t/helper: add a test helper to compute hash speed
- + sha1-file: add a constant for hash block size
- + t: make the sha1 test-tool helper generic
- + t: add basic tests for our SHA-1 implementation
- + cache: make hashcmp and hasheq work with larger hashes
- + hex: introduce functions to print arbitrary hashes
- + sha1-file: provide functions to look up hash algorithms
- + sha1-file: rename algorithm to "sha1"
- (this branch is used by ds/commit-graph-format-v2.)
+* bp/checkout-new-branch-optim (2019-01-23) 2 commits
+  (merged to 'next' on 2019-01-29 at 89d690634d)
+ + checkout: fix regression in checkout -b on intitial checkout
+ + checkout: add test demonstrating regression with checkout -b on initial commit
 
- Add sha-256 hash and plug it through the code to allow building Git
- with the "NewHash".
+ "git checkout -b <new> [HEAD]" to create a new branch from the
+ current commit and check it out ought to be a no-op in the index
+ and the working tree in normal cases, but there are corner cases
+ that do require updates to the index and the working tree.  Running
+ it immediately after "git clone --no-checkout" is one of these
+ cases that an earlier optimization kicked in incorrectly, which has
+ been fixed.
 
 
-* bc/tree-walk-oid (2019-01-15) 5 commits
-  (merged to 'next' on 2019-01-18 at 60c38b9e4a)
- + cache: make oidcpy always copy GIT_MAX_RAWSZ bytes
- + tree-walk: store object_id in a separate member
- + match-trees: use hashcpy to splice trees
- + match-trees: compute buffer offset correctly when splicing
- + tree-walk: copy object ID before use
+* cc/test-ref-store-typofix (2019-01-17) 1 commit
+  (merged to 'next' on 2019-01-29 at 0cd264f864)
+ + helper/test-ref-store: fix "new-sha1" vs "old-sha1" typo
 
- The code to walk tree objects has been taught that we may be
- working with object names that are not computed with SHA-1.
+ An obvious typo in an assertion error message has been fixed.
 
 
-* cc/fetch-error-message-fix (2019-01-14) 1 commit
-  (merged to 'next' on 2019-01-14 at 81078f86c0)
- + fetch: fix extensions.partialclone name in error message
+* ja/doc-style-fix (2019-01-23) 1 commit
+  (merged to 'next' on 2019-01-29 at 5b520a6fd3)
+ + doc: tidy asciidoc style
 
Error message fix.
Doc typo/stylo fixes.
 
 
-* cc/partial-clone-doc-typofix (2019-01-14) 1 commit
-  (merged to 'next' on 2019-01-14 at 0395de767e)
- + partial-clone: add missing 'is' in doc
+* jk/add-ignore-errors-bit-assignment-fix (2019-01-17) 1 commit
+  (merged to 'next' on 2019-01-29 at a4ac7ccd4f)
+ + add: use separate ADD_CACHE_RENORMALIZE flag
 
- Doc fix.
+ "git add --ignore-errors" did not work as advertised and instead
+ worked as an unintended synonym for "git add --renormalize", which
+ has been fixed.
 
 
-* it/log-format-source (2019-01-11) 1 commit
-  (merged to 'next' on 2019-01-18 at d660044e93)
- + log: add %S option (like --source) to log --format
+* jk/attr-macro-fix (2019-01-22) 1 commit
+  (merged to 'next' on 2019-01-29 at 740df172e1)
+ + attr: do not mark queried macros as unset
 
- Custom userformat "log --format" learned %S atom that stands for
- the tip the traversal reached the commit from, i.e. --source.
+ Asking "git check-attr" about a macro (e.g. "binary") on a specific
+ path did not work correctly, even though "git check-attr -a" listed
+ such a macro correctly.  This has been corrected.
 
 
-* ja/doc-build-l10n (2019-01-07) 1 commit
-  (merged to 'next' on 2019-01-18 at 5dbe5ad3d7)
- + Documentation/Makefile add optional targets for l10n
+* jk/diff-cc-stat-fixes (2019-01-24) 6 commits
+  (merged to 'next' on 2019-01-29 at 8bd04f1749)
+ + combine-diff: treat --dirstat like --stat
+ + combine-diff: treat --summary like --stat
+ + combine-diff: treat --shortstat like --stat
+ + combine-diff: factor out stat-format mask
+ + diff: clear emitted_symbols flag after use
+ + t4006: resurrect commented-out tests
 
- Prepare Documentation/Makefile so that manpage localization can
- reuse it by overriding and tweaking the list of build products.
+ "git diff --color-moved --cc --stat -p" did not work well due to
+ funny interaction between a bug in color-moved and the rest, which
+ has been fixed.
 
 
-* jk/proto-v2-hidden-refs-fix (2019-01-10) 1 commit
-  (merged to 'next' on 2019-01-18 at 875dbbc71f)
- + upload-pack: support hidden refs with protocol v2
+* js/abspath-part-inside-repo (2019-01-18) 1 commit
+  (merged to 'next' on 2019-01-29 at ac642158ec)
+ + abspath_part_inside_repo: respect core.ignoreCase
 
- The v2 upload-pack protocol implementation failed to honor
- hidden-ref configuration, which has been corrected.
An earlier attempt reverted out of 'next'.
+ On a case-insensitive filesystem, we failed to compare the part of
+ the path that is above the worktree directory in an absolute
pathname, which has been corrected.
 
 
-* jk/remote-insteadof-cleanup (2019-01-11) 1 commit
-  (merged to 'next' on 2019-01-18 at 112c93eef3)
- + remote: check config validity before creating rewrite struct
+* js/commit-graph-chunk-table-fix (2019-01-15) 3 commits
+  (merged to 'next' on 2019-01-29 at 65ea01d4f2)
+ + Makefile: correct example fuzz build
+ + commit-graph: fix buffer read-overflow
+ + commit-graph, fuzz: add fuzzer for commit-graph
 
- Code clean-up.
+ The codepath to read from the commit-graph file attempted to read
+ past the end of it when the file's table-of-contents was corrupt.
 
 
-* jk/save-getenv-result (2019-01-11) 6 commits
-  (merged to 'next' on 2019-01-18 at 429c77402a)
- + builtin_diff(): read $GIT_DIFF_OPTS closer to use
- + merge-recursive: copy $GITHEAD strings
- + init: make a copy of $GIT_DIR string
- + config: make a copy of $GIT_CONFIG string
- + commit: copy saved getenv() result
- + get_super_prefix(): copy getenv() result
+* js/filter-options-should-use-plain-int (2019-01-15) 1 commit
+  (merged to 'next' on 2019-01-18 at 6714547e6d)
+ + filter-options: expand scaled numbers
+ (this branch uses md/list-objects-filter-by-depth and sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.)
 
- There were many places the code relied on the string returned from
- getenv() to be non-volatile, which is not true, that have been
corrected.
+ Update the protocol message specification to allow only the limited
+ use of scaled quantities.  This is ensure potential compatibility
issues will not go out of hand.
 
 
-* js/add-e-clear-patch-before-stating (2019-01-15) 1 commit
-  (merged to 'next' on 2019-01-18 at 9ea7fc4b49)
- + add --edit: truncate the patch file
+* js/mingw-unc-path-w-backslashes (2019-01-18) 2 commits
+  (merged to 'next' on 2019-01-29 at 3adc177c1e)
+ + mingw: special-case arguments to `sh`
+ + mingw (t5580): document bug when cloning from backslashed UNC paths
 
- "git add -e" got confused when the change it wants to let the user
- edit is smaller than the previous change that was left over in a
temporary file.
+ In Git for Windows, "git clone \\server\share\path" etc. that uses
+ UNC paths from command line had bad interaction with its shell
emulation.
 
 
-* js/rebase-i-redo-exec (2018-12-11) 3 commits
-  (merged to 'next' on 2019-01-18 at 71be3fedb7)
- + rebase: introduce a shortcut for --reschedule-failed-exec
- + rebase: add a config option to default to --reschedule-failed-exec
- + rebase: introduce --reschedule-failed-exec
+* js/t6042-timing-fix (2019-01-17) 1 commit
+  (merged to 'next' on 2019-01-29 at 9543c96249)
+ + t6042: work around speed optimization on Windows
 
- "git rebase -i" learned to re-execute a command given with 'exec'
- to run after it failed the last time.
+ Test update.
 
 
-* jt/fetch-pack-v2 (2019-01-10) 1 commit
-  (merged to 'next' on 2019-01-18 at 75ceb55ff8)
- + fetch-pack: support protocol version 2
+* js/test-git-installed (2019-01-22) 1 commit
+  (merged to 'next' on 2019-01-29 at bab6eabb20)
+ + tests: explicitly use `test-tool.exe` on Windows
 
"git fetch-pack" now can talk the version 2 protocol.
Test fix for Windows.
 
 
-* jt/upload-pack-deepen-relative-proto-v2 (2019-01-10) 2 commits
-  (merged to 'next' on 2019-01-18 at 1483ad21db)
- + upload-pack: teach deepen-relative in protocol v2
- + fetch-pack: do not take shallow lock unnecessarily
+* jt/fetch-v2-sideband (2019-01-17) 5 commits
+  (merged to 'next' on 2019-01-29 at c8c6f11f77)
+ + tests: define GIT_TEST_SIDEBAND_ALL
+ + {fetch,upload}-pack: sideband v2 fetch response
+ + sideband: reverse its dependency on pkt-line
+ + pkt-line: introduce struct packet_writer
+ + Merge branch 'ms/packet-err-check' into jt/fetch-v2-sideband
+ (this branch uses ms/packet-err-check.)
 
- "git fetch --deepen=<more>" has been corrected to work over v2
- protocol.
+ "git fetch" and "git upload-pack" learned to send all exchange over
the sideband channel while talking the v2 protocol.
 
 
-* kg/external-diff-save-env (2019-01-11) 1 commit
-  (merged to 'next' on 2019-01-14 at 8281bbd48b)
- + diff: ensure correct lifetime of external_diff_cmd
+* jt/get-reference-with-commit-graph (2018-12-28) 1 commit
+  (merged to 'next' on 2019-01-18 at bfc4eb9411)
+ + revision: use commit graph in get_reference()
+ (this branch uses sb/more-repo-in-api; is tangled with js/filter-options-should-use-plain-int and md/list-objects-filter-by-depth.)
 
- The code to drive GIT_EXTERNAL_DIFF command relied on the string
- returned from getenv() to be non-volatile, which is not true, that
- has been corrected.
+ Micro-optimize the code that prepares commit objects to be walked
+ by "git rev-list" when the commit-graph is available.
 
 
-* ms/http-no-more-failonerror (2019-01-10) 5 commits
-  (merged to 'next' on 2019-01-18 at 8938d70b6d)
- + test: test GIT_CURL_VERBOSE=1 shows an error
- + remote-curl: unset CURLOPT_FAILONERROR
- + remote-curl: define struct for CURLOPT_WRITEFUNCTION
- + http: enable keep_error for HTTP requests
- + http: support file handles for HTTP_KEEP_ERROR
+* jt/namespaced-ls-refs-fix (2019-01-18) 1 commit
+  (merged to 'next' on 2019-01-29 at 049530f499)
+ + ls-refs: filter refs using namespace-stripped name
 
Debugging help for http transport.
Fix namespace support in protocol v2.
 
 
-* os/rebase-runs-post-checkout-hook (2019-01-02) 2 commits
-  (merged to 'next' on 2019-01-18 at a03d536318)
- + rebase: run post-checkout hook on checkout
- + t5403: simplify by using a single repository
+* ld/git-p4-shelve-update-fix (2019-01-18) 2 commits
+  (merged to 'next' on 2019-01-29 at 02e8752ec8)
+ + git-p4: handle update of moved/copied files when updating a shelve
+ + git-p4: add failing test for shelved CL update involving move/copy
 
- "git rebase" internally runs "checkout" to switch between branches,
- and the command used to call the post-checkout hook, but the
- reimplementation stopped doing so, which is getting fixed.
+ "git p4" failed to update a shelved change when there were moved
+ files, which has been corrected.
 
 
-* pw/diff-color-moved-ws-fix (2019-01-10) 9 commits
-  (merged to 'next' on 2019-01-18 at e19713c82f)
- + diff --color-moved-ws: handle blank lines
- + diff --color-moved-ws: modify allow-indentation-change
- + diff --color-moved-ws: optimize allow-indentation-change
- + diff --color-moved=zebra: be stricter with color alternation
- + diff --color-moved-ws: fix false positives
- + diff --color-moved-ws: demonstrate false positives
- + diff: allow --no-color-moved-ws
- + Use "whitespace" consistently
- + diff: document --no-color-moved
+* md/list-objects-filter-by-depth (2019-01-15) 4 commits
+ + tree:<depth>: skip some trees even when collecting omits
+ + list-objects-filter: teach tree:# how to handle >0
+ + Merge branch 'nd/the-index' into md/list-objects-filter-by-depth
+ + Merge branch 'sb/more-repo-in-api' into md/list-objects-filter-by-depth
+ (this branch is used by js/filter-options-should-use-plain-int; uses sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.)
 
- "git diff --color-moved-ws" updates.
 
+* ms/packet-err-check (2019-01-02) 2 commits
+ + pack-protocol.txt: accept error packets in any context
+ + Use packet_reader instead of packet_read_line
+ (this branch is used by jt/fetch-v2-sideband.)
 
-* sb/submodule-recursive-fetch-gets-the-tip (2018-12-09) 9 commits
-  (merged to 'next' on 2019-01-18 at 79a2809fbc)
- + fetch: ensure submodule objects fetched
- + submodule.c: fetch in submodules git directory instead of in worktree
- + submodule: migrate get_next_submodule to use repository structs
- + repository: repo_submodule_init to take a submodule struct
- + submodule: store OIDs in changed_submodule_names
- + submodule.c: tighten scope of changed_submodule_names struct
- + submodule.c: sort changed_submodule_names before searching it
- + submodule.c: fix indentation
- + sha1-array: provide oid_array_filter
+ Error checking of data sent over the pack-protocol has been
+ revamped so that error packets are always diagnosed properly.
 
- "git fetch --recurse-submodules" may not fetch the necessary commit
- that is bound to the superproject, which is getting corrected.
 
---------------------------------------------------
-[Cooking]
+* nd/fetch-compact-update (2019-01-27) 1 commit
+  (merged to 'next' on 2019-01-29 at b78e8841b0)
+ + fetch: prefer suffix substitution in compact fetch.output
 
-* js/filter-options-should-use-plain-int (2019-01-15) 1 commit
-  (merged to 'next' on 2019-01-18 at 6714547e6d)
- + filter-options: expand scaled numbers
- (this branch uses md/list-objects-filter-by-depth and sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.)
+ "git fetch" output cleanup.
 
- Update the protocol message specification to allow only the limited
- use of scaled quantities.  This is ensure potential compatibility
- issues will not go out of hand.
 
- Will merge to 'master'.
+* ph/pack-objects-mutex-fix (2019-01-28) 2 commits
+  (merged to 'next' on 2019-01-29 at 7c886f6c33)
+ + pack-objects: merge read_lock and lock in packing_data struct
+ + pack-objects: move read mutex to packing_data struct
 
+ "git pack-objects" incorrectly used uninitialized mutex, which has
+ been corrected.
 
-* jt/get-reference-with-commit-graph (2018-12-28) 1 commit
-  (merged to 'next' on 2019-01-18 at bfc4eb9411)
- + revision: use commit graph in get_reference()
- (this branch uses sb/more-repo-in-api; is tangled with js/filter-options-should-use-plain-int and md/list-objects-filter-by-depth.)
 
- Micro-optimize the code that prepares commit objects to be walked
- by "git rev-list" when the commit-graph is available.
+* pw/no-editor-in-rebase-i-implicit (2019-01-28) 1 commit
+  (merged to 'next' on 2019-01-29 at 9d06993725)
+ + implicit interactive rebase: don't run sequence editor
 
- Will merge to 'master'.
+ When GIT_SEQUENCE_EDITOR is set, the command was incorrectly
+ started when modes of "git rebase" that implicitly uses the
+ machinery for the interactive rebase are run, which has been
+ corrected.
 
 
 * sb/more-repo-in-api (2018-12-28) 23 commits
@@ -301,324 +282,332 @@ of the repositories listed at
 
  The in-core repository instances are passed through more codepaths.
 
- Will merge to 'master'.
 
+* sg/object-as-type-commit-graph-fix (2019-01-27) 1 commit
+  (merged to 'next' on 2019-01-29 at cc714a044a)
+ + object_as_type: initialize commit-graph-related fields of 'struct commit'
 
-* br/commit-tree-fully-spelled-gpg-sign-option (2019-01-22) 2 commits
- - commit-tree: add missing --gpg-sign flag
- - t7510: invoke git as part of &&-chain
+ The commit-graph facility did not work when in-core objects that
+ are promoted from unknown type to commit (e.g. a commit that is
+ accessed via a tag that refers to it) were involved, which has been
+ corrected.
 
- The documentation of "git commit-tree" said that the command
- understands "--gpg-sign" in addition to "-S", but the command line
- parser did not know about the longhand, which has been corrected.
 
- Will merge to 'next'.
+* sg/obstack-cast-function-type-fix (2019-01-17) 1 commit
+  (merged to 'next' on 2019-01-29 at 568cafa7f4)
+ + compat/obstack: fix -Wcast-function-type warnings
 
+ The compat/obstack code had casts that -Wcast-function-type
+ compilation option found questionable.
 
-* dt/cat-file-batch-ambiguous (2019-01-18) 2 commits
- - t1512: test ambiguous cat-file --batch and --batch-output
- - Do not print 'dangling' for cat-file in case of ambiguity
 
- Needswork on the tip commit.
- cf. <20190123111117.GS840@szeder.dev>
+* sg/strbuf-addbuf-cocci (2019-01-27) 1 commit
+  (merged to 'next' on 2019-01-29 at a9f7279d38)
+ + strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other
 
+ Cocci rule update.
 
-* jk/attr-macro-fix (2019-01-22) 1 commit
-  (merged to 'next' on 2019-01-29 at 740df172e1)
- + attr: do not mark queried macros as unset
+--------------------------------------------------
+[New Topics]
 
- Asking "git check-attr" about a macro (e.g. "binary") on a specific
- path did not work correctly, even though "git check-attr -a" listed
- such a macro correctly.  This has been corrected.
+* ab/diff-tree-doc-fix (2019-02-04) 1 commit
+  (merged to 'next' on 2019-02-05 at 123f48fa2e)
+ + diff-tree doc: correct & remove wrong documentation
+
+ Doc fix.
 
  Will merge to 'master'.
 
 
-* js/test-git-installed (2019-01-22) 1 commit
-  (merged to 'next' on 2019-01-29 at bab6eabb20)
- + tests: explicitly use `test-tool.exe` on Windows
+* bc/fetch-pack-clear-alternate-shallow (2019-02-04) 1 commit
+  (merged to 'next' on 2019-02-05 at 14392fb6b2)
+ + fetch-pack: clear alternate shallow when complete
 
- Test fix for Windows.
+ "git fetch" over protocol v2 that needs to make a second connection
+ to backfill tags did not clear a variable that holds shallow
+ repository information correctly, leading to an access of freed
+ piece of memory.
 
  Will merge to 'master'.
 
 
-* ph/pack-objects-mutex-fix (2019-01-28) 2 commits
-  (merged to 'next' on 2019-01-29 at 7c886f6c33)
- + pack-objects: merge read_lock and lock in packing_data struct
- + pack-objects: move read mutex to packing_data struct
+* dm/some-stdio-functions-are-macro-on-freebsd (2019-02-01) 1 commit
+ - http: cast result to FILE *
 
- "git pack-objects" incorrectly used uninitialized mutex, which has
been corrected.
+ Variants of BSD define fileno(fh) as a macro, breaking a program
that passes a "void *" to it.
 
- Will merge to 'master'.
+ Expecting a reroll.
+ cf. <49B9198C-53E5-42BD-8834-B1EDEB3332CB@usask.ca>
 
 
-* sb/submodule-abort-update-upon-config-failure (2019-01-18) 1 commit
- - git-submodule: abort if core.worktree could not be set correctly
+* en/combined-all-paths (2019-02-04) 1 commit
+ - log,diff-tree: add --combined-all-names option
 
- "git submodule update" learned to abort early when core.worktree
- for the submodule is not set correctly to prevent spreading damage.
+ Output from "diff --cc" did not show the original paths when the
+ merge involved renames.  A new option adds the paths in the
+ original trees to the output.
 
- Will merge to 'next'.
+ Expecting a reroll.
+ cf. <CABPp-BGyL5BAejK-P-EdscFdH3C6uR7e6CbgNe-9doy-mkw-vg@mail.gmail.com>
 
 
-* tb/test-lint-sed-options (2019-01-28) 1 commit
- - test-lint: only use only sed [-n] [-e command] [-f command_file]
+* js/rebase-i-redo-exec-fix (2019-02-05) 1 commit
+ - Revert "rebase: introduce a shortcut for --reschedule-failed-exec"
 
- The test lint learned to catch non-portable "sed" options.
+ For "rebase -i --reschedule-failed-exec", we do not want the "-y"
+ shortcut after all.
 
- Will merge to 'next'.
+ Waiting for a clarification for the log message.
+ cf. <xmqqzhraru5x.fsf@gitster-ct.c.googlers.com>
 
 
-* tb/utf-16-le-with-explicit-bom (2019-01-22) 1 commit
- - Support working-tree-encoding "UTF-16LE-BOM"
 
- A new encoding UTF-16LE-BOM has been invented to force encoding to
- UTF-16 with BOM in little endian byte order, which cannot be directly
- generated by using iconv.
+* ma/doc-diff-usage-fix (2019-02-04) 1 commit
+  (merged to 'next' on 2019-02-05 at 18f3f4bc59)
+ + doc-diff: don't `cd_to_toplevel`
 
- Hold.
- cf. <20190129072228.dcyyjpcgqk7c44j4@tb-raspi4>
+ Running "Documentation/doc-diff x" from anywhere other than the
+ top-level of the working tree did not show the usage string
+ correctly, which has been fixed.
 
+ Will merge to 'master'.
 
-* ja/doc-style-fix (2019-01-23) 1 commit
-  (merged to 'next' on 2019-01-29 at 5b520a6fd3)
- + doc: tidy asciidoc style
 
- Doc typo/stylo fixes.
+* nd/commit-doc (2019-02-04) 1 commit
+  (merged to 'next' on 2019-02-05 at 07b341767e)
+ + git-commit.txt: better description what it does
+
+ Doc update.
 
  Will merge to 'master'.
 
 
-* az/instaweb-py3-http-server (2019-01-28) 1 commit
-  (merged to 'next' on 2019-01-29 at 82f06b6774)
- + git-instaweb: add Python builtin http.server support
+* nd/help-align-command-desc (2019-01-31) 1 commit
+  (merged to 'next' on 2019-02-05 at 8339c1a46e)
+ + help: align the longest command in the command listing
 
- "git instaweb" learned to drive http.server that comes with
"batteries included" Python installation (both Python2 & 3).
+ Output from "git help" was not correctly aligned, which has been
fixed.
 
  Will merge to 'master'.
 
 
-* jh/trace2 (2019-01-28) 14 commits
- - trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh
- - trace2:data: add subverb for rebase
- - trace2:data: add subverb to reset command
- - trace2:data: add subverb to checkout command
- - pack-objects: add trace2 regions
- - trace2:data: add trace2 instrumentation to index read/write
- - trace2:data: add trace2 hook classification
- - trace2:data: add trace2 transport child classification
- - trace2:data: add trace2 sub-process classification
- - trace2:data: add editor/pager child classification
- - trace2:data: add trace2 regions to wt-status
- - trace2: collect platform-specific process information
- - trace2: create new combined trace facility
- - trace2: Documentation/technical/api-trace2.txt
+* rj/sparse-flags (2019-02-05) 2 commits
+  (merged to 'next' on 2019-02-05 at 7c9a7b7ee9)
+ + Makefile: improve SPARSE_FLAGS customisation
+ + config.mak.uname: remove obsolete SPARSE_FLAGS setting
 
- A more structured way to obtain execution trace has been added.
+ Use of the sparse tool got easier to customize from the command
+ line to help developers.
 
- Ready?
+ Will merge to 'master'.
 
 
-* jk/diff-cc-stat-fixes (2019-01-24) 6 commits
-  (merged to 'next' on 2019-01-29 at 8bd04f1749)
- + combine-diff: treat --dirstat like --stat
- + combine-diff: treat --summary like --stat
- + combine-diff: treat --shortstat like --stat
- + combine-diff: factor out stat-format mask
- + diff: clear emitted_symbols flag after use
- + t4006: resurrect commented-out tests
+* sg/travis-osx-brew-breakage-workaround (2019-02-04) 1 commit
+  (merged to 'next' on 2019-02-05 at 6a1d957040)
+ + travis-ci: make the OSX build jobs' 'brew update' more quiet
 
- "git diff --color-moved --cc --stat -p" did not work well due to
- funny interaction between a bug in color-moved and the rest, which
- has been fixed.
+ The way the OSX build jobs updates its build environment used the
+ "--quiet" option to "brew update" command, but it wasn't all that
+ quiet to be useful.  The use of the option has been replaced with
+ an explicit redirection to the /dev/null (which incidentally would
+ have worked around a breakage by recent updates to homebrew, which
+ has fixed itself already).
 
  Will merge to 'master'.
 
 
-* jk/unused-parameter-cleanup (2019-01-24) 8 commits
- - convert: drop path parameter from actual conversion functions
- - convert: drop len parameter from conversion checks
- - config: drop unused parameter from maybe_remove_section()
- - show_date_relative(): drop unused "tz" parameter
- - column: drop unused "opts" parameter in item_length()
- - create_bundle(): drop unused "header" parameter
- - apply: drop unused "def" parameter from find_name_gnu()
- - match-trees: drop unused path parameter from score functions
-
- Code cleanup.
-
- Will merge to 'next'.
+* sh/submodule-summary-abbrev-fix (2019-02-04) 1 commit
+  (merged to 'next' on 2019-02-05 at b45b39c30b)
+ + git-submodule.sh: shorten submodule SHA-1s using rev-parse
 
+ The "git submodule summary" subcommand showed shortened commit
+ object names by mechanically truncating them at 7-hexdigit, which
+ has been improved to let "rev-parse --short" scale the length of
+ the abbreviation with the size of the repository.
 
-* nd/fetch-compact-update (2019-01-27) 1 commit
-  (merged to 'next' on 2019-01-29 at b78e8841b0)
- + fetch: prefer suffix substitution in compact fetch.output
+ Will merge to 'master'.
 
- "git fetch" output cleanup.
+
+* sl/const (2019-02-04) 1 commit
+  (merged to 'next' on 2019-02-05 at a085045a37)
+ + various: tighten constness of some local variables
+
+ Code cleanup.
 
  Will merge to 'master'.
 
 
-* sg/object-as-type-commit-graph-fix (2019-01-27) 1 commit
-  (merged to 'next' on 2019-01-29 at cc714a044a)
- + object_as_type: initialize commit-graph-related fields of 'struct commit'
+* ss/describe-dirty-in-the-right-directory (2019-02-04) 2 commits
+  (merged to 'next' on 2019-02-05 at e4a3303e12)
+ + t6120: test for describe with a bare repository
+ + describe: setup working tree for --dirty
 
The commit-graph facility did not work when in-core objects that
- are promoted from unknown type to commit (e.g. a commit that is
accessed via a tag that refers to it) were involved, which has been
"git --work-tree=$there --git-dir=$here describe --dirty" did not
+ work correctly as it did not pay attention to the location of the
worktree specified by the user by mistake, which has been
  corrected.
 
  Will merge to 'master'.
 
+--------------------------------------------------
+[Cooking]
 
-* sg/strbuf-addbuf-cocci (2019-01-27) 1 commit
-  (merged to 'next' on 2019-01-29 at a9f7279d38)
- + strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other
+* km/init-doc-typofix (2019-01-31) 1 commit
+  (merged to 'next' on 2019-02-05 at ee90a62a1c)
+ + init docs: correct a punctuation typo
 
Cocci rule update.
Docfix.
 
  Will merge to 'master'.
 
 
-* sx/evolve (2019-01-27) 8 commits
- . evolve: add the 'git change list' command
- . evolve: implement the 'git change' command
- . evolve: add support for writing metacommits
- . evolve: add the change-table structure
. evolve: add support for parsing metacommits
- . ref-filter: add the metas namespace to ref-filter
- . sha1-array: implement oid_array_readonly_contains()
- . technical doc: add a design doc for the evolve command
+* ds/commit-graph-format-v2 (2019-01-29) 8 commits
+ - SQUASH : misnamed variables and style fix
+ - commit-graph: test verifying a corrupt v2 header
+ - commit-graph: implement file format version 2
+ - commit-graph: add --version=<n> option
- commit-graph: create new version flags
+ - commit-graph: collapse parameters into flags
+ - commit-graph: return with errors during write
+ - Merge branch 'bc/sha-256' into ds/commit-graph-format-v2
 
- The beginning of "hg evolve" mimicry.
+ Introduce version 2 of the commit-graph format to correct
+ deficiency in the initial version.
 
 
-* jk/autocrlf-overrides-eol-doc (2019-01-29) 2 commits
- - docs/config: clarify "text property" in core.eol
- - doc/gitattributes: clarify "autocrlf overrides eol"
+* ds/coverage-prove (2019-01-29) 1 commit
+ - Makefile: add coverage-prove target
 
- Documentation around core.crlf has been updated.
+ A new target "coverage-prove" to run the coverage test under
+ "prove" has been added.
 
  Will merge to 'next'.
 
 
-* pw/no-editor-in-rebase-i-implicit (2019-01-28) 1 commit
-  (merged to 'next' on 2019-01-29 at 9d06993725)
- + implicit interactive rebase: don't run sequence editor
+* br/commit-tree-fully-spelled-gpg-sign-option (2019-01-22) 2 commits
+  (merged to 'next' on 2019-02-05 at a0a1e30471)
+ + commit-tree: add missing --gpg-sign flag
+ + t7510: invoke git as part of &&-chain
 
- When GIT_SEQUENCE_EDITOR is set, the command was incorrectly
- started when modes of "git rebase" that implicitly uses the
- machinery for the interactive rebase are run, which has been
- corrected.
+ The documentation of "git commit-tree" said that the command
+ understands "--gpg-sign" in addition to "-S", but the command line
+ parser did not know about the longhand, which has been corrected.
 
  Will merge to 'master'.
 
 
-* pw/rebase-x-sanity-check (2019-01-29) 1 commit
- - rebase -x: sanity check command
+* dt/cat-file-batch-ambiguous (2019-01-31) 2 commits
+  (merged to 'next' on 2019-02-05 at 121d162945)
+ + t1512: test ambiguous cat-file --batch and --batch-output
+ + Do not print 'dangling' for cat-file in case of ambiguity
 
- "git rebase -x $cmd" did not reject multi-line command, even though
- the command is incapable of handling such a command.  It now is
- rejected upfront.
+ "git cat-file --batch" reported a dangling symbolic link by
+ mistake, when it wanted to report that a given name is ambiguous.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* ab/commit-graph-write-optim (2019-01-22) 1 commit
-  (merged to 'next' on 2019-01-29 at 17c894dfec)
- + commit-graph write: use pack order when finding commits
- (this branch is used by ab/commit-graph-write-progress and ds/commit-graph-format-v2.)
+* sb/submodule-abort-update-upon-config-failure (2019-01-18) 1 commit
+  (merged to 'next' on 2019-02-05 at 85da48a9a5)
+ + git-submodule: abort if core.worktree could not be set correctly
 
- The codepath to write out commit-graph has been optimized by
- following the usual pattern of visiting objects in in-pack order.
+ "git submodule update" learned to abort early when core.worktree
+ for the submodule is not set correctly to prevent spreading damage.
 
  Will merge to 'master'.
 
 
-* ab/commit-graph-write-progress (2019-01-23) 9 commits
-  (merged to 'next' on 2019-01-29 at e086b1cba6)
- + commit-graph write: emit a percentage for all progress
- + commit-graph write: add itermediate progress
- + commit-graph write: remove empty line for readability
- + commit-graph write: add more descriptive progress output
- + commit-graph write: show progress for object search
- + commit-graph write: more descriptive "writing out" output
- + commit-graph write: add "Writing out" progress output
- + commit-graph: don't call write_graph_chunk_extra_edges() unnecessarily
- + commit-graph: rename "large edges" to "extra edges"
- (this branch is used by ds/commit-graph-format-v2; uses ab/commit-graph-write-optim.)
+* tb/test-lint-sed-options (2019-01-28) 1 commit
+  (merged to 'next' on 2019-02-05 at dec383d823)
+ + test-lint: only use only sed [-n] [-e command] [-f command_file]
 
- The codepath to show progress meter while writing out commit-graph
- file has been improved.
+ The test lint learned to catch non-portable "sed" options.
 
  Will merge to 'master'.
 
 
-* cc/test-ref-store-typofix (2019-01-17) 1 commit
-  (merged to 'next' on 2019-01-29 at 0cd264f864)
- + helper/test-ref-store: fix "new-sha1" vs "old-sha1" typo
+* tb/utf-16-le-with-explicit-bom (2019-01-31) 1 commit
+  (merged to 'next' on 2019-02-05 at 43ac83e06e)
+ + Support working-tree-encoding "UTF-16LE-BOM"
 
- An obvious typo in an assertion error message has been fixed.
+ A new encoding UTF-16LE-BOM has been invented to force encoding to
+ UTF-16 with BOM in little endian byte order, which cannot be directly
+ generated by using iconv.
 
  Will merge to 'master'.
 
 
-* jk/add-ignore-errors-bit-assignment-fix (2019-01-17) 1 commit
-  (merged to 'next' on 2019-01-29 at a4ac7ccd4f)
- + add: use separate ADD_CACHE_RENORMALIZE flag
+* jh/trace2 (2019-02-01) 15 commits
+ - trace2: add for_each macros to clang-format
+ - trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh
+ - trace2:data: add subverb for rebase
+ - trace2:data: add subverb to reset command
+ - trace2:data: add subverb to checkout command
+ - trace2:data: pack-objects: add trace2 regions
+ - trace2:data: add trace2 instrumentation to index read/write
+ - trace2:data: add trace2 hook classification
+ - trace2:data: add trace2 transport child classification
+ - trace2:data: add trace2 sub-process classification
+ - trace2:data: add editor/pager child classification
+ - trace2:data: add trace2 regions to wt-status
+ - trace2: collect Windows-specific process information
+ - trace2: create new combined trace facility
+ - trace2: Documentation/technical/api-trace2.txt
 
- "git add --ignore-errors" did not work as advertised and instead
- worked as an unintended synonym for "git add --renormalize", which
- has been fixed.
+ A more structured way to obtain execution trace has been added.
 
- Will merge to 'master'.
+ Still needs some fix-ups.
+ cf. <d91d1d89-5759-2006-7b38-4211db5988af@jeffhostetler.com>
 
 
-* js/mingw-unc-path-w-backslashes (2019-01-18) 2 commits
-  (merged to 'next' on 2019-01-29 at 3adc177c1e)
- + mingw: special-case arguments to `sh`
- + mingw (t5580): document bug when cloning from backslashed UNC paths
+* jk/unused-parameter-cleanup (2019-01-24) 8 commits
+  (merged to 'next' on 2019-02-05 at 213400362c)
+ + convert: drop path parameter from actual conversion functions
+ + convert: drop len parameter from conversion checks
+ + config: drop unused parameter from maybe_remove_section()
+ + show_date_relative(): drop unused "tz" parameter
+ + column: drop unused "opts" parameter in item_length()
+ + create_bundle(): drop unused "header" parameter
+ + apply: drop unused "def" parameter from find_name_gnu()
+ + match-trees: drop unused path parameter from score functions
 
- In Git for Windows, "git clone \\server\share\path" etc. that uses
- UNC paths from command line had bad interaction with its shell
- emulation.
+ Code cleanup.
 
  Will merge to 'master'.
 
 
-* js/t6042-timing-fix (2019-01-17) 1 commit
-  (merged to 'next' on 2019-01-29 at 9543c96249)
- + t6042: work around speed optimization on Windows
-
- Test update.
+* sx/evolve (2019-01-27) 8 commits
+ . evolve: add the 'git change list' command
+ . evolve: implement the 'git change' command
+ . evolve: add support for writing metacommits
+ . evolve: add the change-table structure
+ . evolve: add support for parsing metacommits
+ . ref-filter: add the metas namespace to ref-filter
+ . sha1-array: implement oid_array_readonly_contains()
+ . technical doc: add a design doc for the evolve command
 
Will merge to 'master'.
The beginning of "hg evolve" mimicry.
 
 
-* jt/namespaced-ls-refs-fix (2019-01-18) 1 commit
-  (merged to 'next' on 2019-01-29 at 049530f499)
- + ls-refs: filter refs using namespace-stripped name
+* jk/autocrlf-overrides-eol-doc (2019-01-29) 2 commits
+  (merged to 'next' on 2019-02-05 at 2b372ed6e9)
+ + docs/config: clarify "text property" in core.eol
+ + doc/gitattributes: clarify "autocrlf overrides eol"
 
Fix namespace support in protocol v2.
Documentation around core.crlf has been updated.
 
  Will merge to 'master'.
 
 
-* bp/checkout-new-branch-optim (2019-01-23) 2 commits
-  (merged to 'next' on 2019-01-29 at 89d690634d)
- + checkout: fix regression in checkout -b on intitial checkout
- + checkout: add test demonstrating regression with checkout -b on initial commit
+* pw/rebase-x-sanity-check (2019-01-29) 1 commit
+  (merged to 'next' on 2019-02-05 at 9f087a617a)
+ + rebase -x: sanity check command
 
- "git checkout -b <new> [HEAD]" to create a new branch from the
- current commit and check it out ought to be a no-op in the index
- and the working tree in normal cases, but there are corner cases
- that do require updates to the index and the working tree.  Running
- it immediately after "git clone --no-checkout" is one of these
- cases that an earlier optimization kicked in incorrectly, which has
- been fixed.
+ "git rebase -x $cmd" did not reject multi-line command, even though
+ the command is incapable of handling such a command.  It now is
+ rejected upfront.
 
  Will merge to 'master'.
 
@@ -634,54 +623,43 @@ of the repositories listed at
  Is this ready for 'next'?
 
 
-* js/abspath-part-inside-repo (2019-01-18) 1 commit
-  (merged to 'next' on 2019-01-29 at ac642158ec)
- + abspath_part_inside_repo: respect core.ignoreCase
-
- On a case-insensitive filesystem, we failed to compare the part of
- the path that is above the worktree directory in an absolute
- pathname, which has been corrected.
-
- Will merge to 'master'.
-
-
 * nd/diff-parseopt (2019-01-27) 14 commits
- - diff.c: convert --raw
- - diff.c: convert -W|--[no-]function-context
- - diff.c: convert -U|--unified
- - diff.c: convert -u|-p|--patch
- - diff.c: prepare to use parse_options() for parsing
- - diff.h: avoid bit fields in struct diff_flags
- - diff.h: keep forward struct declarations sorted
- - parse-options: allow ll_callback with OPTION_CALLBACK
- - parse-options: avoid magic return codes
- - parse-options: stop abusing 'callback' for lowlevel callbacks
- - parse-options: add OPT_BITOP()
- - parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN
- - parse-options: add one-shot mode
- - parse-options.h: remove extern on function prototypes
+  (merged to 'next' on 2019-02-05 at 7c4b79aa79)
+ + diff.c: convert --raw
+ + diff.c: convert -W|--[no-]function-context
+ + diff.c: convert -U|--unified
+ + diff.c: convert -u|-p|--patch
+ + diff.c: prepare to use parse_options() for parsing
+ + diff.h: avoid bit fields in struct diff_flags
+ + diff.h: keep forward struct declarations sorted
+ + parse-options: allow ll_callback with OPTION_CALLBACK
+ + parse-options: avoid magic return codes
+ + parse-options: stop abusing 'callback' for lowlevel callbacks
+ + parse-options: add OPT_BITOP()
+ + parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN
+ + parse-options: add one-shot mode
+ + parse-options.h: remove extern on function prototypes
 
  The diff machinery, one of the oldest parts of the system, which
  long predates the parse-options API, uses fairly long and complex
  handcrafted option parser.  This is being rewritten to use the
  parse-options API.
 
- Will merge to 'next'.
+ Will cook in 'next', waiting for the remainder.
  Looking good.
 
 
-* sc/pack-redundant (2019-01-14) 5 commits
+* sc/pack-redundant (2019-02-04) 6 commits
  - pack-redundant: consistent sort method
  - pack-redundant: rename pack_list.all_objects
- - pack-redundant: remove unused functions
  - pack-redundant: new algorithm to find min packs
+ - pack-redundant: delete redundant code
+ - pack-redundant: delay creation of unique_objects
  - t5323: test cases for git-pack-redundant
 
  Update the implementation of pack-redundant for performance in a
  repository with many packfiles.
 
- Comments?
-
 
 * nd/config-move-to (2019-01-14) 7 commits
  - config.h: fix hdr-check warnings
@@ -696,50 +674,15 @@ of the repositories listed at
 
 
 * sg/travis-specific-cc (2019-01-17) 4 commits
- - travis-ci: build with the right compiler
- - travis-ci: switch to Xcode 10.1 macOS image
- - travis-ci: don't be '--quiet' when running the tests
- - .gitignore: ignore external debug symbols from GCC on macOS
+  (merged to 'next' on 2019-02-05 at 3ecb3b6755)
+ + travis-ci: build with the right compiler
+ + travis-ci: switch to Xcode 10.1 macOS image
+ + travis-ci: don't be '--quiet' when running the tests
+ + .gitignore: ignore external debug symbols from GCC on macOS
 
  The travis CI scripts have been corrected to build Git with the
  compiler(s) of our choice.
 
- Will merge to 'next'.
-
-
-* sg/obstack-cast-function-type-fix (2019-01-17) 1 commit
-  (merged to 'next' on 2019-01-29 at 568cafa7f4)
- + compat/obstack: fix -Wcast-function-type warnings
-
- The compat/obstack code had casts that -Wcast-function-type
- compilation option found questionable.
-
- Will merge to 'master'.
-
-
-* jt/fetch-v2-sideband (2019-01-17) 5 commits
-  (merged to 'next' on 2019-01-29 at c8c6f11f77)
- + tests: define GIT_TEST_SIDEBAND_ALL
- + {fetch,upload}-pack: sideband v2 fetch response
- + sideband: reverse its dependency on pkt-line
- + pkt-line: introduce struct packet_writer
- + Merge branch 'ms/packet-err-check' into jt/fetch-v2-sideband
- (this branch uses ms/packet-err-check.)
-
- "git fetch" and "git upload-pack" learned to send all exchange over
- the sideband channel while talking the v2 protocol.
-
- Will merge to 'master'.
-
-
-* ld/git-p4-shelve-update-fix (2019-01-18) 2 commits
-  (merged to 'next' on 2019-01-29 at 02e8752ec8)
- + git-p4: handle update of moved/copied files when updating a shelve
- + git-p4: add failing test for shelved CL update involving move/copy
-
- "git p4" failed to update a shelved change when there were moved
- files, which has been corrected.
-
  Will merge to 'master'.
 
 
@@ -754,99 +697,88 @@ of the repositories listed at
 
 
 * nd/the-index-final (2019-01-24) 11 commits
- - cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch
- - read-cache.c: remove the_* from index_has_changes()
- - merge-recursive.c: remove implicit dependency on the_repository
- - merge-recursive.c: remove implicit dependency on the_index
- - sha1-name.c: remove implicit dependency on the_index
- - read-cache.c: replace update_index_if_able with repo_&
- - read-cache.c: kill read_index()
- - checkout: avoid the_index when possible
- - repository.c: replace hold_locked_index() with repo_hold_locked_index()
- - notes-utils.c: remove the_repository references
- - grep: use grep_opt->repo instead of explict repo argument
+  (merged to 'next' on 2019-02-05 at 71b37c09a8)
+ + cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch
+ + read-cache.c: remove the_* from index_has_changes()
+ + merge-recursive.c: remove implicit dependency on the_repository
+ + merge-recursive.c: remove implicit dependency on the_index
+ + sha1-name.c: remove implicit dependency on the_index
+ + read-cache.c: replace update_index_if_able with repo_&
+ + read-cache.c: kill read_index()
+ + checkout: avoid the_index when possible
+ + repository.c: replace hold_locked_index() with repo_hold_locked_index()
+ + notes-utils.c: remove the_repository references
+ + grep: use grep_opt->repo instead of explict repo argument
 
  The assumption to work on the single "in-core index" instance has
  been reduced from the library-ish part of the codebase.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* jp/author-committer-config (2019-01-02) 2 commits
- - DONTMERGE
- - Add author and committer configuration settings
+* wh/author-committer-ident-config (2019-02-04) 1 commit
+ - config: allow giving separate author and committer idents
 
  Four new configuration variables {author,committer}.{name,email}
  have been introduced to override user.{name,email} in more specific
  cases.
 
- Expecting a reroll.
- cf. <xmqq1s5uk6qh.fsf@gitster-ct.c.googlers.com>
- cf. <20190128233022.GA29068@whubbs1.gaikai.biz>
-
 
 * js/rebase-am (2019-01-18) 4 commits
- - built-in rebase: call `git am` directly
- - rebase: teach `reset_head()` to optionally skip the worktree
- - rebase: avoid double reflog entry when switching branches
- - rebase: move `reset_head()` into a better spot
+  (merged to 'next' on 2019-02-05 at cb92db8ecf)
+ + built-in rebase: call `git am` directly
+ + rebase: teach `reset_head()` to optionally skip the worktree
+ + rebase: avoid double reflog entry when switching branches
+ + rebase: move `reset_head()` into a better spot
 
  Instead of going through "git-rebase--am" scriptlet to use the "am"
  backend, the built-in version of "git rebase" learned to drive the
  "am" backend directly.
 
- Will merge to 'next'.
-
-
-* ms/packet-err-check (2019-01-02) 2 commits
- + pack-protocol.txt: accept error packets in any context
- + Use packet_reader instead of packet_read_line
- (this branch is used by jt/fetch-v2-sideband.)
-
- Error checking of data sent over the pack-protocol has been
- revamped so that error packets are always diagnosed properly.
-
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * tt/bisect-in-c (2019-01-02) 7 commits
- - bisect--helper: `bisect_start` shell function partially in C
- - bisect--helper: `get_terms` & `bisect_terms` shell function in C
- - bisect--helper: `bisect_next_check` shell function in C
- - bisect--helper: `check_and_set_terms` shell function in C
- - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
- - bisect--helper: `bisect_write` shell function in C
- - bisect--helper: `bisect_reset` shell function in C
+  (merged to 'next' on 2019-02-05 at 1e5e00d24e)
+ + bisect--helper: `bisect_start` shell function partially in C
+ + bisect--helper: `get_terms` & `bisect_terms` shell function in C
+ + bisect--helper: `bisect_next_check` shell function in C
+ + bisect--helper: `check_and_set_terms` shell function in C
+ + wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
+ + bisect--helper: `bisect_write` shell function in C
+ + bisect--helper: `bisect_reset` shell function in C
 
  More code in "git bisect" has been rewritten in C.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jk/loose-object-cache-oid (2019-01-08) 11 commits
- - prefer "hash mismatch" to "sha1 mismatch"
- - sha1-file: avoid "sha1 file" for generic use in messages
- - sha1-file: prefer "loose object file" to "sha1 file" in messages
- - sha1-file: drop has_sha1_file()
- - convert has_sha1_file() callers to has_object_file()
- - sha1-file: convert pass-through functions to object_id
- - sha1-file: modernize loose header/stream functions
- - sha1-file: modernize loose object file functions
- - http: use struct object_id instead of bare sha1
- - update comment references to sha1_object_info()
- - sha1-file: fix outdated sha1 comment references
+  (merged to 'next' on 2019-02-05 at 5cbc954aa5)
+ + prefer "hash mismatch" to "sha1 mismatch"
+ + sha1-file: avoid "sha1 file" for generic use in messages
+ + sha1-file: prefer "loose object file" to "sha1 file" in messages
+ + sha1-file: drop has_sha1_file()
+ + convert has_sha1_file() callers to has_object_file()
+ + sha1-file: convert pass-through functions to object_id
+ + sha1-file: modernize loose header/stream functions
+ + sha1-file: modernize loose object file functions
+ + http: use struct object_id instead of bare sha1
+ + update comment references to sha1_object_info()
+ + sha1-file: fix outdated sha1 comment references
 
  Code clean-up.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * lt/date-human (2019-01-29) 5 commits
- - Add `human` date format tests.
- - Add `human` format to test-tool
- - Add 'human' date format documentation
- - Replace the proposed 'auto' mode with 'auto:'
- - Add 'human' date format
+  (merged to 'next' on 2019-02-05 at f2850c9fc0)
+ + Add `human` date format tests.
+ + Add `human` format to test-tool
+ + Add 'human' date format documentation
+ + Replace the proposed 'auto' mode with 'auto:'
+ + Add 'human' date format
 
  A new date format "--date=human" that morphs its output depending
  on how far the time is from the current time has been introduced.
@@ -854,7 +786,7 @@ of the repositories listed at
  going to the pager or to the terminal and otherwise the default
  format.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * ds/midx-expire-repack (2019-01-27) 10 commits
@@ -877,20 +809,23 @@ of the repositories listed at
 
 
 * ds/push-sparse-tree-walk (2019-01-17) 5 commits
- - pack-objects: create GIT_TEST_PACK_SPARSE
- - pack-objects: create pack.useSparse setting
- - revision: implement sparse algorithm
- - list-objects: consume sparse tree walk
- - revision: add mark_tree_uninteresting_sparse
+  (merged to 'next' on 2019-02-05 at 9fd04c84d6)
+ + pack-objects: create GIT_TEST_PACK_SPARSE
+ + pack-objects: create pack.useSparse setting
+ + revision: implement sparse algorithm
+ + list-objects: consume sparse tree walk
+ + revision: add mark_tree_uninteresting_sparse
 
  "git pack-objects" learned another algorithm to compute the set of
  objects to send, that trades the resulting packfile off to save
  traversal cost to favor small pushes.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* tg/checkout-no-overlay (2019-01-08) 8 commits
+* tg/checkout-no-overlay (2019-02-04) 9 commits
+  (merged to 'next' on 2019-02-04 at 9968bcf4fb)
+ + revert "checkout: introduce checkout.overlayMode config"
   (merged to 'next' on 2019-01-18 at 1e2a79ba5c)
  + checkout: introduce checkout.overlayMode config
  + checkout: introduce --{,no-}overlay option
@@ -906,23 +841,12 @@ of the repositories listed at
  match the pathspec that are in the current index and working tree
  and are not in the tree-ish.
 
- Will merge to 'master'.
-
-
-* js/commit-graph-chunk-table-fix (2019-01-15) 3 commits
-  (merged to 'next' on 2019-01-29 at 65ea01d4f2)
- + Makefile: correct example fuzz build
- + commit-graph: fix buffer read-overflow
- + commit-graph, fuzz: add fuzzer for commit-graph
-
- The codepath to read from the commit-graph file attempted to read
- past the end of it when the file's table-of-contents was corrupt.
-
- Will merge to 'master'.
+ Will hold.
+ Waiting for "restore-files" & "switch-branches" pair.
+ cf. <20190205204208.GC6085@hank.intra.tgummerer.com>
 
 
-* dl/merge-cleanup-scissors-fix (2019-01-27) 5 commits
- - init docs: correct a punctuation typo
+* dl/merge-cleanup-scissors-fix (2019-01-27) 4 commits
  - merge: add scissors line on merge conflict
  - merge: cleanup messages like commit
  - t7600: clean up 'merge --squash c3 with c7' test
@@ -934,7 +858,7 @@ of the repositories listed at
  out just like the list of updated paths and other information to
  help the user explain the merge better.
 
- Comments?
+ Will merge to 'next'.
 
 
 * aw/pretty-trailers (2019-01-29) 7 commits
@@ -964,19 +888,20 @@ of the repositories listed at
 
 
 * en/rebase-merge-on-sequencer (2019-01-07) 8 commits
- - rebase: implement --merge via the interactive machinery
- - rebase: define linearization ordering and enforce it
- - git-legacy-rebase: simplify unnecessary triply-nested if
- - git-rebase, sequencer: extend --quiet option for the interactive machinery
- - am, rebase--merge: do not overlook --skip'ed commits with post-rewrite
- - t5407: add a test demonstrating how interactive handles --skip differently
- - rebase: fix incompatible options error message
- - rebase: make builtin and legacy script error messages the same
+  (merged to 'next' on 2019-02-05 at 88823d7c86)
+ + rebase: implement --merge via the interactive machinery
+ + rebase: define linearization ordering and enforce it
+ + git-legacy-rebase: simplify unnecessary triply-nested if
+ + git-rebase, sequencer: extend --quiet option for the interactive machinery
+ + am, rebase--merge: do not overlook --skip'ed commits with post-rewrite
+ + t5407: add a test demonstrating how interactive handles --skip differently
+ + rebase: fix incompatible options error message
+ + rebase: make builtin and legacy script error messages the same
 
  "git rebase --merge" as been reimplemented by reusing the internal
  machinery used for "git rebase -i".
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * dl/remote-save-to-push (2018-12-11) 1 commit
@@ -1008,10 +933,11 @@ of the repositories listed at
  Some errors from the other side coming over smart HTTP transport
  were not noticed, which has been corrected.
 
- Will merge to 'next'.
+ This needs to be rebased on top of a more recent 'master' that has
+ ms/packet-err-check.
 
 
-* nb/branch-show-other-worktrees-head (2019-01-23) 3 commits
+* nb/branch-show-other-worktrees-head (2019-02-01) 3 commits
  - branch: add an extra verbose output displaying worktree path for refs checked out in a linked worktree
  - branch: mark and color a branch differently if it is checked out in a linked worktree
  - ref-filter: add worktreepath atom
@@ -1021,35 +947,36 @@ of the repositories listed at
  '+', similar to the way the currently checked out branch is shown
  with '*' in front.
 
- The second one is of dubious value.  Needs sign-off.
+ The second one is of dubious value.
 
 
 * js/vsts-ci (2019-01-29) 21 commits
- - ci: parallelize testing on Windows
- - ci: speed up Windows phase
- - tests: optionally skip bin-wrappers/
- - t0061: workaround issues with --with-dashes and RUNTIME_PREFIX
- - tests: add t/helper/ to the PATH with --with-dashes
- - mingw: try to work around issues with the test cleanup
- - tests: include detailed trace logs with --write-junit-xml upon failure
- - tests: avoid calling Perl just to determine file sizes
- - README: add a build badge (status of the Azure Pipelines build)
- - mingw: be more generous when wrapping up the setitimer() emulation
- - ci: use git-sdk-64-minimal build artifact
- - ci: add a Windows job to the Azure Pipelines definition
- - Add a build definition for Azure DevOps
- - ci/lib.sh: add support for Azure Pipelines
- - tests: optionally write results as JUnit-style .xml
- - test-date: add a subcommand to measure times in shell scripts
- - ci: use a junction on Windows instead of a symlink
- - ci: inherit --jobs via MAKEFLAGS in run-build-and-tests
- - ci/lib.sh: encapsulate Travis-specific things
- - ci: rename the library of common functions
- - travis: fix skipping tagged releases
+  (merged to 'next' on 2019-02-05 at 7297a734c7)
+ + ci: parallelize testing on Windows
+ + ci: speed up Windows phase
+ + tests: optionally skip bin-wrappers/
+ + t0061: workaround issues with --with-dashes and RUNTIME_PREFIX
+ + tests: add t/helper/ to the PATH with --with-dashes
+ + mingw: try to work around issues with the test cleanup
+ + tests: include detailed trace logs with --write-junit-xml upon failure
+ + tests: avoid calling Perl just to determine file sizes
+ + README: add a build badge (status of the Azure Pipelines build)
+ + mingw: be more generous when wrapping up the setitimer() emulation
+ + ci: use git-sdk-64-minimal build artifact
+ + ci: add a Windows job to the Azure Pipelines definition
+ + Add a build definition for Azure DevOps
+ + ci/lib.sh: add support for Azure Pipelines
+ + tests: optionally write results as JUnit-style .xml
+ + test-date: add a subcommand to measure times in shell scripts
+ + ci: use a junction on Windows instead of a symlink
+ + ci: inherit --jobs via MAKEFLAGS in run-build-and-tests
+ + ci/lib.sh: encapsulate Travis-specific things
+ + ci: rename the library of common functions
+ + travis: fix skipping tagged releases
 
  Prepare to run test suite on Azure Pipeline.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * du/branch-show-current (2018-10-26) 1 commit
@@ -1093,7 +1020,8 @@ of the repositories listed at
  around in-core to avoid rewriting the same file over and over
  unnecessarily.
 
- Comments?
+ Still being worked on.
+ cf. <c5e3c1cc-12fa-ddf6-7008-ae47659ddc19@gmail.com>
 
 
 * js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit
@@ -1106,7 +1034,8 @@ of the repositories listed at
  cf. <e5b2900a-0558-d3bf-8ea1-d526b078bbc2@talktalk.net>
 
 
-* ps/stash-in-c (2019-01-18) 28 commits
+* ps/stash-in-c (2019-02-04) 29 commits
+ - strbuf_vinsertf: provide the correct buffer size to vsnprintf
  - stash: fix segmentation fault when files were added with intent
  - tests: add a special setup where stash.useBuiltin is off
  - stash: optionally use the scripted version again
@@ -1138,7 +1067,11 @@ of the repositories listed at
 
  "git stash" rewritten in C.
 
- Will merge to 'next'.
+ On hold, waiting for a response
+ cf. <xmqqzhraru5x.fsf@gitster-ct.c.googlers.com>
+ I personally do not mind "oops, this was wrong and I am too lazy to
+ redo the history to clean it up" too much, but waiting briefly to
+ give the final chance to do so.
 
 
 * pw/add-p-select (2018-07-26) 4 commits