]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2021/01 #05)
authorJunio C Hamano <gitster@pobox.com>
Mon, 25 Jan 2021 23:29:43 +0000 (15:29 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 25 Jan 2021 23:29:43 +0000 (15:29 -0800)
whats-cooking.txt

index f73fe2660170f34d9f9ebe1312f119a1c2383cdc..73899cfbd902433adca73a4a6e8aa5a4d98fc9b7 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Jan 2021, #04; Sat, 16)
-X-master-at: 66e871b6647ffea61a77a0f82c7ef3415f1ee79c
-X-next-at: 02bc693789bd06eae399a1ec06d0ca2f72f49ff3
+Subject: What's cooking in git.git (Jan 2021, #05; Mon, 25)
+X-master-at: e6362826a0409539642a5738db61827e5978e2e4
+X-next-at: 705c353deb6a369b8980a2bb0d65b01976f53945
 
-What's cooking in git.git (Jan 2021, #04; Sat, 16)
+What's cooking in git.git (Jan 2021, #05; Mon, 25)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with '-' are
@@ -12,10 +12,22 @@ only in 'seen' (formerly 'pu'---proposed updates) while 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 third batch of topics are now in 'master'.  Most of these cooked
-for shorter than usual in 'next' (I usually try to keep any topic in
-'next' for at least a week), but many of them are mostly benign doc
-and test fixes.
+The fourth batch of topics are now in 'master'.  Dscho's "we
+shouldn't break our tests, or reduce coverage by them, when 'git
+init' starts using 'main' as the fallback default name for the
+initial branch topic is in.  Two of the topics have especially
+noteworthy impact to end-users and developers, so I've added the
+following to the draft release notes:
+
+    Backward incompatible and other important changes
+
+     * The "pack-redundant" command, which has been left stale with almost
+       unusable performance issues, now warns loudly when it gets used, as
+       we no longer want to recommend its use (instead just "repack -d"
+       instead).
+
+     * The development community has adopted Contributor Covenant v2.0 to
+       update from v1.4 that we have been using.
 
 Copies of the source code to Git live in many repositories, and the
 following is a list of the ones I push into or their mirrors.  Some
@@ -29,162 +41,546 @@ With maint, master, next, seen, todo:
        https://github.com/git/git/
        https://gitlab.com/git-vcs/git/
 
-With all the integration branches and topics broken out:
+With all the integration branches and topics broken out:
+
+       https://github.com/gitster/git/
+
+Even though the preformatted documentation in HTML and man format
+are not sources, they are published in these repositories for
+convenience (replace "htmldocs" with "manpages" for the manual
+pages):
+
+       git://git.kernel.org/pub/scm/git/git-htmldocs.git/
+       https://github.com/gitster/git-htmldocs.git/
+
+Release tarballs are available at:
+
+       https://www.kernel.org/pub/software/scm/git/
+
+--------------------------------------------------
+[Graduated to 'master']
+
+* ab/branch-sort (2021-01-07) 7 commits
+  (merged to 'next' on 2021-01-12 at 1231feea7c)
+ + branch: show "HEAD detached" first under reverse sort
+ + branch: sort detached HEAD based on a flag
+ + ref-filter: move ref_sorting flags to a bitfield
+ + ref-filter: move "cmp_fn" assignment into "else if" arm
+ + ref-filter: add braces to if/else if/else chain
+ + branch tests: add to --sort tests
+ + branch: change "--local" to "--list" in comment
+
+ The implementation of "git branch --sort" wrt the detached HEAD
+ display has always been hacky, which has been cleaned up.
+
+
+* ab/coc-update-to-2.0 (2021-01-13) 3 commits
+  (merged to 'next' on 2021-01-15 at 4859c12625)
+ + CoC: update to version 2.0 + local changes
+ + CoC: explicitly take any whitespace breakage
+ + CoC: Update word-wrapping to match upstream
+
+ Update the Code-of-conduct to version 2.0 from the upstream (we've
+ been using version 1.4).
+
+
+* ab/mailmap (2021-01-12) 22 commits
+  (merged to 'next' on 2021-01-13 at a3ce27912f)
+ + shortlog: remove unused(?) "repo-abbrev" feature
+ + mailmap doc + tests: document and test for case-insensitivity
+ + mailmap tests: add tests for empty "<>" syntax
+ + mailmap tests: add tests for whitespace syntax
+ + mailmap tests: add a test for comment syntax
+ + mailmap doc + tests: add better examples & test them
+ + tests: refactor a few tests to use "test_commit --append"
+ + test-lib functions: add an --append option to test_commit
+ + test-lib functions: add --author support to test_commit
+ + test-lib functions: document arguments to test_commit
+ + test-lib functions: expand "test_commit" comment template
+ + mailmap: test for silent exiting on missing file/blob
+ + mailmap tests: get rid of overly complex blame fuzzing
+ + mailmap tests: add a test for "not a blob" error
+ + mailmap tests: remove redundant entry in test
+ + mailmap tests: improve --stdin tests
+ + mailmap tests: modernize syntax & test idioms
+ + mailmap tests: use our preferred whitespace syntax
+ + mailmap doc: start by mentioning the comment syntax
+ + check-mailmap doc: note config options
+ + mailmap doc: quote config variables `like.this`
+ + mailmap doc: create a new "gitmailmap(5)" man page
+ (this branch is used by ab/mailmap-fixup.)
+
+ Clean-up docs, codepaths and tests around mailmap.
+
+
+* ab/mailmap-fixup (2021-01-14) 4 commits
+  (merged to 'next' on 2021-01-15 at ef14e2263d)
+ + t4203: make blame output massaging more robust
+ + mailmap doc: use correct environment variable 'GIT_WORK_TREE'
+ + t4203: stop losing return codes of git commands
+ + test-lib-functions.sh: fix usage for test_commit()
+ (this branch uses ab/mailmap.)
+
+ Follow-up fixes and improvements to ab/mailmap topic.
+
+
+* ab/mktag (2021-01-06) 23 commits
+  (merged to 'next' on 2021-01-08 at 6f9e11ad97)
+ + mktag: add a --[no-]strict option
+ + mktag: mark strings for translation
+ + mktag: convert to parse-options
+ + mktag: allow omitting the header/body \n separator
+ + mktag: allow turning off fsck.extraHeaderEntry
+ + fsck: make fsck_config() re-usable
+ + mktag: use fsck instead of custom verify_tag()
+ + mktag: use puts(str) instead of printf("%s\n", str)
+ + mktag: remove redundant braces in one-line body "if"
+ + mktag: use default strbuf_read() hint
+ + mktag tests: test verify_object() with replaced objects
+ + mktag tests: improve verify_object() test coverage
+ + mktag tests: test "hash-object" compatibility
+ + mktag tests: stress test whitespace handling
+ + mktag tests: run "fsck" after creating "mytag"
+ + mktag tests: don't create "mytag" twice
+ + mktag tests: don't redirect stderr to a file needlessly
+ + mktag tests: remove needless SHA-1 hardcoding
+ + mktag tests: use "test_commit" helper
+ + mktag tests: don't needlessly use a subshell
+ + mktag doc: update to explain why to use this
+ + mktag doc: grammar fix, when exists -> when it exists
+ + mktag doc: say <hash> not <sha1>
+
+ "git mktag" validates its input using its own rules before writing
+ a tag object---it has been updated to share the logic with "git
+ fsck".
+
+
+* cc/write-promisor-file (2021-01-14) 3 commits
+  (merged to 'next' on 2021-01-14 at 9d773d4734)
+ + pack-write: die on error in write_promisor_file()
+ + fetch-pack: refactor writing promisor file
+ + fetch-pack: rename helper to create_promisor_file()
+
+ A bit of code refactoring.
+
+
+* dl/reflog-with-single-entry (2021-01-11) 2 commits
+  (merged to 'next' on 2021-01-13 at 09b33209c4)
+ + refs: allow @{n} to work with n-sized reflog
+ + refs: factor out set_read_ref_cutoffs()
+
+ After expiring a reflog and making a single commit, the reflog for
+ the branch would record a single entry that knows both @{0} and
+ @{1}, but we failed to answer "what commit were we on?", i.e. @{1}
+
+
+* en/diffcore-rename (2021-01-04) 9 commits
+  (merged to 'next' on 2021-01-12 at fa769ebc35)
+ + diffcore-rename: remove unnecessary duplicate entry checks
+ + diffcore-rename: accelerate rename_dst setup
+ + diffcore-rename: simplify and accelerate register_rename_src()
+ + t4058: explore duplicate tree entry handling in a bit more detail
+ + t4058: add more tests and documentation for duplicate tree entry handling
+ + diffcore-rename: reduce jumpiness in progress counters
+ + diffcore-rename: simplify limit check
+ + diffcore-rename: avoid usage of global in too_many_rename_candidates()
+ + diffcore-rename: rename num_create to num_destinations
+ (this branch is used by en/merge-ort-perf.)
+
+ File-level rename detection updates.
+
+
+* en/merge-ort-3 (2020-12-15) 11 commits
+  (merged to 'next' on 2021-01-08 at fe481b9627)
+ + merge-ort: add implementation of type-changed rename handling
+ + merge-ort: add implementation of normal rename handling
+ + merge-ort: add implementation of rename collisions
+ + merge-ort: add implementation of rename/delete conflicts
+ + merge-ort: add implementation of both sides renaming differently
+ + merge-ort: add implementation of both sides renaming identically
+ + merge-ort: add basic outline for process_renames()
+ + merge-ort: implement compare_pairs() and collect_renames()
+ + merge-ort: implement detect_regular_renames()
+ + merge-ort: add initial outline for basic rename detection
+ + merge-ort: add basic data structures for handling renames
+ (this branch is used by en/merge-ort-perf and en/ort-directory-rename.)
+
+ Rename detection is added to the "ORT" merge strategy.
+
+
+* jc/deprecate-pack-redundant (2020-12-15) 1 commit
+  (merged to 'next' on 2021-01-12 at 14034c7892)
+ + pack-redundant: gauge the usage before proposing its removal
+
+ Warn loudly when the "pack-redundant" command, which has been left
+ stale with almost unusable performance issues, gets used, as we no
+ longer want to recommend its use (instead just "repack -d" instead).
+
+
+* jk/forbid-lf-in-git-url (2021-01-07) 2 commits
+  (merged to 'next' on 2021-01-12 at 88a1d937ae)
+ + fsck: reject .gitmodules git:// urls with newlines
+ + git_connect_git(): forbid newlines in host and path
+
+ Newline characters in the host and path part of git:// URL are
+ now forbidden.
+
+
+* jk/log-cherry-pick-duplicate-patches (2021-01-12) 1 commit
+  (merged to 'next' on 2021-01-13 at abcfbf8603)
+ + patch-ids: handle duplicate hashmap entries
+
+ When more than one commit with the same patch ID appears on one
+ side, "git log --cherry-pick A...B" did not exclude them all when a
+ commit with the same patch ID appears on the other side.  Now it
+ does.
+
+
+* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits
+  (merged to 'next' on 2021-01-13 at 0e93f0d529)
+ + tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
+ + t99*: adjust the references to the default branch name "main"
+ + tests(git-p4): transition to the default branch name `main`
+ + t9[5-7]*: adjust the references to the default branch name "main"
+ + t9[0-4]*: adjust the references to the default branch name "main"
+ + t8*: adjust the references to the default branch name "main"
+ + t7[5-9]*: adjust the references to the default branch name "main"
+ + t7[0-4]*: adjust the references to the default branch name "main"
+ + t6[4-9]*: adjust the references to the default branch name "main"
+ + t64*: preemptively adjust alignment to prepare for `master` -> `main`
+ + t6[0-3]*: adjust the references to the default branch name "main"
+ + t5[6-9]*: adjust the references to the default branch name "main"
+ + t55[4-9]*: adjust the references to the default branch name "main"
+ + t55[23]*: adjust the references to the default branch name "main"
+ + t551*: adjust the references to the default branch name "main"
+ + t550*: adjust the references to the default branch name "main"
+ + t5503: prepare aligned comment for replacing `master` with `main`
+ + t5[0-4]*: adjust the references to the default branch name "main"
+ + t5323: prepare centered comment for `master` -> `main`
+ + t4*: adjust the references to the default branch name "main"
+ + t3[5-9]*: adjust the references to the default branch name "main"
+ + t34*: adjust the references to the default branch name "main"
+ + t3416: preemptively adjust alignment in a comment
+ + t3[0-3]*: adjust the references to the default branch name "main"
+ + t2*: adjust the references to the default branch name "main"
+ + t[01]*: adjust the references to the default branch name "main"
+ + t0060: preemptively adjust alignment
+ + tests: mark tests relying on the current default for `init.defaultBranch`
+ + Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch
+
+ Prepare tests not to be affected by the name of the default branch
+ "git init" creates.
+
+
+* jx/bundle (2021-01-11) 3 commits
+  (merged to 'next' on 2021-01-14 at 749a907dd2)
+ + bundle: arguments can be read from stdin
+ + bundle: lost objects when removing duplicate pendings
+ + test: add helper functions for git-bundle
+
+ "git bundle" learns "--stdin" option to read its refs from the
+ standard input.  Also, it now does not lose refs whey they point
+ at the same object.
+
+
+* ma/more-opaque-lock-file (2021-01-06) 5 commits
+  (merged to 'next' on 2021-01-12 at f246e38b50)
+ + read-cache: try not to peek into `struct {lock_,temp}file`
+ + refs/files-backend: don't peek into `struct lock_file`
+ + midx: don't peek into `struct lock_file`
+ + commit-graph: don't peek into `struct lock_file`
+ + builtin/gc: don't peek into `struct lock_file`
+
+ Code clean-up.
+
+
+* ps/config-env-pairs (2021-01-15) 8 commits
+  (merged to 'next' on 2021-01-15 at 4ed0341270)
+ + config: allow specifying config entries via envvar pairs
+ + environment: make `getenv_safe()` a public function
+ + config: store "git -c" variables using more robust format
+ + config: parse more robust format in GIT_CONFIG_PARAMETERS
+ + config: extract function to parse config pairs
+ + quote: make sq_dequote_step() a public function
+ + config: add new way to pass config via `--config-env`
+ + git: add `--super-prefix` to usage string
+
+ Introduce two new ways to feed configuration variable-value pairs
+ via environment variables, and tweak the way GIT_CONFIG_PARAMETERS
+ encodes variable/value pairs to make it more robust.
+
+
+* ps/fetch-atomic (2021-01-12) 5 commits
+  (merged to 'next' on 2021-01-13 at a8896d0873)
+ + fetch: implement support for atomic reference updates
+ + fetch: allow passing a transaction to `s_update_ref()`
+ + fetch: refactor `s_update_ref` to use common exit path
+ + fetch: use strbuf to format FETCH_HEAD updates
+ + fetch: extract writing to FETCH_HEAD
+
+ "git fetch" learns to treat ref updates atomically in all-or-none
+ fashion, just like "git push" does, with the new "--atomic" option.
+
 
-       https://github.com/gitster/git/
+* sj/untracked-files-in-submodule-directory-is-not-dirty (2020-12-08) 1 commit
+  (merged to 'next' on 2021-01-12 at 2aca21c42e)
+ + diff: do not show submodule with untracked files as "-dirty"
 
-Even though the preformatted documentation in HTML and man format
-are not sources, they are published in these repositories for
-convenience (replace "htmldocs" with "manpages" for the manual
-pages):
+ "git diff" showed a submodule working tree with untracked cruft as
+ "Submodule commit <objectname>-dirty", but a natural expectation is
+ that the "-dirty" indicator would align with "git describe --dirty",
+ which does not consider having untracked files in the working tree
+ as source of dirtiness.  The inconsistency has been fixed.
 
-       git://git.kernel.org/pub/scm/git/git-htmldocs.git/
-       https://github.com/gitster/git-htmldocs.git/
 
-Release tarballs are available at:
+* tb/pack-revindex-api (2021-01-14) 21 commits
+  (merged to 'next' on 2021-01-15 at 1f2997979c)
+ + for_each_object_in_pack(): clarify pack vs index ordering
+ + pack-revindex.c: avoid direct revindex access in 'offset_to_pack_pos()'
+ + pack-revindex: hide the definition of 'revindex_entry'
+ + pack-revindex: remove unused 'find_revindex_position()'
+ + pack-revindex: remove unused 'find_pack_revindex()'
+ + builtin/gc.c: guess the size of the revindex
+ + for_each_object_in_pack(): convert to new revindex API
+ + unpack_entry(): convert to new revindex API
+ + packed_object_info(): convert to new revindex API
+ + retry_bad_packed_offset(): convert to new revindex API
+ + get_delta_base_oid(): convert to new revindex API
+ + rebuild_existing_bitmaps(): convert to new revindex API
+ + try_partial_reuse(): convert to new revindex API
+ + get_size_by_pos(): convert to new revindex API
+ + show_objects_for_type(): convert to new revindex API
+ + bitmap_position_packfile(): convert to new revindex API
+ + check_object(): convert to new revindex API
+ + write_reused_pack_verbatim(): convert to new revindex API
+ + write_reused_pack_one(): convert to new revindex API
+ + write_reuse_object(): convert to new revindex API
+ + pack-revindex: introduce a new API
+ (this branch is used by tb/pack-revindex-on-disk.)
 
-       https://www.kernel.org/pub/software/scm/git/
+ Abstract accesses to in-core revindex that allows enumerating
+ objects stored in a packfile in the order they appear in the pack,
+ in preparation for introducing an on-disk precomputed revindex.
 
 --------------------------------------------------
 [New Topics]
 
-* ab/fsck-doc-fix (2021-01-16) 1 commit
- - fsck doc: remove ancient out-of-date diagnostics
+* cm/rebase-i (2021-01-24) 9 commits
+ . doc/git-rebase: add documentation for fixup [-C|-c] options
+ . rebase -i: teach --autosquash to work with amend!
+ . t3437: test script for fixup [-C|-c] options in interactive rebase
+ . rebase -i: add fixup [-C | -c] command
+ . sequencer: use const variable for commit message comments
+ . sequencer: pass todo_item to do_pick_commit()
+ . rebase -i: comment out squash!/fixup! subjects from squash message
+ . sequencer: factor out code to append squash message
+ . rebase -i: only write fixup-message when it's needed
 
- Documentation for "git fsck" lost stale bits that has become
- incorrect.
+ "rebase -i" is getting cleaned up and also enhanced.
+
+ It seems to break t3415 when merged to 'seen'.
+
+
+* ds/maintenance-prefetch-cleanup (2021-01-20) 2 commits
+ - t7900: clean up some broken refs
+ - maintenance: set log.excludeDecoration durin prefetch
+
+ Test clean-up plus UI improvement by hiding extra refs that
+ the prefetch task uses from "log --decorate" output.
 
  Will merge to 'next'.
 
 
-* ab/tests-various-fixup (2021-01-16) 11 commits
- - tests: add a "set -o pipefail" for a patched bash
- - tests: split up bash detection library
- - archive tests: use a cheaper "zipinfo -h" invocation to get header
- - upload-pack tests: avoid a non-zero "grep" exit status
- - rm tests: actually test for SIGPIPE in SIGPIPE test
- - git-svn tests: rewrite brittle tests to use "--[no-]merges".
- - git svn mergeinfo tests: refactor "test -z" to use test_must_be_empty
- - git svn mergeinfo tests: modernize redirection & quoting style
- - cache-tree tests: refactor overly complex function
- - cache-tree tests: use a sub-shell with less indirection
- - cache-tree tests: remove unused $2 parameter
+* ds/more-index-cleanups (2021-01-23) 9 commits
+ - t1092: test interesting sparse-checkout scenarios
+ - test-lib: test_region looks for trace2 regions
+ - sparse-checkout: load sparse-checkout patterns
+ - name-hash: use trace2 regions for init
+ - repository: add repo reference to index_state
+ - fsmonitor: de-duplicate BUG()s around dirty bits
+ - cache-tree: extract subtree_pos()
+ - cache-tree: simplify verify_cache() prototype
+ - cache-tree: clean up cache_tree_update()
+ (this branch uses ds/cache-tree-basics.)
 
Various test updates.
Cleaning various codepaths up.
 
Looking good.
Will merge to 'next'.
 
---------------------------------------------------
-[Graduated to 'master']
 
-* ab/gettext-charset-comment-fix (2021-01-11) 2 commits
-  (merged to 'next' on 2021-01-12 at bc7f60e246)
- + gettext.c: remove/reword a mostly-useless comment
- + Makefile: remove a warning about old GETTEXT_POISON flag
+* jt/packfile-as-uri-doc (2021-01-20) 1 commit
+ - Doc: clarify contents of packfile sent as URI
 
Comments update.
Doc fix for packfile URI feature.
 
+ Will merge to 'next'.
 
-* ad/t4129-setfacl-target-fix (2021-01-09) 1 commit
-  (merged to 'next' on 2021-01-12 at e09694772a)
- + t4129: fix setfacl-related permissions failure
 
- Test fix.
+* rs/worktree-list-verbose (2021-01-20) 7 commits
+ - worktree: teach `list` verbose mode
+ - worktree: teach `list` to annotate prunable worktree
+ - worktree: teach `list --porcelain` to annotate locked worktree
+ - t2402: ensure locked worktree is properly cleaned up
+ - worktree: teach worktree_lock_reason() to gently handle main worktree
+ - worktree: teach worktree to lazy-load "prunable" reason
+ - worktree: libify should_prune_worktree()
 
+ The "list" subcommand of "git worktree" learns to show more info in
+ its verbose mode.
 
-* bc/doc-status-short (2021-01-11) 1 commit
-  (merged to 'next' on 2021-01-13 at 6093625f0c)
- + docs: rephrase and clarify the git status --short format
+ Expecting a reroll.
+ cf. <gohp6kv9bq4a32.fsf@gmail.com>
 
- Doc update.
 
+* tb/geometric-repack (2021-01-20) 10 commits
+ - builtin/repack.c: add '--geometric' option
+ - builtin/repack.c: extract loose object handling
+ - builtin/pack-objects.c: teach '--keep-pack-stdin'
+ - packfile: add kept-pack cache for find_kept_pack_entry()
+ - pack-objects: rewrite honor-pack-keep logic
+ - p5303: measure time to repack with keep
+ - p5303: add missing &&-chains
+ - builtin/pack-objects.c: learn '--assume-kept-packs-closed'
+ - revision: learn '--no-kept-objects'
+ - packfile: introduce 'find_kept_pack_entry()'
 
-* dl/p4-encode-after-kw-expansion (2020-12-23) 1 commit
-  (merged to 'next' on 2021-01-13 at 8fce17d998)
- + git-p4: fix syncing file types with pattern
+ "git repack" so far has been only capable of repacking everything
+ under the sun into a single pack (or split by size).  A cleverer
+ strategy to reduce the cost of repacking a repository has been
+ introduced.
 
- Text encoding fix for "git p4".
 
+* zh/ls-files-deduplicate (2021-01-23) 3 commits
+ - ls-files.c: add --deduplicate option
+ - ls_files.c: consolidate two for loops into one
+ - ls_files.c: bugfix for --deleted and --modified
 
-* ds/for-each-repo-noopfix (2021-01-07) 1 commit
-  (merged to 'next' on 2021-01-12 at 92f83b5db1)
- + for-each-repo: do nothing on empty config
+ "git ls-files" can and does show multiple entries when the index is
+ unmerged, which is a source for confusion unless -s/-u option is in
+ use.  A new option --deduplicate has been introduced.
 
- "git for-each-repo --config=<var> <cmd>" should not run <cmd> for
- any repository when the configuration variable <var> is not defined
- even once.
+ Will merge to 'next'.
 
 
-* ds/maintenance-part-4 (2021-01-05) 4 commits
-  (merged to 'next' on 2021-01-08 at 1f98c859ea)
- + maintenance: use Windows scheduled tasks
- + maintenance: use launchctl on macOS
- + maintenance: include 'cron' details in docs
- + maintenance: extract platform-specific scheduling
+* ah/rebase-no-fork-point-config (2021-01-21) 1 commit
+ - rebase: add a config option for --no-fork-point
 
- Follow-up on the "maintenance part-3" which introduced scheduled
- maintenance tasks to support platforms whose native scheduling
methods are not 'cron'.
+ "git rebase --[no-]fork-point" gained a configuration variable
+ rebase.forkPoint so that users do not have to keep specifying a
non-default setting.
 
+ Expecting a reroll to update its tests.
+ cf. <CAMMLpeTDNLUz9UVnL3aVK=J7X50Sq8L-OVGaoEsT5AY6EQON-g@mail.gmail.com>
 
-* jc/macos-install-dependencies-fix (2021-01-14) 1 commit
-  (merged to 'next' on 2021-01-14 at 5a11de010b)
- + ci/install-depends: attempt to fix "brew cask" stuff
 
- Fix for procedure to building CI test environment for mac.
+* jk/peel-iterated-oid (2021-01-21) 1 commit
+ - refs: switch peel_ref() to peel_iterated_oid()
 
+ The peel_ref() API has been replaed with peel_iterated_oid().
 
-* jc/sign-off (2021-01-07) 1 commit
-  (merged to 'next' on 2021-01-12 at 0d9a2a9a41)
- + SubmittingPatches: tighten wording on "sign-off" procedure
+ Will merge to 'next'.
 
- Doc update.
 
+* jk/run-command-use-shell-doc (2021-01-22) 1 commit
+ - run-command: document use_shell option
 
-* jk/t5516-deflake (2021-01-09) 1 commit
-  (merged to 'next' on 2021-01-12 at ed5317a798)
- + t5516: loosen "not our ref" error check
+ The .use_shell flag in struct child_process that is passed to
+ run_command() API has been clarified with a bit more documentation.
 
- Test fix.
+ Will merge to 'next'.
+
+
+* js/range-diff-wo-dotdot (2021-01-21) 3 commits
+ - range-diff(docs): explain how to specify commit ranges
+ - range-diff: handle commit ranges other than A..B
+ - range-diff: refactor check for commit range
+
+ There are other ways than ".." for a single token to denote a
+ "commit range", namely "<rev>^!" and "<rev>^-<n>", but "git
+ range-diff" did not understand them.
+
+ Getting closer.
+ cf. <xmqqzh107m5d.fsf@gitster.c.googlers.com>
+
+
+* js/skip-dashed-built-ins-from-config-mak (2021-01-21) 1 commit
+ - SKIP_DASHED_BUILT_INS: respect `config.mak`
+
+ Build fix.
 
+ Will merge to 'next'.
+
+
+* jx/t5411-unique-filenames (2021-01-22) 2 commits
+ - t5411: refactor check of refs using test_cmp_refs
+ - t5411: use different out file to prevent overwriting
+
+ Avoid individual tests in t5411 from getting affected by each other
+ by forcing them to use separate output files during the test.
+
+
+* ph/use-delete-refs (2021-01-21) 1 commit
+ - use delete_refs when deleting tags or branches
+
+ When removing many branches and tags, the code used to do so one
+ ref at a time.  There is another API it can use to delete multiple
+ refs, and it makes quite a lot of performance difference when the
+ refs are packed.
+
+ Will merge to 'next'.
+
+
+* tb/ls-refs-optim (2021-01-22) 3 commits
+ - ls-refs.c: traverse prefixes of disjoint "ref-prefix" sets
+ - ls-refs.c: initialize 'prefixes' before using it
+ - refs: expose 'for_each_fullref_in_prefixes'
+
+ The ls-refs protocol operation has been optimized to narrow the
+ sub-hiearchy of refs/ it walks to produce response.
 
-* mt/t4129-with-setgid-dir (2021-01-06) 1 commit
-  (merged to 'next' on 2021-01-12 at 7a54dd92d8)
- + t4129: don't fail if setgid is set in the test directory
+ Will merge to 'next'.
 
- Some tests expect that "ls -l" output has either '-' or 'x' for
- group executable bit, but setgid bit can be inherited from parent
- directory and make these fields 'S' or 's' instead, causing test
- failures.
 
+* ab/grep-pcre-invalid-utf8 (2021-01-24) 2 commits
+ - grep/pcre2: better support invalid UTF-8 haystacks
+ - grep/pcre2 tests: don't rely on invalid UTF-8 data test
 
-* pb/mergetool-tool-help-fix (2021-01-06) 1 commit
-  (merged to 'next' on 2021-01-12 at ba0f76b413)
- + mergetool--lib: fix '--tool-help' to correctly show available tools
 
- Fix 2.29 regression where "git mergetool --tool-help" fails to list
- all the available tools.
+* ab/retire-pcre1 (2021-01-23) 2 commits
+ - Remove support for v1 of the PCRE library
+ - config.mak.uname: remove redundant NO_LIBPCRE1_JIT flag
 
 
-* tb/local-clone-race-doc (2021-01-11) 1 commit
-  (merged to 'next' on 2021-01-14 at b86c0426de)
- + Documentation/git-clone.txt: document race with --local
+* jt/transfer-fsck-across-packs (2021-01-23) 4 commits
+ - fetch-pack: print and use dangling .gitmodules
+ - fetch-pack: with packfile URIs, use index-pack arg
+ - http-fetch: allow custom index-pack args
+ - http: allow custom index-pack args
 
- Doc update.
+ The approach to "fsck" the incoming objects in "index-pack" is
+ attractive for performance reasons (we have them already in core,
+ inflated and ready to be inspected), but fundamentally cannot be
+ applied fully when we receive more than one pack stream, as a tree
+ object in one pack may refer to a blob object in another pack as
+ ".gitmodules", when we want to inspect blobs that are used as
+ ".gitmodules" file, for example.  Teach "index-pack" to emit
+ objects that must be inspected later and check them in the calling
+ "fetch-pack" process.
 
 
-* ug/doc-lose-dircache (2021-01-09) 1 commit
-  (merged to 'next' on 2021-01-12 at 28310380a5)
- + doc: remove "directory cache" from man pages
+* jv/pack-objects-narrower-ref-iteration (2021-01-22) 1 commit
+ - builtin/pack-objects.c: avoid iterating all refs
 
- Doc update.
+ The "pack-objects" command needs to iterate over all the tags when
+ automatic tag following is enabled, but it actually iterated over
+ all refs and then discarded everything outside "refs/tags/"
+ hierarchy, which was quite wasteful.
 
+ Will merge to 'next'.
 
-* vv/send-email-with-less-secure-apps-access (2021-01-07) 1 commit
-  (merged to 'next' on 2021-01-12 at 53243ca7e7)
- + git-send-email.txt: mention less secure app access with Gmail
 
- Doc update.
+* jv/upload-pack-filter-spec-quotefix (2021-01-25) 1 commit
+ - upload-pack.c: fix filter spec quoting bug
 
 --------------------------------------------------
 [Stalled]
@@ -339,7 +735,34 @@ Release tarballs are available at:
 --------------------------------------------------
 [Cooking]
 
-* en/ort-directory-rename (2021-01-07) 18 commits
+* ab/fsck-doc-fix (2021-01-20) 1 commit
+  (merged to 'next' on 2021-01-25 at e3db0fe96f)
+ + fsck doc: remove ancient out-of-date diagnostics
+
+ Documentation for "git fsck" lost stale bits that has become
+ incorrect.
+
+ Will merge to 'master'.
+
+
+* ab/tests-various-fixup (2021-01-23) 10 commits
+ - rm tests: actually test for SIGPIPE in SIGPIPE test
+ - archive tests: use a cheaper "zipinfo -h" invocation to get header
+ - upload-pack tests: avoid a non-zero "grep" exit status
+ - git-svn tests: rewrite brittle tests to use "--[no-]merges".
+ - git svn mergeinfo tests: refactor "test -z" to use test_must_be_empty
+ - git svn mergeinfo tests: modernize redirection & quoting style
+ - cache-tree tests: explicitly test HEAD and index differences
+ - cache-tree tests: use a sub-shell with less indirection
+ - cache-tree tests: remove unused $2 parameter
+ - cache-tree tests: refactor for modern test style
+
+ Various test updates.
+
+ Will merge to 'next'.
+
+
+* en/ort-directory-rename (2021-01-20) 18 commits
  - merge-ort: fix a directory rename detection bug
  - merge-ort: process_renames() now needs more defensiveness
  - merge-ort: implement apply_directory_rename_modifications()
@@ -358,42 +781,14 @@ Release tarballs are available at:
  - merge-ort: initialize and free new directory rename data structures
  - merge-ort: add new data structures for directory rename detection
  - Merge branch 'en/merge-ort-3' into en/ort-directory-rename
- (this branch is used by en/merge-ort-perf; uses en/merge-ort-3.)
+ (this branch is used by en/merge-ort-perf.)
 
  ORT merge strategy learns to infer "renamed directory" while
  merging.
 
 
-* jk/forbid-lf-in-git-url (2021-01-07) 2 commits
-  (merged to 'next' on 2021-01-12 at 88a1d937ae)
- + fsck: reject .gitmodules git:// urls with newlines
- + git_connect_git(): forbid newlines in host and path
-
- Newline characters in the host and path part of git:// URL are
- now forbidden.
-
- Will merge to 'master'.
-
-
-* ps/fetch-atomic (2021-01-12) 5 commits
-  (merged to 'next' on 2021-01-13 at a8896d0873)
- + fetch: implement support for atomic reference updates
- + fetch: allow passing a transaction to `s_update_ref()`
- + fetch: refactor `s_update_ref` to use common exit path
- + fetch: use strbuf to format FETCH_HEAD updates
- + fetch: extract writing to FETCH_HEAD
-
- "git fetch" learns to treat ref updates atomically in all-or-none
- fashion, just like "git push" does, with the new "--atomic" option.
-
- Will merge to 'master'.
-
-
-* ab/detox-gettext-tests (2021-01-11) 6 commits
+* ab/detox-gettext-tests (2021-01-21) 3 commits
  - tests: remove uses of GIT_TEST_GETTEXT_POISON=false
- - tests: (almost) remove C_LOCALE_OUTPUT prerequisites
- - tests: (almost) remove use of "test_i18ngrep !"
- - tests: remove misc use of test_i18n{cmp,grep}
  - tests: remove support for GIT_TEST_GETTEXT_POISON
  - ci: remove GETTEXT_POISON jobs
 
@@ -401,140 +796,43 @@ Release tarballs are available at:
  not be controversial.
 
 
-* bc/signed-objects-with-both-hashes (2021-01-11) 6 commits
- - SQUASH??? ulong vs size_t
+* bc/signed-objects-with-both-hashes (2021-01-18) 6 commits
  - gpg-interface: remove other signature headers before verifying
  - ref-filter: hoist signature parsing
  - commit: allow parsing arbitrary buffers with headers
  - gpg-interface: improve interface for parsing tags
- - commit: ignore additional signatures when parsing signed commits
-
- Signed commits and tags now allow verification of objects, whose
- two object names (one in SHA-1, the other in SHA-256) are both
- signed.
-
-
-* ds/update-index (2021-01-09) 14 commits
- - update-index: remove static globals from callbacks
- - update-index: reduce static globals, part 2
- - update-index: reduce static globals, part 1
- - update-index: remove ce_match_stat(), all macros
- - update-index: replace several compatibility macros
- - update-index: use add_index_entry()
- - update-index: use remove_file_from_index()
- - update-index: use index_name_pos() over cache_name_pos()
- - update-index: use istate->cache_changed
- - update-index: use istate->cache_nr over active_nr
- - update-index: use istate->cache over active_cache
- - update-index: drop the_index, the_repository
- - rm: remove compatilibity macros
- - mv: remove index compatibility macros
- (this branch uses ag/merge-strategies-in-c.)
-
- The implementation of a few commands lost reliance of "the_index"
- compatibility macros by explicitly passing the index_state through
- the callchain.
-
- Unfortunately the base topic still needs to solidify.
-
-
-* jx/bundle (2021-01-11) 3 commits
-  (merged to 'next' on 2021-01-14 at 749a907dd2)
- + bundle: arguments can be read from stdin
- + bundle: lost objects when removing duplicate pendings
- + test: add helper functions for git-bundle
-
- "git bundle" learns "--stdin" option to read its refs from the
- standard input.  Also, it now does not lose refs whey they point
- at the same object.
-
- Will merge to 'master'.
-
-
-* ab/mailmap (2021-01-12) 22 commits
-  (merged to 'next' on 2021-01-13 at a3ce27912f)
- + shortlog: remove unused(?) "repo-abbrev" feature
- + mailmap doc + tests: document and test for case-insensitivity
- + mailmap tests: add tests for empty "<>" syntax
- + mailmap tests: add tests for whitespace syntax
- + mailmap tests: add a test for comment syntax
- + mailmap doc + tests: add better examples & test them
- + tests: refactor a few tests to use "test_commit --append"
- + test-lib functions: add an --append option to test_commit
- + test-lib functions: add --author support to test_commit
- + test-lib functions: document arguments to test_commit
- + test-lib functions: expand "test_commit" comment template
- + mailmap: test for silent exiting on missing file/blob
- + mailmap tests: get rid of overly complex blame fuzzing
- + mailmap tests: add a test for "not a blob" error
- + mailmap tests: remove redundant entry in test
- + mailmap tests: improve --stdin tests
- + mailmap tests: modernize syntax & test idioms
- + mailmap tests: use our preferred whitespace syntax
- + mailmap doc: start by mentioning the comment syntax
- + check-mailmap doc: note config options
- + mailmap doc: quote config variables `like.this`
- + mailmap doc: create a new "gitmailmap(5)" man page
- (this branch is used by ab/mailmap-fixup.)
-
- Clean-up docs, codepaths and tests around mailmap.
-
- Will merge to 'master'.
-
-
-* jk/log-cherry-pick-duplicate-patches (2021-01-12) 1 commit
-  (merged to 'next' on 2021-01-13 at abcfbf8603)
- + patch-ids: handle duplicate hashmap entries
-
- When more than one commit with the same patch ID appears on one
- side, "git log --cherry-pick A...B" did not exclude them all when a
- commit with the same patch ID appears on the other side.  Now it
- does.
-
- Will merge to 'master'.
-
-
-* tb/pack-revindex-api (2021-01-14) 21 commits
-  (merged to 'next' on 2021-01-15 at 1f2997979c)
- + for_each_object_in_pack(): clarify pack vs index ordering
- + pack-revindex.c: avoid direct revindex access in 'offset_to_pack_pos()'
- + pack-revindex: hide the definition of 'revindex_entry'
- + pack-revindex: remove unused 'find_revindex_position()'
- + pack-revindex: remove unused 'find_pack_revindex()'
- + builtin/gc.c: guess the size of the revindex
- + for_each_object_in_pack(): convert to new revindex API
- + unpack_entry(): convert to new revindex API
- + packed_object_info(): convert to new revindex API
- + retry_bad_packed_offset(): convert to new revindex API
- + get_delta_base_oid(): convert to new revindex API
- + rebuild_existing_bitmaps(): convert to new revindex API
- + try_partial_reuse(): convert to new revindex API
- + get_size_by_pos(): convert to new revindex API
- + show_objects_for_type(): convert to new revindex API
- + bitmap_position_packfile(): convert to new revindex API
- + check_object(): convert to new revindex API
- + write_reused_pack_verbatim(): convert to new revindex API
- + write_reused_pack_one(): convert to new revindex API
- + write_reuse_object(): convert to new revindex API
- + pack-revindex: introduce a new API
- (this branch is used by tb/pack-revindex-on-disk.)
-
- Abstract accesses to in-core revindex that allows enumerating
- objects stored in a packfile in the order they appear in the pack,
- in preparation for introducing an on-disk precomputed revindex.
+ - commit: ignore additional signatures when parsing signed commits
+ - ref-filter: switch some uses of unsigned long to size_t
 
- Will merge to 'master'.
+ Signed commits and tags now allow verification of objects, whose
+ two object names (one in SHA-1, the other in SHA-256) are both
+ signed.
 
+ Looking good.
 
-* cc/write-promisor-file (2021-01-14) 3 commits
-  (merged to 'next' on 2021-01-14 at 9d773d4734)
- + pack-write: die on error in write_promisor_file()
- + fetch-pack: refactor writing promisor file
- + fetch-pack: rename helper to create_promisor_file()
 
- A bit of code refactoring.
+* ds/update-index (2021-01-09) 14 commits
+ - update-index: remove static globals from callbacks
+ - update-index: reduce static globals, part 2
+ - update-index: reduce static globals, part 1
+ - update-index: remove ce_match_stat(), all macros
+ - update-index: replace several compatibility macros
+ - update-index: use add_index_entry()
+ - update-index: use remove_file_from_index()
+ - update-index: use index_name_pos() over cache_name_pos()
+ - update-index: use istate->cache_changed
+ - update-index: use istate->cache_nr over active_nr
+ - update-index: use istate->cache over active_cache
+ - update-index: drop the_index, the_repository
+ - rm: remove compatilibity macros
+ - mv: remove index compatibility macros
+ (this branch uses ag/merge-strategies-in-c.)
 
- Will merge to 'master'.
+ The implementation of a few commands lost reliance of "the_index"
+ compatibility macros by explicitly passing the index_state through
+ the callchain.
+
+ Unfortunately the base topic still needs to solidify.
 
 
 * js/rebase-i-commit-cleanup-fix (2021-01-12) 1 commit
@@ -548,19 +846,6 @@ Release tarballs are available at:
  cf. <20210112204939.1095-1-martin.agren@gmail.com>
 
 
-* ab/mailmap-fixup (2021-01-14) 4 commits
-  (merged to 'next' on 2021-01-15 at ef14e2263d)
- + t4203: make blame output massaging more robust
- + mailmap doc: use correct environment variable 'GIT_WORK_TREE'
- + t4203: stop losing return codes of git commands
- + test-lib-functions.sh: fix usage for test_commit()
- (this branch uses ab/mailmap.)
-
- Follow-up fixes and improvements to ab/mailmap topic.
-
- Will merge to 'master'.
-
-
 * tb/pack-revindex-on-disk (2021-01-14) 8 commits
  - pack-revindex: ensure that on-disk reverse indexes are given precedence
  - t: support GIT_TEST_WRITE_REV_INDEX
@@ -570,106 +855,59 @@ Release tarballs are available at:
  - builtin/index-pack.c: write reverse indexes
  - pack-write.c: prepare to write 'pack-*.rev' files
  - packfile: prepare for the existence of '*.rev' files
- (this branch uses tb/pack-revindex-api.)
 
  Introduce an on-disk file to record revindex for packdata, which
  traditionally was always created on the fly and only in-core.
 
 
-* en/merge-ort-perf (2021-01-15) 4 commits
+* en/merge-ort-perf (2021-01-23) 6 commits
  - merge-ort: begin performance work; instrument with trace2_region_* calls
+ - merge-ort: ignore the directory rename split conflict for now
+ - merge-ort: fix massive leak
  - Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
  - Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
  - Merge branch 'en/diffcore-rename' into en/merge-ort-perf
- (this branch uses en/diffcore-rename, en/merge-ort-3, en/ort-conflict-handling and en/ort-directory-rename.)
-
-
-* ab/branch-sort (2021-01-07) 7 commits
-  (merged to 'next' on 2021-01-12 at 1231feea7c)
- + branch: show "HEAD detached" first under reverse sort
- + branch: sort detached HEAD based on a flag
- + ref-filter: move ref_sorting flags to a bitfield
- + ref-filter: move "cmp_fn" assignment into "else if" arm
- + ref-filter: add braces to if/else if/else chain
- + branch tests: add to --sort tests
- + branch: change "--local" to "--list" in comment
-
- The implementation of "git branch --sort" wrt the detached HEAD
- display has always been hacky, which has been cleaned up.
-
- Will merge to 'master'.
-
+ (this branch uses en/ort-conflict-handling and en/ort-directory-rename.)
 
-* ab/coc-update-to-2.0 (2021-01-13) 3 commits
-  (merged to 'next' on 2021-01-15 at 4859c12625)
- + CoC: update to version 2.0 + local changes
- + CoC: explicitly take any whitespace breakage
- + CoC: Update word-wrapping to match upstream
-
- Update the Code-of-conduct to version 2.0 from the upstream (we've
- been using version 1.4).
-
- Will merge to 'master'.
-
-
-* dl/reflog-with-single-entry (2021-01-11) 2 commits
-  (merged to 'next' on 2021-01-13 at 09b33209c4)
- + refs: allow @{n} to work with n-sized reflog
- + refs: factor out set_read_ref_cutoffs()
-
- After expiring a reflog and making a single commit, the reflog for
- the branch would record a single entry that knows both @{0} and
- @{1}, but we failed to answer "what commit were we on?", i.e. @{1}
-
- Will merge to 'master'.
+ The "ort" merge strategy.
 
 
 * ds/cache-tree-basics (2021-01-15) 10 commits
- - cache-tree: speed up consecutive path comparisons
- - cache-tree: use ce_namelen() instead of strlen()
- - index-format: discuss recursion of cache-tree better
- - index-format: update preamble to cache tree extension
- - index-format: use 'cache tree' over 'cached tree'
- - cache-tree: trace regions for prime_cache_tree
- - cache-tree: trace regions for I/O
- - cache-tree: use trace2 in cache_tree_update()
- - unpack-trees: add trace2 regions
- - tree-walk: report recursion counts
+  (merged to 'next' on 2021-01-25 at 29ee74df7b)
+ + cache-tree: speed up consecutive path comparisons
+ + cache-tree: use ce_namelen() instead of strlen()
+ + index-format: discuss recursion of cache-tree better
+ + index-format: update preamble to cache tree extension
+ + index-format: use 'cache tree' over 'cached tree'
+ + cache-tree: trace regions for prime_cache_tree
+ + cache-tree: trace regions for I/O
+ + cache-tree: use trace2 in cache_tree_update()
+ + unpack-trees: add trace2 regions
+ + tree-walk: report recursion counts
+ (this branch is used by ds/more-index-cleanups.)
 
  Document, clean-up and optimize the code around the cache-tree
  extension in the index.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * en/ort-conflict-handling (2021-01-04) 10 commits
- - merge-ort: add handling for different types of files at same path
- - merge-ort: copy find_first_merges() implementation from merge-recursive.c
- - merge-ort: implement format_commit()
- - merge-ort: copy and adapt merge_submodule() from merge-recursive.c
- - merge-ort: copy and adapt merge_3way() from merge-recursive.c
- - merge-ort: flesh out implementation of handle_content_merge()
- - merge-ort: handle book-keeping around two- and three-way content merge
- - merge-ort: implement unique_path() helper
- - merge-ort: handle directory/file conflicts that remain
- - merge-ort: handle D/F conflict where directory disappears due to merge
+  (merged to 'next' on 2021-01-25 at 369c1516c4)
+ + merge-ort: add handling for different types of files at same path
+ + merge-ort: copy find_first_merges() implementation from merge-recursive.c
+ + merge-ort: implement format_commit()
+ + merge-ort: copy and adapt merge_submodule() from merge-recursive.c
+ + merge-ort: copy and adapt merge_3way() from merge-recursive.c
+ + merge-ort: flesh out implementation of handle_content_merge()
+ + merge-ort: handle book-keeping around two- and three-way content merge
+ + merge-ort: implement unique_path() helper
+ + merge-ort: handle directory/file conflicts that remain
+ + merge-ort: handle D/F conflict where directory disappears due to merge
  (this branch is used by en/merge-ort-perf.)
 
  ORT merge strategy learns more support for merge conflicts.
 
- Will merge to 'next'.
-
-
-* ma/more-opaque-lock-file (2021-01-06) 5 commits
-  (merged to 'next' on 2021-01-12 at f246e38b50)
- + read-cache: try not to peek into `struct {lock_,temp}file`
- + refs/files-backend: don't peek into `struct lock_file`
- + midx: don't peek into `struct lock_file`
- + commit-graph: don't peek into `struct lock_file`
- + builtin/gc: don't peek into `struct lock_file`
-
- Code clean-up.
-
  Will merge to 'master'.
 
 
@@ -682,7 +920,7 @@ Release tarballs are available at:
  cf. https://github.com/git/git/runs/1660588243?check_suite_focus=true#step:7:4186
 
 
-* ak/corrected-commit-date (2021-01-16) 11 commits
+* ak/corrected-commit-date (2021-01-18) 11 commits
  - doc: add corrected commit date info
  - commit-reach: use corrected commit dates in paint_down_to_common()
  - commit-graph: use generation v2 only if entire chain does
@@ -698,6 +936,8 @@ Release tarballs are available at:
  The commit-graph learned to use corrected commit dates instead of
  the generation number to help topological revision traversal.
 
+ Will merge to 'next'.
+
 
 * fc/mergetool-automerge (2021-01-09) 8 commits
  . fixup! mergetool: break setup_tool out into separate initialization function
@@ -717,7 +957,8 @@ Release tarballs are available at:
  cf. https://github.com/git/git/runs/1675932107?check_suite_focus=true#step:7:10373
 
 
-* mr/bisect-in-c-4 (2020-12-21) 7 commits
+* mr/bisect-in-c-4 (2021-01-23) 8 commits
+ - SQUASH???
  - bisect--helper: retire `--check-and-set-terms` subcommand
  - bisect--helper: reimplement `bisect_skip` shell function in C
  - bisect--helper: retire `--bisect-auto-next` subcommand
@@ -732,9 +973,9 @@ Release tarballs are available at:
 
 
 * jt/clone-unborn-head (2020-12-22) 3 commits
- clone: respect remote unborn HEAD
- connect, transport: add no-op arg for future patch
- ls-refs: report unborn targets of symrefs
. clone: respect remote unborn HEAD
. connect, transport: add no-op arg for future patch
. ls-refs: report unborn targets of symrefs
 
  "git clone" tries to locally check out the branch pointed at by
  HEAD of the remote repository after it is done, but the protocol
@@ -753,17 +994,6 @@ Release tarballs are available at:
  Seems to break tests on Windows
 
 
-* jc/deprecate-pack-redundant (2020-12-15) 1 commit
-  (merged to 'next' on 2021-01-12 at 14034c7892)
- + pack-redundant: gauge the usage before proposing its removal
-
- Warn loudly when the "pack-redundant" command, which has been left
- stale with almost unusable performance issues, gets used, as we no
- longer want to recommend its use (instead just "repack -d" instead).
-
- Will merge to 'master'.
-
-
 * mt/parallel-checkout-part-1 (2020-12-16) 9 commits
  - entry: add checkout_entry_ca() taking preloaded conv_attrs
  - entry: move conv_attrs lookup up to checkout_entry()
@@ -780,81 +1010,44 @@ Release tarballs are available at:
  Looking good.
 
 
-* en/merge-ort-3 (2020-12-15) 11 commits
-  (merged to 'next' on 2021-01-08 at fe481b9627)
- + merge-ort: add implementation of type-changed rename handling
- + merge-ort: add implementation of normal rename handling
- + merge-ort: add implementation of rename collisions
- + merge-ort: add implementation of rename/delete conflicts
- + merge-ort: add implementation of both sides renaming differently
- + merge-ort: add implementation of both sides renaming identically
- + merge-ort: add basic outline for process_renames()
- + merge-ort: implement compare_pairs() and collect_renames()
- + merge-ort: implement detect_regular_renames()
- + merge-ort: add initial outline for basic rename detection
- + merge-ort: add basic data structures for handling renames
- (this branch is used by en/merge-ort-perf and en/ort-directory-rename.)
-
- Rename detection is added to the "ORT" merge strategy.
-
- Will merge to 'master'.
-
-
-* ps/config-env-pairs (2021-01-15) 8 commits
-  (merged to 'next' on 2021-01-15 at 4ed0341270)
- + config: allow specifying config entries via envvar pairs
- + environment: make `getenv_safe()` a public function
- + config: store "git -c" variables using more robust format
- + config: parse more robust format in GIT_CONFIG_PARAMETERS
- + config: extract function to parse config pairs
- + quote: make sq_dequote_step() a public function
- + config: add new way to pass config via `--config-env`
- + git: add `--super-prefix` to usage string
-
- Introduce two new ways to feed configuration variable-value pairs
- via environment variables, and tweak the way GIT_CONFIG_PARAMETERS
- encodes variable/value pairs to make it more robust.
-
- Will merge to 'master'.
-
-
 * so/log-diff-merge (2020-12-21) 32 commits
- - t4013: add tests for --diff-merges=first-parent
- - doc/git-show: include --diff-merges description
- - doc/rev-list-options: document --first-parent changes merges format
- - doc/diff-generate-patch: mention new --diff-merges option
- - doc/git-log: describe new --diff-merges options
- - diff-merges: add '--diff-merges=1' as synonym for 'first-parent'
- - diff-merges: add old mnemonic counterparts to --diff-merges
- - diff-merges: let new options enable diff without -p
- - diff-merges: do not imply -p for new options
- - diff-merges: implement new values for --diff-merges
- - diff-merges: make -m/-c/--cc explicitly mutually exclusive
- - diff-merges: refactor opt settings into separate functions
- - diff-merges: get rid of now empty diff_merges_init_revs()
- - diff-merges: group diff-merge flags next to each other inside 'rev_info'
- - diff-merges: split 'ignore_merges' field
- - diff-merges: fix -m to properly override -c/--cc
- - t4013: add tests for -m failing to override -c/--cc
- - t4013: support test_expect_failure through ':failure' magic
- - diff-merges: revise revs->diff flag handling
- - diff-merges: handle imply -p on -c/--cc logic for log.c
- - diff-merges: introduce revs->first_parent_merges flag
- - diff-merges: new function diff_merges_set_dense_combined_if_unset()
- - diff-merges: new function diff_merges_suppress()
- - diff-merges: re-arrange functions to match the order they are called in
- - diff-merges: rename diff_merges_default_to_enable() to match semantics
- - diff-merges: move checks for first_parent_only out of the module
- - diff-merges: rename all functions to have common prefix
- - revision: move diff merges functions to its own diff-merges.c
- - revision: provide implementation for diff merges tweaks
- - revision: factor out initialization of diff-merge related settings
- - revision: factor out setup of diff-merge related settings
- - revision: factor out parsing of diff-merge related options
+  (merged to 'next' on 2021-01-25 at 63977ef287)
+ + t4013: add tests for --diff-merges=first-parent
+ + doc/git-show: include --diff-merges description
+ + doc/rev-list-options: document --first-parent changes merges format
+ + doc/diff-generate-patch: mention new --diff-merges option
+ + doc/git-log: describe new --diff-merges options
+ + diff-merges: add '--diff-merges=1' as synonym for 'first-parent'
+ + diff-merges: add old mnemonic counterparts to --diff-merges
+ + diff-merges: let new options enable diff without -p
+ + diff-merges: do not imply -p for new options
+ + diff-merges: implement new values for --diff-merges
+ + diff-merges: make -m/-c/--cc explicitly mutually exclusive
+ + diff-merges: refactor opt settings into separate functions
+ + diff-merges: get rid of now empty diff_merges_init_revs()
+ + diff-merges: group diff-merge flags next to each other inside 'rev_info'
+ + diff-merges: split 'ignore_merges' field
+ + diff-merges: fix -m to properly override -c/--cc
+ + t4013: add tests for -m failing to override -c/--cc
+ + t4013: support test_expect_failure through ':failure' magic
+ + diff-merges: revise revs->diff flag handling
+ + diff-merges: handle imply -p on -c/--cc logic for log.c
+ + diff-merges: introduce revs->first_parent_merges flag
+ + diff-merges: new function diff_merges_set_dense_combined_if_unset()
+ + diff-merges: new function diff_merges_suppress()
+ + diff-merges: re-arrange functions to match the order they are called in
+ + diff-merges: rename diff_merges_default_to_enable() to match semantics
+ + diff-merges: move checks for first_parent_only out of the module
+ + diff-merges: rename all functions to have common prefix
+ + revision: move diff merges functions to its own diff-merges.c
+ + revision: provide implementation for diff merges tweaks
+ + revision: factor out initialization of diff-merge related settings
+ + revision: factor out setup of diff-merge related settings
+ + revision: factor out parsing of diff-merge related options
 
  "git log" learned a new "--diff-merges=<how>" option.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * es/config-hooks (2020-12-21) 34 commits
@@ -918,108 +1111,6 @@ Release tarballs are available at:
 
  The "reftable" backend for the refs API.
 
-
-* ab/mktag (2021-01-06) 23 commits
-  (merged to 'next' on 2021-01-08 at 6f9e11ad97)
- + mktag: add a --[no-]strict option
- + mktag: mark strings for translation
- + mktag: convert to parse-options
- + mktag: allow omitting the header/body \n separator
- + mktag: allow turning off fsck.extraHeaderEntry
- + fsck: make fsck_config() re-usable
- + mktag: use fsck instead of custom verify_tag()
- + mktag: use puts(str) instead of printf("%s\n", str)
- + mktag: remove redundant braces in one-line body "if"
- + mktag: use default strbuf_read() hint
- + mktag tests: test verify_object() with replaced objects
- + mktag tests: improve verify_object() test coverage
- + mktag tests: test "hash-object" compatibility
- + mktag tests: stress test whitespace handling
- + mktag tests: run "fsck" after creating "mytag"
- + mktag tests: don't create "mytag" twice
- + mktag tests: don't redirect stderr to a file needlessly
- + mktag tests: remove needless SHA-1 hardcoding
- + mktag tests: use "test_commit" helper
- + mktag tests: don't needlessly use a subshell
- + mktag doc: update to explain why to use this
- + mktag doc: grammar fix, when exists -> when it exists
- + mktag doc: say <hash> not <sha1>
-
- "git mktag" validates its input using its own rules before writing
- a tag object---it has been updated to share the logic with "git
- fsck".
-
- Will merge to 'master'.
-
-
-* en/diffcore-rename (2021-01-04) 9 commits
-  (merged to 'next' on 2021-01-12 at fa769ebc35)
- + diffcore-rename: remove unnecessary duplicate entry checks
- + diffcore-rename: accelerate rename_dst setup
- + diffcore-rename: simplify and accelerate register_rename_src()
- + t4058: explore duplicate tree entry handling in a bit more detail
- + t4058: add more tests and documentation for duplicate tree entry handling
- + diffcore-rename: reduce jumpiness in progress counters
- + diffcore-rename: simplify limit check
- + diffcore-rename: avoid usage of global in too_many_rename_candidates()
- + diffcore-rename: rename num_create to num_destinations
- (this branch is used by en/merge-ort-perf.)
-
- File-level rename detection updates.
-
- Will merge to 'master'.
-
-
-* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits
-  (merged to 'next' on 2021-01-13 at 0e93f0d529)
- + tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
- + t99*: adjust the references to the default branch name "main"
- + tests(git-p4): transition to the default branch name `main`
- + t9[5-7]*: adjust the references to the default branch name "main"
- + t9[0-4]*: adjust the references to the default branch name "main"
- + t8*: adjust the references to the default branch name "main"
- + t7[5-9]*: adjust the references to the default branch name "main"
- + t7[0-4]*: adjust the references to the default branch name "main"
- + t6[4-9]*: adjust the references to the default branch name "main"
- + t64*: preemptively adjust alignment to prepare for `master` -> `main`
- + t6[0-3]*: adjust the references to the default branch name "main"
- + t5[6-9]*: adjust the references to the default branch name "main"
- + t55[4-9]*: adjust the references to the default branch name "main"
- + t55[23]*: adjust the references to the default branch name "main"
- + t551*: adjust the references to the default branch name "main"
- + t550*: adjust the references to the default branch name "main"
- + t5503: prepare aligned comment for replacing `master` with `main`
- + t5[0-4]*: adjust the references to the default branch name "main"
- + t5323: prepare centered comment for `master` -> `main`
- + t4*: adjust the references to the default branch name "main"
- + t3[5-9]*: adjust the references to the default branch name "main"
- + t34*: adjust the references to the default branch name "main"
- + t3416: preemptively adjust alignment in a comment
- + t3[0-3]*: adjust the references to the default branch name "main"
- + t2*: adjust the references to the default branch name "main"
- + t[01]*: adjust the references to the default branch name "main"
- + t0060: preemptively adjust alignment
- + tests: mark tests relying on the current default for `init.defaultBranch`
- + Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch
-
- Prepare tests not to be affected by the name of the default branch
- "git init" creates.
-
- Will merge to 'master'.
-
-
-* sj/untracked-files-in-submodule-directory-is-not-dirty (2020-12-08) 1 commit
-  (merged to 'next' on 2021-01-12 at 2aca21c42e)
- + diff: do not show submodule with untracked files as "-dirty"
-
- "git diff" showed a submodule working tree with untracked cruft as
- "Submodule commit <objectname>-dirty", but a natural expectation is
- that the "-dirty" indicator would align with "git describe --dirty",
- which does not consider having untracked files in the working tree
- as source of dirtiness.  The inconsistency has been fixed.
-
- Will merge to 'master'.
-
 --------------------------------------------------
 [Discarded]