]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2018/07 #02)
authorJunio C Hamano <gitster@pobox.com>
Wed, 18 Jul 2018 22:03:27 +0000 (15:03 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 18 Jul 2018 22:03:27 +0000 (15:03 -0700)
whats-cooking.txt

index cb93e40182de32bbad3c32c58c9414e6779c9e26..1905c2332282c987cfa71e5a8760cbd7e6bfa481 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Jul 2018, #01; Wed, 11)
-X-master-at: e3331758f12da22f4103eec7efe1b5304a9be5e9
-X-next-at: 985f88cf7ec28de3542ce98ac5b660da6e59caf0
+Subject: What's cooking in git.git (Jul 2018, #02; Wed, 18)
+X-master-at: b7bd9486b055c3f967a870311e704e3bb0654e4f
+X-next-at: 5c9ce644c390ec4ef3ba4adc94e7f4af17ade36b
 
-What's cooking in git.git (Jul 2018, #01; Wed, 11)
+What's cooking in git.git (Jul 2018, #02; Wed, 18)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
@@ -12,19 +12,651 @@ 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 it currently has only 4
-topics.  Quite a many topics are cooking in 'pu' and need to be
-sifted into good bins (for 'next') and the remainder.  Help is
-appreciated in that area ;-)
+Many topics have moved to 'master' and 'next' from 'next' to 'pu'
+respectively.  As I needed to re-resolve semantic merge conflicts
+while reordering some topics (i.e. some that were merged earlier in
+'pu' are left in 'pu' while another topic that had interactions with
+them and required evil merge to resolve semantic conflicts
+leapfrogged to 'next'---the semantic conflict resolution then need
+to happen at a different merge than done earlier in 'pu' while
+rebuilding today's integration), I didn't have enough time to spend
+on new topics posted to the list in the past few days.
 
 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"]
+
+* ao/config-from-gitmodules (2018-06-26) 6 commits
+  (merged to 'next' on 2018-07-11 at 5d88dc6fb7)
+ + submodule-config: reuse config_from_gitmodules in repo_read_gitmodules
+ + submodule-config: pass repository as argument to config_from_gitmodules
+ + submodule-config: make 'config_from_gitmodules' private
+ + submodule-config: add helper to get 'update-clone' config from .gitmodules
+ + submodule-config: add helper function to get 'fetch' config from .gitmodules
+ + config: move config_from_gitmodules to submodule-config.c
+
+ Tighten the API to make it harder to misuse in-tree .gitmodules
+ file, even though it shares the same syntax with configuration
+ files, to read random configuration items from it.
+
+
+* bw/config-refer-to-gitsubmodules-doc (2018-06-21) 1 commit
+  (merged to 'next' on 2018-06-29 at da6f49d292)
+ + docs: link to gitsubmodules
+
+ Docfix.
+
+
+* bw/protocol-v2 (2018-06-22) 1 commit
+  (merged to 'next' on 2018-06-29 at 78090cc343)
+ + protocol-v2 doc: put HTTP headers after request
+
+ Doc fix.
+
+
+* dj/runtime-prefix (2018-06-26) 1 commit
+  (merged to 'next' on 2018-07-11 at 27d99fef94)
+ + Makefile: tweak sed invocation
+
+ POSIX portability fix in Makefile to fix a glitch introduced a few
+ releases ago.
+
+
+* ds/commit-graph (2018-06-28) 1 commit
+  (merged to 'next' on 2018-07-11 at d579f733ed)
+ + commit-graph: fix documentation inconsistencies
+
+ Docfix.
+
+
+* ds/ewah-cleanup (2018-06-21) 10 commits
+  (merged to 'next' on 2018-06-28 at 9cd7c0d54a)
+ + ewah: delete unused 'rlwit_discharge_empty()'
+ + ewah: drop ewah_serialize_native function
+ + ewah: drop ewah_deserialize function
+ + ewah_io: delete unused 'ewah_serialize()'
+ + ewah_bitmap: delete unused 'ewah_or()'
+ + ewah_bitmap: delete unused 'ewah_not()'
+ + ewah_bitmap: delete unused 'ewah_and_not()'
+ + ewah_bitmap: delete unused 'ewah_and()'
+ + ewah/bitmap.c: delete unused 'bitmap_each_bit()'
+ + ewah/bitmap.c: delete unused 'bitmap_clear()'
+
+ Originally merged to 'next' on 2018-06-22
+
+ Remove unused function definitions and declarations from ewah
+ bitmap subsystem.
+
+
+* en/merge-recursive-cleanup (2018-06-12) 6 commits
+  (merged to 'next' on 2018-06-28 at 1a3646eb7d)
+ + merge-recursive: add pointer about unduly complex looking code
+ + merge-recursive: rename conflict_rename_*() family of functions
+ + merge-recursive: clarify the rename_dir/RENAME_DIR meaning
+ + merge-recursive: align labels with their respective code blocks
+ + merge-recursive: fix numerous argument alignment issues
+ + merge-recursive: fix miscellaneous grammar error in comment
+
+ Originally merged to 'next' on 2018-06-19
+
+ Code cleanup.
+
+
+* en/rebase-i-microfixes (2018-06-27) 3 commits
+  (merged to 'next' on 2018-07-11 at d913ca0f77)
+ + git-rebase--merge: modernize "git-$cmd" to "git $cmd"
+ + Fix use of strategy options with interactive rebases
+ + t3418: add testcase showing problems with rebase -i and strategy options
+
+ Will merge to 'master'.
+
+
+* jk/branch-l-0-deprecation (2018-06-22) 3 commits
+  (merged to 'next' on 2018-06-29 at fac676dfb9)
+ + branch: deprecate "-l" option
+ + t: switch "branch -l" to "branch --create-reflog"
+ + t3200: unset core.logallrefupdates when testing reflog creation
+ (this branch is used by jk/branch-l-1-repurpose.)
+
+ The "-l" option in "git branch -l" is an unfortunate short-hand for
+ "--create-reflog", but many users, both old and new, somehow expect
+ it to be something else, perhaps "--list".  This step warns when "-l"
+ is used as a short-hand for "--create-reflog" and warns about the
+ future repurposing of the it when it is used.
+
+
+* js/enhanced-version-info (2018-06-29) 1 commit
+  (merged to 'next' on 2018-07-11 at 815b2ea2bc)
+ + Makefile: fix the "built from commit" code
+
+ Build fix.
+
+
+* js/rebase-recreate-merge (2018-06-27) 1 commit
+  (merged to 'next' on 2018-07-11 at eb8f33aaef)
+ + rebase: fix documentation formatting
+
+ Docfix.
+
+
+* jt/remove-pack-bitmap-global (2018-06-21) 2 commits
+  (merged to 'next' on 2018-06-29 at 852857b04e)
+ + pack-bitmap: add free function
+ + pack-bitmap: remove bitmap_git global variable
+
+ The effort to move globals to per-repository in-core structure
+ continues.
+
+
+* ld/p423 (2018-06-19) 6 commits
+  (merged to 'next' on 2018-06-29 at af76acb664)
+ + git-p4: python3: fix octal constants
+ + git-p4: python3: use print() function
+ + git-p4: python3: basestring workaround
+ + git-p4: python3: remove backticks
+ + git-p4: python3: replace dict.has_key(k) with "k in dict"
+ + git-p4: python3: replace <> with !=
+
+ Code preparation to make "git p4" closer to be usable with Python 3.
+
+
+* mb/filter-branch-optim (2018-06-26) 1 commit
+  (merged to 'next' on 2018-07-11 at e43a0136c2)
+ + filter-branch: skip commits present on --state-branch
+
+ "git filter-branch" when used with the "--state-branch" option
+ still attempted to rewrite the commits whose filtered result is
+ known from the previous attempt (which is recorded on the state
+ branch); the command has been corrected not to waste cycles doing
+ so.
+
+
+* ms/core-icase-doc (2018-06-28) 1 commit
+  (merged to 'next' on 2018-07-11 at 8f0d71c32d)
+ + Documentation: declare "core.ignoreCase" as internal variable
+
+ Clarify that setting core.ignoreCase to deviate from reality would
+ not turn a case-incapable filesystem into a case-capable one.
+
+
+* pw/rebase-i-keep-reword-after-conflict (2018-06-19) 1 commit
+  (merged to 'next' on 2018-06-29 at 538337be74)
+ + sequencer: do not squash 'reword' commits when we hit conflicts
+
+ Bugfix for "rebase -i" corner case regression.
+
+
+* sb/mailmap (2018-06-29) 1 commit
+  (merged to 'next' on 2018-07-11 at d9dc53e374)
+ + .mailmap: merge different spellings of names
+
+ Will merge to 'master'.
+
+
+* sb/object-store-grafts (2018-05-18) 19 commits
+  (merged to 'next' on 2018-06-28 at 02f70d6302)
+ + commit: allow lookup_commit_graft to handle arbitrary repositories
+ + commit: allow prepare_commit_graft to handle arbitrary repositories
+ + shallow: migrate shallow information into the object parser
+ + path.c: migrate global git_path_* to take a repository argument
+ + cache: convert get_graft_file to handle arbitrary repositories
+ + commit: convert read_graft_file to handle arbitrary repositories
+ + commit: convert register_commit_graft to handle arbitrary repositories
+ + commit: convert commit_graft_pos() to handle arbitrary repositories
+ + shallow: add repository argument to is_repository_shallow
+ + shallow: add repository argument to check_shallow_file_for_update
+ + shallow: add repository argument to register_shallow
+ + shallow: add repository argument to set_alternate_shallow_file
+ + commit: add repository argument to lookup_commit_graft
+ + commit: add repository argument to prepare_commit_graft
+ + commit: add repository argument to read_graft_file
+ + commit: add repository argument to register_commit_graft
+ + commit: add repository argument to commit_graft_pos
+ + object: move grafts to object parser
+ + object-store: move object access functions to object-store.h
+ (this branch is used by jt/commit-graph-per-object-store and sb/object-store-lookup.)
+
+ Originally merged to 'next' on 2018-06-22
+
+ The conversion to pass "the_repository" and then "a_repository"
+ throughout the object access API continues.
+
+
+* sb/submodule-core-worktree (2018-06-19) 3 commits
+  (merged to 'next' on 2018-06-28 at 96e1a8dbd1)
+ + submodule deinit: unset core.worktree
+ + submodule: ensure core.worktree is set after update
+ + submodule: unset core.worktree if no working tree is present
+
+ Originally merged to 'next' on 2018-06-22
+
+ "git submodule" did not correctly adjust core.worktree setting that
+ indicates whether/where a submodule repository has its associated
+ working tree across various state transitions, which has been
+ corrected.
+
+
+* tb/grep-column (2018-06-22) 7 commits
+  (merged to 'next' on 2018-06-29 at 25dc70426e)
+ + contrib/git-jump/git-jump: jump to exact location
+ + grep.c: add configuration variables to show matched option
+ + builtin/grep.c: add '--column' option to 'git-grep(1)'
+ + grep.c: display column number of first match
+ + grep.[ch]: extend grep_opt to allow showing matched column
+ + grep.c: expose {,inverted} match column in match_line()
+ + Documentation/config.txt: camel-case lineNumber for consistency
+ (this branch is used by tb/grep-only-matching.)
+
+ "git grep" learned the "--column" option that gives not just the
+ line number but the column number of the hit.
+
+
+* tz/exclude-doc-smallfixes (2018-06-27) 2 commits
+  (merged to 'next' on 2018-07-11 at 5134f1ca72)
+ + dir.c: fix typos in core.excludesfile comment
+ + gitignore.txt: clarify default core.excludesfile path
+
+ Doc updates.
+
+
+* vs/typofixes (2018-06-22) 1 commit
+  (merged to 'next' on 2018-06-29 at 665c8db2f7)
+ + Documentation: spelling and grammar fixes
+
+ Doc fix.
+
+
+* xy/format-patch-prereq-patch-id-fix (2018-06-19) 1 commit
+  (merged to 'next' on 2018-06-29 at 0dffc46ce2)
+ + format-patch: clear UNINTERESTING flag before prepare_bases
+
+ Recently added "--base" option to "git format-patch" command did
+ not correctly generate prereq patch ids.
+
 --------------------------------------------------
 [New Topics]
 
+* am/sequencer-author-script-fix (2018-07-18) 1 commit
+ - sequencer.c: terminate the last line of author-script properly
+
+ The author-script that records the author information created by
+ the sequencer machinery lacked the closing single quote on the last
+ entry.
+
+ Fixing this alone may or may not break the reader that may have
+ been compensating for this bogus writer.  I think I saw another fix
+ to the same source file posted today---if we are fixing, we should
+ fix them all at the same time to keep the reader and the writer in
+ sync.
+
+
+* bc/sequencer-export-work-tree-as-well (2018-07-16) 1 commit
+ - sequencer: pass absolute GIT_WORK_TREE to exec commands
+
+ "git rebase" started exporting GIT_DIR environment variable and
+ exposing it to hook scripts when part of it got rewritten in C.
+ Instead of matching the old scripted Porcelains' behaviour,
+ compensate by also exporting GIT_WORK_TREE environment as well to
+ lessen the damage.  This can harm existing hooks that want to
+ operate on different repository, but the current behaviour is
+ already broken for them anyway.
+
+ Will merge to 'next'.
+
+
+* bp/test-drop-caches-for-windows (2018-07-12) 1 commit
+ - handle lower case drive letters on Windows
+
+ A test helper update for Windows.
+
+ Will merge to 'next'.
+
+
+* en/abort-df-conflict-fixes (2018-07-16) 2 commits
+ - read-cache: fix directory/file conflict handling in read_index_unmerged()
+ - t1015: demonstrate directory/file conflict recovery failures
+
+ "git merge --abort" etc. did not clean things up properly when
+ there were conflicted entries in certain order that are involved
+ in D/F conflicts.  This has been corrected.
+
+ This may have to be rebased on an older maintenance track before
+ moving forward.
+
+
+* es/chain-lint-in-subshell (2018-07-17) 10 commits
+ - t/chainlint: add chainlint "specialized" test cases
+ - t/chainlint: add chainlint "complex" test cases
+ - t/chainlint: add chainlint "cuddled" test cases
+ - t/chainlint: add chainlint "loop" and "conditional" test cases
+ - t/chainlint: add chainlint "nested subshell" test cases
+ - t/chainlint: add chainlint "one-liner" test cases
+ - t/chainlint: add chainlint "whitespace" test cases
+ - t/chainlint: add chainlint "basic" test cases
+ - t/Makefile: add machinery to check correctness of chainlint.sed
+ - t/test-lib: teach --chain-lint to detect broken &&-chains in subshells
+ (this branch uses es/test-fixes.)
+
+ Look for broken "&&" chains that are hidden in subshell, many of
+ which have been found and corrected.
+
+ Will merge to 'next'.
+
+
+* es/test-lint-one-shot-export (2018-07-16) 5 commits
+  (merged to 'next' on 2018-07-18 at 26a6124963)
+ + t/check-non-portable-shell: detect "FOO=bar shell_func"
+ + t/check-non-portable-shell: make error messages more compact
+ + t/check-non-portable-shell: stop being so polite
+ + t6046/t9833: fix use of "VAR=VAL cmd" with a shell function
+ + Merge branch 'jc/t3404-one-shot-export-fix' into es/test-lint-one-shot-export
+ (this branch uses jc/t3404-one-shot-export-fix.)
+
+ Look for broken use of "vAR=VAL shell_func" in test scripts as part
+ of test-lint.
+
+ Will merge to 'master'.
+
+
+* hs/gpgsm (2018-07-18) 7 commits
+ - gpg-interface t: extend the existing GPG tests with GPGSM
+ - gpg-interface: introduce new signature format "x509" using gpgsm
+ - gpg-interface: introduce new config to select per gpg format program
+ - gpg-interface: do not hardcode the key string len anymore
+ - gpg-interface: introduce an abstraction for multiple gpg formats
+ - t/t7510: check the validation of the new config gpg.format
+ - gpg-interface: add new config to select how to sign a commit
+ (this branch uses hs/push-cert-check-cleanup.)
+
+ Teach "git tag -s" etc. a few configuration varaibles (gpg.format
+ that can be set to "openpgp" or "x509", and gpg.<format>.program
+ that is used to specify what program to use to deal with the format)
+ to allow x.509 certs with CMS via "gpgsm" to be used instead of
+ openpgp via "gnupg".
+
+ I think this round is mostly ready, except for a minor nit in the
+ last step.  I do not mind merging this to 'next' and leave fixing
+ of the test to a later clean-up.
+
+
+* jc/t3404-one-shot-export-fix (2018-07-12) 1 commit
+  (merged to 'next' on 2018-07-18 at e15a79dca7)
+ + t3404: fix use of "VAR=VAL cmd" with a shell function
+ (this branch is used by es/test-lint-one-shot-export.)
+
+ Correct a broken use of "VAR=VAL shell_func" in a test.
+
+ Will merge to 'master'.
+
+
+* jk/has-uncommitted-changes-fix (2018-07-11) 1 commit
+ - has_uncommitted_changes(): fall back to empty tree
+
+ "git pull --rebase" on a corrupt HEAD caused a segfault.  In
+ general we substitute an empty tree object when running the in-core
+ equivalent of the diff-index command, and the codepath has been
+ corrected to do so as well to fix this issue.
+
+ Will merge to 'next'.
+
+
+* jm/send-email-tls-auth-on-batch (2018-07-16) 1 commit
+ - send-email: fix tls AUTH when sending batch
+
+ "git send-email" when using in a batched mode that limits the
+ number of messages sent in a single SMTP session lost the contents
+ of the variable used to choose between tls/ssl, unable to send the
+ second and later batches, which has been fixed.
+
+ Will merge to 'next'.
+
+ This is marked to be merged to 'next' already, but I do not mind
+ getting an updated version with an improved log message before that
+ happens.
+
+
+* jn/gc-auto (2018-07-17) 3 commits
+ - gc: do not return error for prior errors in daemonized mode
+ - gc: exit with status 128 on failure
+ - gc: improve handling of errors reading gc.log
+
+ "gc --auto" ended up calling exit(-1) upon error, which has been
+ corrected to use exit(1).  Also the error reporting behaviour when
+ daemonized has been updated to exit with zero status when stopping
+ due to a previously discovered error (which implies there is no
+ point running gc to improve the situation); we used to exit with
+ failure in such a case.
+
+ Under discussion.
+ cf. <20180717201348.GD26218@sigill.intra.peff.net>
+
+
+* js/rebase-merge-octopus (2018-07-11) 3 commits
+ - rebase --rebase-merges: adjust man page for octopus support
+ - rebase --rebase-merges: add support for octopus merges
+ - merge: allow reading the merge commit message from a file
+
+ "git rebase --rebase-merges" mode now handles octopus merges as
+ well.
+
+ Will merge to 'next'.
+
+
+* jt/fetch-negotiator-skipping (2018-07-16) 1 commit
+ - negotiator/skipping: skip commits during fetch
+ (this branch uses jt/fetch-pack-negotiator; is tangled with jt/fetch-nego-tip.)
+
+ Add a server-side knob to skip commits in exponential/fibbonacci
+ stride in an attempt to cover wider swath of history with a smaller
+ number of iterations, potentially accepting a larger packfile
+ transfer, instead of going back one commit a time during common
+ ancestor discovery during the "git fetch" transaction.
+
+ Will merge to 'next'.
+
+
+* jt/tags-to-promised-blobs-fix (2018-07-16) 2 commits
+ - tag: don't warn if target is missing but promised
+ - revision: tolerate promised targets of tags
+ (this branch uses bw/ref-in-want, jt/connectivity-check-after-unshallow and jt/partial-clone-fsck-connectivity.)
+
+ The lazy clone support had a few places where missing but promised
+ objects were not correctly tolerated, which have been fixed.
+
+ Will merge to 'next'.
+
+
+* nd/command-list (2018-07-16) 1 commit
+  (merged to 'next' on 2018-07-18 at 77ed2a3914)
+ + vcbuild/README: update to accommodate for missing common-cmds.h
+
+ Build doc update for Windows.
+
+ Will merge to 'master'.
+
+
+* sb/blame-color (2018-07-16) 1 commit
+  (merged to 'next' on 2018-07-18 at c319268502)
+ + blame: prefer xsnprintf to strcpy for colors
+
+ Code clean-up.
+
+ Will merge to 'master'.
+
+
+* sb/submodule-update-in-c (2018-07-17) 6 commits
+ - submodule--helper: introduce new update-module-mode helper
+ - builtin/submodule--helper: factor out method to update a single submodule
+ - builtin/submodule--helper: store update_clone information in a struct
+ - builtin/submodule--helper: factor out submodule updating
+ - git-submodule.sh: rename unused variables
+ - git-submodule.sh: align error reporting for update mode to use path
+
+ "git submodule update" is getting rewritten piece-by-piece into C.
+
+ It seems to pass its own self-tests standalone, but seems to break
+ horribly when merged to 'pu'.
+
+
+* sg/httpd-test-unflake (2018-07-12) 3 commits
+ - t/lib-httpd: avoid occasional failures when checking access.log
+ - t/lib-httpd: add the strip_access_log() helper function
+ - t5541: clean up truncating access log
+
+ httpd tests saw occasional breakage due to the way its access log
+ gets inspected by the tests, which has been updated to make them
+ less flaky.
+
+ Will merge to 'next'.
+
+
+* sl/commit-dry-run-with-short-output-fix (2018-07-17) 3 commits
+ - commit: fix exit code for --short/--porcelain
+ - wt-status: teach wt_status_collect about merges in progress
+ - t7501: add merge conflict tests for dry run
+
+ Under discussion.
+ cf. <xmqqpnzlpyux.fsf@gitster-ct.c.googlers.com>
+
+
+* tg/rerere (2018-07-16) 11 commits
+ - rerere: recalculate conflict ID when unresolved conflict is committed
+ - rerere: teach rerere to handle nested conflicts
+ - rerere: return strbuf from handle path
+ - rerere: factor out handle_conflict function
+ - rerere: only return whether a path has conflicts or not
+ - rerere: fix crash when conflict goes unresolved
+ - rerere: add documentation for conflict normalization
+ - rerere: mark strings for translation
+ - rerere: wrap paths in output in sq
+ - rerere: lowercase error messages
+ - rerere: unify error messages when read_cache fails
+
+
+* wc/find-commit-with-pattern-on-detached-head (2018-07-12) 1 commit
+  (merged to 'next' on 2018-07-18 at 334d2420c0)
+ + sha1-name.c: for ":/", find detached HEAD commits
+
+ "git rev-parse ':/substring'" did not consider the history leading
+ only to HEAD when looking for a commit with the given substring,
+ when the HEAD is detached.  This has been fixed.
+
+ Will merge to 'master'.
+
+
+* jk/ui-color-always-to-auto (2018-07-18) 1 commit
+ - Documentation: fix --color option formatting
+
+--------------------------------------------------
+[Stalled]
+
+* pw/add-p-select (2018-03-16) 3 commits
+ - add -p: optimize line selection for short hunks
+ - add -p: allow line selection to be inverted
+ - add -p: select individual hunk lines
+
+ "git add -p" interactive interface learned to let users choose
+ individual added/removed lines to be used in the operation, instead
+ of accepting or rejecting a whole hunk.
+
+ Expecting a reroll to reignite the discussion.
+ cf. <9895c7b7-eac4-28c1-90c6-443acd1131b7@talktalk.net>
+
+
+* hn/bisect-first-parent (2018-04-21) 1 commit
+ - bisect: create 'bisect_flags' parameter in find_bisection()
+
+ Preliminary code update to allow passing more flags down the
+ bisection codepath in the future.
+
+ We do not add random code that does not have real users to our
+ codebase, so let's have it wait until such a real code materializes
+ before too long.
+
+
+* av/fsmonitor-updates (2018-01-04) 6 commits
+ - fsmonitor: use fsmonitor data in `git diff`
+ - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh
+ - fsmonitor: make output of test-dump-fsmonitor more concise
+ - fsmonitor: update helper tool, now that flags are filled later
+ - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
+ - dir.c: update comments to match argument name
+
+ Code clean-up on fsmonitor integration, plus optional utilization
+ of the fsmonitor data in diff-files.
+
+ Waiting for an update.
+ cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com>
+
+
+* pb/bisect-helper-2 (2018-06-13) 8 commits
+ - t6030: make various test to pass GETTEXT_POISON tests
+ - 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
+
+ Expecting a reroll.
+ cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com>
+
+ I just rebased the topic to a newer base as it did not build
+ standalone with the base I originally queued the topic on, but
+ otherwise there is no update to address any of the review comments
+ in the thread above---we are still waiting for a reroll.
+
+
+* mk/http-backend-content-length (2018-06-11) 3 commits
+ - http-backend: respect CONTENT_LENGTH for receive-pack
+ - http-backend: respect CONTENT_LENGTH as specified by rfc3875
+ - http-backend: cleanup writing to child process
+
+ The http-backend (used for smart-http transport) used to slurp the
+ whole input until EOF, without paying attention to CONTENT_LENGTH
+ that is supplied in the environment and instead expecting the Web
+ server to close the input stream.  This has been fixed.
+
+
+* jk/drop-ancient-curl (2017-08-09) 5 commits
+ - http: #error on too-old curl
+ - curl: remove ifdef'd code never used with curl >=7.19.4
+ - http: drop support for curl < 7.19.4
+ - http: drop support for curl < 7.16.0
+ - http: drop support for curl < 7.11.1
+
+ Some code in http.c that has bitrot is being removed.
+
+ Expecting a reroll.
+
+
+* mk/use-size-t-in-zlib (2017-08-10) 1 commit
+ . zlib.c: use size_t for size
+
+ The wrapper to call into zlib followed our long tradition to use
+ "unsigned long" for sizes of regions in memory, which have been
+ updated to use "size_t".
+
+ Needs resurrecting by making sure the fix is good and still applies
+ (or adjusted to today's codebase).
+
+--------------------------------------------------
+[Cooking]
+
+* jh/json-writer (2018-07-16) 1 commit
+ - json_writer: new routines to create JSON data
+
+ Preparatory code to later add json output for telemetry data.
+
+ A series on top that adds telemetry data exists but hasn't been
+ picked up yet.
+
+
 * ag/rebase-i-in-c (2018-07-10) 13 commits
  - rebase -i: rewrite the rest of init_revisions_and_shortrevisions in C
  - rebase -i: implement the logic to initialize the variable $revision in C
@@ -40,7 +672,7 @@ of the repositories listed at
  - rebase--interactive: rewrite append_todo_help() in C
  - sequencer: make two functions and an enum from sequencer.c public
 
- Piecemeal rewrite of the remaining "rebase -i" machinery in C.  
+ Piecemeal rewrite of the remaining "rebase -i" machinery in C.
 
  Expecting a reroll.
 
@@ -49,20 +681,15 @@ of the repositories listed at
 
 
 * en/apply-comment-fix (2018-06-28) 1 commit
- - apply: fix grammar error in comment
+  (merged to 'next' on 2018-07-18 at 31d818f17d)
+ + apply: fix grammar error in comment
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * en/t5407-rebase-m-fix (2018-06-28) 1 commit
- - t5407: fix test to cover intended arguments
-
- Will merge to 'next'.
-
-
-* sb/mailmap (2018-06-29) 1 commit
-  (merged to 'next' on 2018-07-11 at d9dc53e374)
- + .mailmap: merge different spellings of names
+  (merged to 'next' on 2018-07-18 at 459875daeb)
+ + t5407: fix test to cover intended arguments
 
  Will merge to 'master'.
 
@@ -101,7 +728,7 @@ of the repositories listed at
  - object: add repository argument to lookup_object
  - object: add repository argument to parse_object
  - Merge branch 'sb/object-store-grafts' into sb/object-store-lookup
- (this branch uses sb/object-store-grafts.)
+ (this branch is used by jt/commit-graph-per-object-store.)
 
  lookup_commit_reference() and friends have been updated to find
  in-core object for a specific in-core repository instance.
@@ -110,40 +737,43 @@ of the repositories listed at
 
 
 * ag/rebase-p (2018-07-06) 1 commit
- - git-rebase--preserve-merges: fix formatting of todo help message
+  (merged to 'next' on 2018-07-18 at c36ebba99b)
+ + git-rebase--preserve-merges: fix formatting of todo help message
 
  The help message shown in the editor to edit todo list in "rebase -p"
  has regressed recently, which has been corrected.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * bb/pedantic (2018-07-09) 8 commits
- - utf8.c: avoid char overflow
- - string-list.c: avoid conversion from void * to function pointer
- - sequencer.c: avoid empty statements at top level
- - convert.c: replace "\e" escapes with "\033".
- - fixup! refs/refs-internal.h: avoid forward declaration of an enum
- - refs/refs-internal.h: avoid forward declaration of an enum
- - fixup! connect.h: avoid forward declaration of an enum
- - connect.h: avoid forward declaration of an enum
+  (merged to 'next' on 2018-07-18 at e9d075e8ed)
+ + utf8.c: avoid char overflow
+ + string-list.c: avoid conversion from void * to function pointer
+ + sequencer.c: avoid empty statements at top level
+ + convert.c: replace "\e" escapes with "\033".
+ + fixup! refs/refs-internal.h: avoid forward declaration of an enum
+ + refs/refs-internal.h: avoid forward declaration of an enum
+ + fixup! connect.h: avoid forward declaration of an enum
+ + connect.h: avoid forward declaration of an enum
 
  The codebase has been updated to compile cleanly with -pedantic
  option.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * bb/unicode-11-width (2018-07-09) 1 commit
- - unicode: update the width tables to Unicode 11
+  (merged to 'next' on 2018-07-18 at 075648ed37)
+ + unicode: update the width tables to Unicode 11
 
  The character display width table has been updated to match the
  latest Unicode standard.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* bc/object-id (2018-07-09) 17 commits
+* bc/object-id (2018-07-16) 16 commits
  - pretty: switch hard-coded constants to the_hash_algo
  - sha1-file: convert constants to uses of the_hash_algo
  - log-tree: switch GIT_SHA1_HEXSZ to the_hash_algo->hexsz
@@ -154,7 +784,6 @@ of the repositories listed at
  - builtin/update-index: simplify parsing of cacheinfo
  - builtin/update-index: convert to using the_hash_algo
  - refs/files-backend: use the_hash_algo for writing refs
- - commit: increase commit message buffer size
  - sha1-name: use the_hash_algo when parsing object names
  - strbuf: allocate space with GIT_MAX_HEXSZ
  - commit: express tree entry constants in terms of the_hash_algo
@@ -164,15 +793,15 @@ of the repositories listed at
 
  Conversion from uchar[40] to struct object_id continues.
 
- Expecting a reroll.
- cf. <20180709232656.GA535220@genre.crustytoothpaste.net>
+ Will merge to 'next'.
 
 
 * bc/send-email-auto-cte (2018-07-09) 4 commits
- - docs: correct RFC specifying email line length
- - send-email: automatically determine transfer-encoding
- - send-email: accept long lines with suitable transfer encoding
- - send-email: add an auto option for transfer encoding
+  (merged to 'next' on 2018-07-18 at d16c2a301a)
+ + docs: correct RFC specifying email line length
+ + send-email: automatically determine transfer-encoding
+ + send-email: accept long lines with suitable transfer encoding
+ + send-email: add an auto option for transfer encoding
 
  The content-transfer-encoding of the message "git send-email" sends
  out by default was 8bit, which can cause trouble when there is an
@@ -180,7 +809,7 @@ of the repositories listed at
  automatically switch to quoted-printable when there is such a line
  in the payload has been introduced and is made the default.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * en/dirty-merge-fixes (2018-07-11) 9 commits
@@ -215,7 +844,8 @@ of the repositories listed at
  Will merge to 'next'.
 
 
-* en/t6036-recursive-corner-cases (2018-07-06) 1 commit
+* en/t6036-recursive-corner-cases (2018-07-12) 2 commits
+ - t6036: fix broken && chain in sub-shell
  - t6036: add lots of detail for directory/file conflicts in recursive case
 
  Tests to cover more D/F conflict cases have been added for
@@ -249,7 +879,8 @@ of the repositories listed at
  Will merge to 'next'.
 
 
-* es/test-fixes (2018-07-03) 25 commits
+* es/test-fixes (2018-07-17) 26 commits
+ - t5608: fix broken &&-chain
  - t9119: fix broken &&-chains
  - t9000-t9999: fix broken &&-chains
  - t7000-t7999: fix broken &&-chains
@@ -275,6 +906,7 @@ of the repositories listed at
  - t: use sane_unset() rather than 'unset' with broken &&-chain
  - t: use test_write_lines() instead of series of 'echo' commands
  - t: use test_might_fail() instead of manipulating exit code manually
+ (this branch is used by es/chain-lint-in-subshell.)
 
  Test clean-up and corrections.
 
@@ -282,43 +914,51 @@ of the repositories listed at
 
 
 * jk/empty-pick-fix (2018-07-11) 2 commits
- - sequencer: don't say BUG on bogus input
- - sequencer: handle empty-set cases consistently
+  (merged to 'next' on 2018-07-18 at 43bfa862f2)
+ + sequencer: don't say BUG on bogus input
+ + sequencer: handle empty-set cases consistently
 
  Handling of an empty range by "git cherry-pick" was inconsistent
  depending on how the range ended up to be empty, which has been
  corrected.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jk/fetch-all-peeled-fix (2018-07-06) 1 commit
- - t5500: prettify non-commit tag tests
+  (merged to 'next' on 2018-07-18 at d06c6f1665)
+ + t5500: prettify non-commit tag tests
 
  Test modernization.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jk/for-each-ref-icase (2018-07-03) 3 commits
- - ref-filter: avoid backend filtering with --ignore-case
- - for-each-ref: consistently pass WM_IGNORECASE flag
- - t6300: add a test for --ignore-case
+  (merged to 'next' on 2018-07-18 at 4c86d62adb)
+ + ref-filter: avoid backend filtering with --ignore-case
+ + for-each-ref: consistently pass WM_IGNORECASE flag
+ + t6300: add a test for --ignore-case
 
  The "--ignore-case" option of "git for-each-ref" (and its friends)
  did not work correctly, which has been fixed.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* jk/fsck-gitmodules-gently (2018-07-03) 5 commits
- - fsck: silence stderr when parsing .gitmodules
+* jk/fsck-gitmodules-gently (2018-07-16) 6 commits
+ - fsck: downgrade gitmodulesParse default to "info"
+ - fsck: split ".gitmodules too large" error from parse failure
  - fsck: silence stderr when parsing .gitmodules
  - config: add options parameter to git_config_from_mem
  - config: add CONFIG_ERROR_SILENT handler
  - config: turn die_on_error into caller-facing enum
 
- What's the status of this one?
+ Recent "security fix" to pay attention to contents of ".gitmodules"
+ while accepting "git push" was a bit overly strict than necessary,
+ which has been adjusted.
+
+ Will merge to 'next'.
 
 
 * js/range-diff (2018-07-09) 20 commits
@@ -351,26 +991,27 @@ of the repositories listed at
  a different name.
 
 
-* jt/commit-graph-per-object-store (2018-07-09) 6 commits
- . commit-graph: add repo arg to graph readers
- . commit-graph: store graph in struct object_store
- . commit-graph: add free_commit_graph
- . commit-graph: add missing forward declaration
- . object-store: add missing include
- . commit-graph: refactor preparing commit graph
- (this branch uses ds/commit-graph-fsck.)
+* jt/commit-graph-per-object-store (2018-07-17) 7 commits
+ - commit-graph: add repo arg to graph readers
+ - commit-graph: store graph in struct object_store
+ - commit-graph: add free_commit_graph
+ - commit-graph: add missing forward declaration
+ - object-store: add missing include
+ - commit-graph: refactor preparing commit graph
+ - Merge branch 'ds/commit-graph-fsck' into jt/commit-graph-per-object-store
+ (this branch uses ds/commit-graph-fsck and sb/object-store-lookup.)
 
  The singleton commit-graph in-core instance is made per in-core
  repository instance.
 
- Expecting a reroll, as it breaks 32-bit build.
- cf. https://travis-ci.org/git/git/jobs/402422108
+ Will merge to 'next'.
+
 
 * jt/partial-clone-fsck-connectivity (2018-07-09) 2 commits
- - clone: check connectivity even if clone is partial
- - upload-pack: send refs' objects despite "filter"
- (this branch uses bw/ref-in-want and jt/connectivity-check-after-unshallow.)
+  (merged to 'next' on 2018-07-18 at 968fd9c9f0)
+ + clone: check connectivity even if clone is partial
+ + upload-pack: send refs' objects despite "filter"
+ (this branch is used by jt/tags-to-promised-blobs-fix; uses bw/ref-in-want and jt/connectivity-check-after-unshallow.)
 
  Partial clone support of "git clone" has been updated to correctly
  validate the objects it receives from the other side.  The server
@@ -378,7 +1019,7 @@ of the repositories listed at
  requested, even if they may match the filtering criteria (e.g. when
  doing a "lazy blob" partial clone).
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * kg/gc-auto-windows-workaround (2018-07-09) 1 commit
@@ -393,12 +1034,13 @@ of the repositories listed at
 
 
 * kn/userdiff-php (2018-07-06) 2 commits
- - userdiff: support new keywords in PHP hunk header
- - t4018: add missing test cases for PHP
+  (merged to 'next' on 2018-07-18 at 9a533dc33a)
+ + userdiff: support new keywords in PHP hunk header
+ + t4018: add missing test cases for PHP
 
  The userdiff pattern for .php has been updated.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * lt/date-human (2018-07-09) 1 commit
@@ -406,22 +1048,29 @@ of the repositories listed at
 
 
 * mh/fast-import-no-diff-delta-empty (2018-07-06) 1 commit
- - fast-import: do not call diff_delta() with empty buffer
+  (merged to 'next' on 2018-07-18 at eb393871f4)
+ + fast-import: do not call diff_delta() with empty buffer
 
  "git fast-import" has been updated to avoid attempting to create
  delta against a zero-byte-long string, which is pointless.
 
- Will merge to 'next'.
+ Will merge to 'master'.
+
 
+* ot/ref-filter-object-info (2018-07-17) 5 commits
+ - ref-filter: use oid_object_info() to get object
+ - ref-filter: merge get_obj and get_object
+ - ref-filter: initialize eaten variable
+ - ref-filter: fill empty fields with empty values
+ - ref-filter: add info_source to valid_atom
 
-* ot/ref-filter-object-info (2018-07-09) 4 commits
. ref-filter: use oid_object_info() to get object
. ref-filter: merge get_obj and get_object
- . ref-filter: add empty values to technical fields
- . ref-filter: add info_source to valid_atom
+ A few atoms like %(objecttype) and %(objectsize) in the format
specifier of "for-each-ref --format=<format>" can be filled without
getting the full contents of the object, but just with the object
+ header.  These cases have been optimzied by calling
+ oid_object_info() API.
 
- Expecting a reroll, as it breaks compilation with uninitialized var.
- cf. https://travis-ci.org/git/git/jobs/402422102
+ What's the doneness of this one?
 
 
 * pk/rebase-in-c (2018-07-09) 4 commits
@@ -430,240 +1079,77 @@ of the repositories listed at
  - rebase: refactor common shell functions into their own file
  - rebase: start implementing it as a builtin
 
- Piecemeal rewrite of the "rebase" machinery in C.  
+ Piecemeal rewrite of the "rebase" machinery in C.
 
  Expecting a reroll, but it seems that this is getting quite close.
  cf. <CAOZc8M8YmLwJOzG-1jyz8ft4W_tJMwNs6kSV8inX1q_zmDW8Sg@mail.gmail.com>
 
 
 * tb/config-default (2018-07-06) 1 commit
- - builtin/config: work around an unsized array forward declaration
-
- Compilation fix.
-
- Will merge to 'next'.
-
-
-* bp/log-ref-write-fd-with-strbuf (2018-07-10) 1 commit
- - convert log_ref_write_fd() to use strbuf
-
- Code clean-up.
-
- Will merge to 'next'.
-
-
-* hs/push-cert-check-cleanup (2018-07-11) 2 commits
- - gpg-interface: make parse_gpg_output static and remove from interface header
- - builtin/receive-pack: use check_signature from gpg-interface
-
- Code clean-up.
-
- Will merge to 'next'.
-
-
-* mk/merge-in-sparse-checkout (2018-07-11) 1 commit
- - unpack-trees: do not fail reset because of unmerged skipped entry
-
- "git reset --merge" (hence "git merge ---abort") and "git reset --hard"
- had trouble working correctly in a sparsely checked out working
- tree after a conflict, which has been corrected.
-
- Will merge to 'next'.
-
---------------------------------------------------
-[Stalled]
-
-* pw/add-p-select (2018-03-16) 3 commits
- - add -p: optimize line selection for short hunks
- - add -p: allow line selection to be inverted
- - add -p: select individual hunk lines
-
- "git add -p" interactive interface learned to let users choose
- individual added/removed lines to be used in the operation, instead
- of accepting or rejecting a whole hunk.
-
- Expecting a reroll to reignite the discussion.
- cf. <9895c7b7-eac4-28c1-90c6-443acd1131b7@talktalk.net>
-
-
-* jh/json-writer (2018-06-13) 1 commit
- - json_writer: new routines to create JSON data
-
- Preparatory code to later add json output for unspecified telemetry
- data.
-
- We do not add random code that does not have real users to our
- codebase, so let's have it wait until such a real code materializes
- before too long.
-
-
-* hn/bisect-first-parent (2018-04-21) 1 commit
- - bisect: create 'bisect_flags' parameter in find_bisection()
-
- Preliminary code update to allow passing more flags down the
- bisection codepath in the future.
-
- We do not add random code that does not have real users to our
- codebase, so let's have it wait until such a real code materializes
- before too long.
-
-
-* av/fsmonitor-updates (2018-01-04) 6 commits
- - fsmonitor: use fsmonitor data in `git diff`
- - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh
- - fsmonitor: make output of test-dump-fsmonitor more concise
- - fsmonitor: update helper tool, now that flags are filled later
- - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
- - dir.c: update comments to match argument name
-
- Code clean-up on fsmonitor integration, plus optional utilization
- of the fsmonitor data in diff-files.
-
- Waiting for an update.
- cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com>
-
-
-* pb/bisect-helper-2 (2018-06-13) 8 commits
- - t6030: make various test to pass GETTEXT_POISON tests
- - 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
-
- Expecting a reroll.
- cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com>
-
- I just rebased the topic to a newer base as it did not build
- standalone with the base I originally queued the topic on, but
- otherwise there is no update to address any of the review comments
- in the thread above---we are still waiting for a reroll.
-
-
-* mk/http-backend-content-length (2018-06-11) 3 commits
- - http-backend: respect CONTENT_LENGTH for receive-pack
- - http-backend: respect CONTENT_LENGTH as specified by rfc3875
- - http-backend: cleanup writing to child process
-
- The http-backend (used for smart-http transport) used to slurp the
- whole input until EOF, without paying attention to CONTENT_LENGTH
- that is supplied in the environment and instead expecting the Web
- server to close the input stream.  This has been fixed.
-
-
-* jk/drop-ancient-curl (2017-08-09) 5 commits
- - http: #error on too-old curl
- - curl: remove ifdef'd code never used with curl >=7.19.4
- - http: drop support for curl < 7.19.4
- - http: drop support for curl < 7.16.0
- - http: drop support for curl < 7.11.1
-
- Some code in http.c that has bitrot is being removed.
-
- Expecting a reroll.
-
-
-* mk/use-size-t-in-zlib (2017-08-10) 1 commit
- . zlib.c: use size_t for size
-
- The wrapper to call into zlib followed our long tradition to use
- "unsigned long" for sizes of regions in memory, which have been
- updated to use "size_t".
-
- Needs resurrecting by making sure the fix is good and still applies
- (or adjusted to today's codebase).
-
---------------------------------------------------
-[Cooking]
-
-* ao/config-from-gitmodules (2018-06-26) 6 commits
-  (merged to 'next' on 2018-07-11 at 5d88dc6fb7)
- + submodule-config: reuse config_from_gitmodules in repo_read_gitmodules
- + submodule-config: pass repository as argument to config_from_gitmodules
- + submodule-config: make 'config_from_gitmodules' private
- + submodule-config: add helper to get 'update-clone' config from .gitmodules
- + submodule-config: add helper function to get 'fetch' config from .gitmodules
- + config: move config_from_gitmodules to submodule-config.c
-
- Tighten the API to make it harder to misuse in-tree .gitmodules
- file, even though it shares the same syntax with configuration
- files, to read random configuration items from it.
-
- Will merge to 'master'.
-
-
-* as/sequencer-customizable-comment-char (2018-06-28) 1 commit
- - sequencer: use configured comment character
-
- Honor core.commentchar when preparing the list of commits to replay
- in "rebase -i".
-
- Needs inter-contributor coordination.
- cf. <e8973797-fc5f-2ca5-1881-5ee66fc8279b@living180.net>
-
-
-* dj/runtime-prefix (2018-06-26) 1 commit
-  (merged to 'next' on 2018-07-11 at 27d99fef94)
- + Makefile: tweak sed invocation
+  (merged to 'next' on 2018-07-18 at 7994476f6f)
+ + builtin/config: work around an unsized array forward declaration
 
- POSIX portability fix in Makefile to fix a glitch introduced a few
- releases ago.
+ Compilation fix.
 
  Will merge to 'master'.
 
 
-* ds/commit-graph (2018-06-28) 1 commit
-  (merged to 'next' on 2018-07-11 at d579f733ed)
- + commit-graph: fix documentation inconsistencies
+* bp/log-ref-write-fd-with-strbuf (2018-07-10) 1 commit
+  (merged to 'next' on 2018-07-18 at 25a3a99528)
+ + convert log_ref_write_fd() to use strbuf
 
Docfix.
Code clean-up.
 
  Will merge to 'master'.
 
 
-* en/rebase-i-microfixes (2018-06-27) 3 commits
-  (merged to 'next' on 2018-07-11 at d913ca0f77)
- + git-rebase--merge: modernize "git-$cmd" to "git $cmd"
- + Fix use of strategy options with interactive rebases
- + t3418: add testcase showing problems with rebase -i and strategy options
+* hs/push-cert-check-cleanup (2018-07-11) 2 commits
+  (merged to 'next' on 2018-07-18 at 1ed25fbd77)
+ + gpg-interface: make parse_gpg_output static and remove from interface header
+ + builtin/receive-pack: use check_signature from gpg-interface
+ (this branch is used by hs/gpgsm.)
+
+ Code clean-up.
 
  Will merge to 'master'.
 
 
-* js/enhanced-version-info (2018-06-29) 1 commit
-  (merged to 'next' on 2018-07-11 at 815b2ea2bc)
- + Makefile: fix the "built from commit" code
+* mk/merge-in-sparse-checkout (2018-07-11) 1 commit
+  (merged to 'next' on 2018-07-18 at d2a6d2684d)
+ + unpack-trees: do not fail reset because of unmerged skipped entry
 
- Build fix.
+ "git reset --merge" (hence "git merge ---abort") and "git reset --hard"
+ had trouble working correctly in a sparsely checked out working
+ tree after a conflict, which has been corrected.
 
  Will merge to 'master'.
 
 
-* js/rebase-recreate-merge (2018-06-27) 1 commit
-  (merged to 'next' on 2018-07-11 at eb8f33aaef)
- + rebase: fix documentation formatting
+* as/sequencer-customizable-comment-char (2018-07-16) 1 commit
+  (merged to 'next' on 2018-07-18 at 4163e23f29)
+ + sequencer: use configured comment character
 
- Docfix.
+ Honor core.commentchar when preparing the list of commits to replay
+ in "rebase -i".
 
  Will merge to 'master'.
 
 
 * jt/connectivity-check-after-unshallow (2018-07-03) 1 commit
- - fetch-pack: write shallow, then check connectivity
- (this branch is used by jt/partial-clone-fsck-connectivity; uses bw/ref-in-want.)
+  (merged to 'next' on 2018-07-18 at 8e7ee889c3)
+ + fetch-pack: write shallow, then check connectivity
+ (this branch is used by jt/partial-clone-fsck-connectivity and jt/tags-to-promised-blobs-fix; uses bw/ref-in-want.)
 
  "git fetch" failed to correctly validate the set of objects it
  received when making a shallow history deeper, which has been
  corrected.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jt/fetch-nego-tip (2018-07-03) 1 commit
  - fetch-pack: support negotiation tip whitelist
- (this branch uses jt/fetch-pack-negotiator.)
+ (this branch uses jt/fetch-pack-negotiator; is tangled with jt/fetch-negotiator-skipping.)
 
  "git fetch" learned a new option "--negotiation-tip" to limit the
  set of commits it tells the other end as "have", to reduce wasted
@@ -674,29 +1160,6 @@ of the repositories listed at
  Will merge to 'next'.
 
 
-* mb/filter-branch-optim (2018-06-26) 1 commit
-  (merged to 'next' on 2018-07-11 at e43a0136c2)
- + filter-branch: skip commits present on --state-branch
-
- "git filter-branch" when used with the "--state-branch" option
- still attempted to rewrite the commits whose filtered result is
- known from the previous attempt (which is recorded on the state
- branch); the command has been corrected not to waste cycles doing
- so.
-
- Will merge to 'master'.
-
-
-* ms/core-icase-doc (2018-06-28) 1 commit
-  (merged to 'next' on 2018-07-11 at 8f0d71c32d)
- + Documentation: declare "core.ignoreCase" as internal variable
-
- Clarify that setting core.ignoreCase to deviate from reality would
- not turn a case-incapable filesystem into a case-capable one.
-
- Will merge to 'master'.
-
-
 * rj/submodule-fsck-skip (2018-07-03) 1 commit
   (merged to 'next' on 2018-07-11 at 985f88cf7e)
  + fsck: check skiplist for object in fsck_blob()
@@ -712,147 +1175,66 @@ of the repositories listed at
 * tb/grep-only-matching (2018-07-09) 2 commits
  - grep.c: teach 'git grep --only-matching'
  - grep.c: extract show_line_header()
- (this branch uses tb/grep-column.)
 
  "git grep" learned the "--only-matching" option.
 
  Will merge to 'next'.
 
 
-* tz/exclude-doc-smallfixes (2018-06-27) 2 commits
-  (merged to 'next' on 2018-07-11 at 5134f1ca72)
- + dir.c: fix typos in core.excludesfile comment
- + gitignore.txt: clarify default core.excludesfile path
-
- Doc updates.
-
- Will merge to 'master'.
-
-
-* ld/p423 (2018-06-19) 6 commits
-  (merged to 'next' on 2018-06-29 at af76acb664)
- + git-p4: python3: fix octal constants
- + git-p4: python3: use print() function
- + git-p4: python3: basestring workaround
- + git-p4: python3: remove backticks
- + git-p4: python3: replace dict.has_key(k) with "k in dict"
- + git-p4: python3: replace <> with !=
-
- Code preparation to make "git p4" closer to be usable with Python 3.
-
- Will merge to 'master'.
-
-
-* pw/rebase-i-keep-reword-after-conflict (2018-06-19) 1 commit
-  (merged to 'next' on 2018-06-29 at 538337be74)
- + sequencer: do not squash 'reword' commits when we hit conflicts
-
- Bugfix for "rebase -i" corner case regression.
-
- Will merge to 'master'.
-
-
-* xy/format-patch-prereq-patch-id-fix (2018-06-19) 1 commit
-  (merged to 'next' on 2018-06-29 at 0dffc46ce2)
- + format-patch: clear UNINTERESTING flag before prepare_bases
-
- Recently added "--base" option to "git format-patch" command did
- not correctly generate prereq patch ids.
-
- Will merge to 'master'.
-
-
-* bw/config-refer-to-gitsubmodules-doc (2018-06-21) 1 commit
-  (merged to 'next' on 2018-06-29 at da6f49d292)
- + docs: link to gitsubmodules
-
- Docfix.
-
- Will merge to 'master'.
-
-
 * bw/ref-in-want (2018-06-28) 8 commits
- - fetch-pack: implement ref-in-want
- - fetch-pack: put shallow info in output parameter
- - fetch: refactor to make function args narrower
- - fetch: refactor fetch_refs into two functions
- - fetch: refactor the population of peer ref OIDs
- - upload-pack: test negotiation with changing repository
- - upload-pack: implement ref-in-want
- - test-pkt-line: add unpack-sideband subcommand
- (this branch is used by jt/connectivity-check-after-unshallow and jt/partial-clone-fsck-connectivity.)
+  (merged to 'next' on 2018-07-18 at 7e9f8db37c)
+ + fetch-pack: implement ref-in-want
+ + fetch-pack: put shallow info in output parameter
+ + fetch: refactor to make function args narrower
+ + fetch: refactor fetch_refs into two functions
+ + fetch: refactor the population of peer ref OIDs
+ + upload-pack: test negotiation with changing repository
+ + upload-pack: implement ref-in-want
+ + test-pkt-line: add unpack-sideband subcommand
+ (this branch is used by jt/connectivity-check-after-unshallow, jt/partial-clone-fsck-connectivity and jt/tags-to-promised-blobs-fix.)
 
  Protocol v2 has been updated to allow slightly out-of-sync set of
  servers to work together to serve a single client, which would be
  useful with load-balanced servers that talk smart HTTP transport.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * en/rebase-consistency (2018-06-27) 9 commits
- - git-rebase: make --allow-empty-message the default
- - t3401: add directory rename testcases for rebase and am
- - git-rebase.txt: document behavioral differences between modes
- - directory-rename-detection.txt: technical docs on abilities and limitations
- - git-rebase.txt: address confusion between --no-ff vs --force-rebase
- - git-rebase: error out when incompatible options passed
- - t3422: new testcases for checking when incompatible options passed
- - git-rebase.sh: update help messages a bit
- - git-rebase.txt: document incompatible options
+  (merged to 'next' on 2018-07-18 at d597206c79)
+ + git-rebase: make --allow-empty-message the default
+ + t3401: add directory rename testcases for rebase and am
+ + git-rebase.txt: document behavioral differences between modes
+ + directory-rename-detection.txt: technical docs on abilities and limitations
+ + git-rebase.txt: address confusion between --no-ff vs --force-rebase
+ + git-rebase: error out when incompatible options passed
+ + t3422: new testcases for checking when incompatible options passed
+ + git-rebase.sh: update help messages a bit
+ + git-rebase.txt: document incompatible options
 
  "git rebase" behaved slightly differently depending on which one of
  the three backends gets used; this has been documented and an
  effort to make them more uniform has begun.
 
- Will merge to 'next'.
-
-
-* jt/remove-pack-bitmap-global (2018-06-21) 2 commits
-  (merged to 'next' on 2018-06-29 at 852857b04e)
- + pack-bitmap: add free function
- + pack-bitmap: remove bitmap_git global variable
-
- The effort to move globals to per-repository in-core structure
- continues.
-
  Will merge to 'master'.
 
 
 * sb/submodule-move-head-error-msg (2018-06-25) 1 commit
- - submodule.c: report the submodule that an error occurs in
-
- Will merge to 'next'.
-
-
-* bw/protocol-v2 (2018-06-22) 1 commit
-  (merged to 'next' on 2018-06-29 at 78090cc343)
- + protocol-v2 doc: put HTTP headers after request
-
- Doc fix.
+  (merged to 'next' on 2018-07-18 at 9e213ad1aa)
+ + submodule.c: report the submodule that an error occurs in
 
  Will merge to 'master'.
 
 
 * jk/branch-l-1-repurpose (2018-06-22) 1 commit
  - branch: make "-l" a synonym for "--list"
- (this branch uses jk/branch-l-0-deprecation.)
 
  Updated plan to repurpose the "-l" option to "git branch".
 
  Will hold in 'pu' until jk/branch-l-0-deprecation progresses sufficiently.
 
 
-* vs/typofixes (2018-06-22) 1 commit
-  (merged to 'next' on 2018-06-29 at 665c8db2f7)
- + Documentation: spelling and grammar fixes
-
- Doc fix.
-
- Will merge to 'master'.
-
-
-* cc/remote-odb (2018-07-06) 10 commits
- - SQUASH??? error: unused variable 'o' [-Werror=unused-variable]
+* cc/remote-odb (2018-07-16) 9 commits
  - Documentation/config: add odb.<name>.promisorRemote
  - t0410: test fetching from many promisor remotes
  - Use odb.origin.partialclonefilter instead of core.partialclonefilter
@@ -863,59 +1245,42 @@ of the repositories listed at
  - Add initial remote odb support
  - fetch-object: make functions return an error code
 
- Needs a reroll.
-
-
-* ds/multi-pack-index (2018-07-09) 24 commits
- . midx: clear midx on repack
- . packfile: skip loading index if in multi-pack-index
- . midx: prevent duplicate packfile loads
- . midx: use midx in approximate_object_count
- . midx: use existing midx when writing new one
- . midx: use midx in abbreviation calculations
- . midx: read objects from multi-pack-index
- . midx: prepare midxed_git struct
- . config: create core.multiPackIndex setting
- . midx: write object offsets
- . midx: write object id fanout chunk
- . midx: write object ids in a chunk
- . midx: sort and deduplicate objects from packfiles
- . midx: read pack names into array
- . multi-pack-index: write pack names in chunk
- . multi-pack-index: read packfile list
- . packfile: generalize pack directory list
- . multi-pack-index: expand test data
- . multi-pack-index: load into memory
- . midx: write header information to lockfile
- . multi-pack-index: add 'write' verb
- . multi-pack-index: add builtin
- . multi-pack-index: add format details
- . multi-pack-index: add design document
+
+* ds/multi-pack-index (2018-07-12) 23 commits
+ - midx: clear midx on repack
+ - packfile: skip loading index if in multi-pack-index
+ - midx: prevent duplicate packfile loads
+ - midx: use midx in approximate_object_count
+ - midx: use existing midx when writing new one
+ - midx: use midx in abbreviation calculations
+ - midx: read objects from multi-pack-index
+ - config: create core.multiPackIndex setting
+ - midx: write object offsets
+ - midx: write object id fanout chunk
+ - midx: write object ids in a chunk
+ - midx: sort and deduplicate objects from packfiles
+ - midx: read pack names into array
+ - multi-pack-index: write pack names in chunk
+ - multi-pack-index: read packfile list
+ - packfile: generalize pack directory list
+ - t5319: expand test data
+ - multi-pack-index: load into memory
+ - midx: write header information to lockfile
+ - multi-pack-index: add 'write' verb
+ - multi-pack-index: add builtin
+ - multi-pack-index: add format details
+ - multi-pack-index: add design document
 
  When there are too many packfiles in a repository (which is not
  recommended), looking up an object in these would require
  consulting many pack .idx files; a new mechanism to have a single
  file that consolidates all of these .idx files is introduced.
 
- Expecting a reroll to fix documentation build.
- cf. https://travis-ci.org/git/git/jobs/402422110
-
-
-* tb/grep-column (2018-06-22) 7 commits
-  (merged to 'next' on 2018-06-29 at 25dc70426e)
- + contrib/git-jump/git-jump: jump to exact location
- + grep.c: add configuration variables to show matched option
- + builtin/grep.c: add '--column' option to 'git-grep(1)'
- + grep.c: display column number of first match
- + grep.[ch]: extend grep_opt to allow showing matched column
- + grep.c: expose {,inverted} match column in match_line()
- + Documentation/config.txt: camel-case lineNumber for consistency
- (this branch is used by tb/grep-only-matching.)
-
- "git grep" learned the "--column" option that gives not just the
- line number but the column number of the hit.
-
- Will merge to 'master'.
+ What's the doneness of this one?  I vaguely recall that there was
+ an objection against the concept as a whole (i.e. there is a way
+ with less damage to gain the same object-abbrev performance); has
+ it (and if anything else, they) been resolved in satisfactory
+ fashion?
 
 
 * jt/fetch-pack-negotiator (2018-06-15) 7 commits
@@ -926,7 +1291,7 @@ of the repositories listed at
  - fetch-pack: directly end negotiation if ACK ready
  - fetch-pack: clear marks before re-marking
  - fetch-pack: split up everything_local()
- (this branch is used by jt/fetch-nego-tip.)
+ (this branch is used by jt/fetch-nego-tip and jt/fetch-negotiator-skipping.)
 
  Code restructuring and a small fix to transport protocol v2 during
  fetching.
@@ -934,43 +1299,6 @@ of the repositories listed at
  Will merge to 'next'.
 
 
-* sb/submodule-core-worktree (2018-06-19) 3 commits
-  (merged to 'next' on 2018-06-28 at 96e1a8dbd1)
- + submodule deinit: unset core.worktree
- + submodule: ensure core.worktree is set after update
- + submodule: unset core.worktree if no working tree is present
-
- Originally merged to 'next' on 2018-06-22
-
- "git submodule" did not correctly adjust core.worktree setting that
- indicates whether/where a submodule repository has its associated
- working tree across various state transitions, which has been
- corrected.
-
- Will merge to 'master'.
-
-
-* ds/ewah-cleanup (2018-06-21) 10 commits
-  (merged to 'next' on 2018-06-28 at 9cd7c0d54a)
- + ewah: delete unused 'rlwit_discharge_empty()'
- + ewah: drop ewah_serialize_native function
- + ewah: drop ewah_deserialize function
- + ewah_io: delete unused 'ewah_serialize()'
- + ewah_bitmap: delete unused 'ewah_or()'
- + ewah_bitmap: delete unused 'ewah_not()'
- + ewah_bitmap: delete unused 'ewah_and_not()'
- + ewah_bitmap: delete unused 'ewah_and()'
- + ewah/bitmap.c: delete unused 'bitmap_each_bit()'
- + ewah/bitmap.c: delete unused 'bitmap_clear()'
-
- Originally merged to 'next' on 2018-06-22
-
- Remove unused function definitions and declarations from ewah
- bitmap subsystem.
-
- Will merge to 'master'.
-
-
 * is/parsing-line-range (2018-06-15) 2 commits
  - log: prevent error if line range ends past end of file
  - blame: prevent error if range ends past end of file
@@ -981,22 +1309,6 @@ of the repositories listed at
  Will merge to 'next'.
 
 
-* en/merge-recursive-cleanup (2018-06-12) 6 commits
-  (merged to 'next' on 2018-06-28 at 1a3646eb7d)
- + merge-recursive: add pointer about unduly complex looking code
- + merge-recursive: rename conflict_rename_*() family of functions
- + merge-recursive: clarify the rename_dir/RENAME_DIR meaning
- + merge-recursive: align labels with their respective code blocks
- + merge-recursive: fix numerous argument alignment issues
- + merge-recursive: fix miscellaneous grammar error in comment
-
- Originally merged to 'next' on 2018-06-19
-
- Code cleanup.
-
- Will merge to 'master'.
-
-
 * ab/checkout-default-remote (2018-06-11) 8 commits
  - checkout & worktree: introduce checkout.defaultRemote
  - checkout: add advice for ambiguous "checkout <branch>"
@@ -1015,7 +1327,8 @@ of the repositories listed at
  Will merge to 'next'.
 
 
-* ds/commit-graph-fsck (2018-06-27) 22 commits
+* ds/commit-graph-fsck (2018-07-16) 23 commits
+ - coccinelle: update commit.cocci
  - commit-graph: update design document
  - gc: automatically write commit-graph files
  - commit-graph: add '--reachable' option
@@ -1077,38 +1390,7 @@ of the repositories listed at
  a bit sad, though.
 
 
-* sb/object-store-grafts (2018-05-18) 19 commits
-  (merged to 'next' on 2018-06-28 at 02f70d6302)
- + commit: allow lookup_commit_graft to handle arbitrary repositories
- + commit: allow prepare_commit_graft to handle arbitrary repositories
- + shallow: migrate shallow information into the object parser
- + path.c: migrate global git_path_* to take a repository argument
- + cache: convert get_graft_file to handle arbitrary repositories
- + commit: convert read_graft_file to handle arbitrary repositories
- + commit: convert register_commit_graft to handle arbitrary repositories
- + commit: convert commit_graft_pos() to handle arbitrary repositories
- + shallow: add repository argument to is_repository_shallow
- + shallow: add repository argument to check_shallow_file_for_update
- + shallow: add repository argument to register_shallow
- + shallow: add repository argument to set_alternate_shallow_file
- + commit: add repository argument to lookup_commit_graft
- + commit: add repository argument to prepare_commit_graft
- + commit: add repository argument to read_graft_file
- + commit: add repository argument to register_commit_graft
- + commit: add repository argument to commit_graft_pos
- + object: move grafts to object parser
- + object-store: move object access functions to object-store.h
- (this branch is used by sb/object-store-lookup.)
-
- Originally merged to 'next' on 2018-06-22
-
- The conversion to pass "the_repository" and then "a_repository"
- throughout the object access API continues.
-
- Will merge to 'master'.
-
-
-* sb/diff-color-move-more (2018-06-29) 9 commits
+* sb/diff-color-move-more (2018-07-17) 9 commits
  - diff.c: add white space mode to move detection that allows indent changes
  - diff.c: factor advance_or_nullify out of mark_color_as_moved
  - diff.c: decouple white space treatment from move detection algorithm
@@ -1123,22 +1405,6 @@ of the repositories listed at
 
  Will merge to 'next'.
 
-
-* jk/branch-l-0-deprecation (2018-06-22) 3 commits
-  (merged to 'next' on 2018-06-29 at fac676dfb9)
- + branch: deprecate "-l" option
- + t: switch "branch -l" to "branch --create-reflog"
- + t3200: unset core.logallrefupdates when testing reflog creation
- (this branch is used by jk/branch-l-1-repurpose.)
-
- The "-l" option in "git branch -l" is an unfortunate short-hand for
- "--create-reflog", but many users, both old and new, somehow expect
- it to be something else, perhaps "--list".  This step warns when "-l"
- is used as a short-hand for "--create-reflog" and warns about the
- future repurposing of the it when it is used.
-
- Will merge to 'master'.
-
 --------------------------------------------------
 [Discarded]