To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (May 2021, #05; Sat, 22)
-X-master-at: de88ac70f3a801262eb3aa087e5d9a712be0a54a
-X-next-at: 3cb6fa43cd00a825d13bf67004b2df69d9efb73b
+Subject: What's cooking in git.git (May 2021, #06; Fri, 28)
+X-master-at: 4e42405f00ecbbee412846f48cb0253efeebe726
+X-next-at: 280156cefb2268b8300e6278adc4f77af04d439f
-What's cooking in git.git (May 2021, #05; Sat, 22)
+What's cooking in git.git (May 2021, #06; Fri, 28)
--------------------------------------------------
-Here are the topics that have been cooking. Commits prefixed with '-' are
-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.
+Here are the topics that have been cooking in my tree. Commits
+prefixed with '-' are only in 'seen' (which collects random set of
+topics that are not yet in 'next') 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 Git 2.32-rc1 has been tagged for testing. From now on, please
-allocate some bandwidth for finding and fixing regressions in what
-is already in the release candidates, rather than new stuff. I may
-still pick up new topics that are not yet anywhere in my tree, and
-an update of topics that are queued in 'seen', but only on "time
-permits" basis---fixes to what happened between v2.31.0..master get
-higher priority than all the rest.
+The second release candidate Git 2.32-rc2 has been tagged.
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
--------------------------------------------------
[Graduated to 'master']
-* dl/stash-show-untracked-fixup (2021-05-22) 1 commit
- (merged to 'next' on 2021-05-22 at bbe06ef834)
- + stash show: use stash.showIncludeUntracked even when diff options given
+* ab/pack-linkage-fix (2021-05-27) 1 commit
+ (merged to 'next' on 2021-05-27 at 120d76a959)
+ + pack-objects: move static inline from a header to the sole consumer
- Another brown paper bag inconsistency fix for a new feature
- introduced during this cycle.
+ "ld" on Solaris fails to link some test helpers, which has been
+ worked around by reshuffling the inline function definitions from a
+ header file to a source file that is the only user of them.
-* jh/simple-ipc-sans-pthread (2021-05-21) 1 commit
- (merged to 'next' on 2021-05-22 at 4332dd2012)
- + simple-ipc: correct ifdefs when NO_PTHREADS is defined
+* ab/send-email-inline-hooks-path (2021-05-27) 2 commits
+ (merged to 'next' on 2021-05-27 at 402272f99e)
+ + send-email: move "hooks_path" invocation to git-send-email.perl
+ + send-email: don't needlessly abs_path() the core.hooksPath
- The "simple-ipc" did not compile without pthreads support, but the
- build procedure was not properly account for it.
+ Code simplification.
-* wm/rev-parse-path-format-wo-arg (2021-05-17) 1 commit
- (merged to 'next' on 2021-05-20 at 5d3c8ba2bf)
- + rev-parse: fix segfault with missing --path-format argument
- (this branch is used by wm/rev-parse-die-i18n.)
+* ab/send-email-validate-errors-fix (2021-05-25) 1 commit
+ (merged to 'next' on 2021-05-25 at 1e78c17669)
+ + send-email: fix missing error message regression
- The "rev-parse" command did not diagnose the lack of argument to
- "--path-format" option, which was introduced in v2.31 era, which
- has been corrected.
+
+* ds/t1092-fix-flake-from-progress (2021-05-26) 2 commits
+ (merged to 'next' on 2021-05-26 at 5c116071b1)
+ + t1092: revert the "-1" hack for emulating "no progress meter"
+ (merged to 'next' on 2021-05-26 at 3a1982b559)
+ + t1092: use GIT_PROGRESS_DELAY for consistent results
+
+ Workaround flaky tests introduced recently.
+
+
+* en/dir-traversal (2021-05-27) 4 commits
+ (merged to 'next' on 2021-05-27 at 3e70b5a671)
+ + dir: introduce readdir_skip_dot_and_dotdot() helper
+ + dir: update stale description of treat_directory()
+ + Revert "dir: update stale description of treat_directory()"
+ + Revert "dir: introduce readdir_skip_dot_and_dotdot() helper"
+
+ Fix-up to a topic that is already in 'master'.
+
+
+* jt/send-email-validate-errors-fix (2021-05-25) 1 commit
+ (merged to 'next' on 2021-05-25 at f7659a41c8)
+ + t9001-send-email.sh: fix expected absolute paths on Windows
+
+ Fix a test breakage.
+
+
+* mt/init-template-userpath-fix (2021-05-25) 1 commit
+ (merged to 'next' on 2021-05-25 at a1b42bf271)
+ + init: fix bug regarding ~/ expansion in init.templateDir
+
+ Regression fix.
+
+
+* mt/t2080-cp-symlink-fix (2021-05-27) 1 commit
+ (merged to 'next' on 2021-05-27 at 0b90c816b3)
+ + t2080: fix cp invocation to copy symlinks instead of following them
+
+ Test portability fix.
--------------------------------------------------
[New Topics]
-* dd/honor-users-tar-in-tests (2021-05-22) 1 commit
- - t: use configured TAR instead of tar
+* zh/ref-filter-raw-data (2021-05-25) 4 commits
+ - ref-filter: add contents:raw atom
+ - SQUASH???
+ - ref-filter: support %(contents) for blob, tree
+ - quote: add *.quote_buf_with_size functions
+
+ Prepare the "ref-filter" machinery that drives the "--format"
+ option of "git for-each-ref" and its friends to be used in "git
+ cat-file --batch".
+
+ Seems to break tests when merged to 'seen'.
+
+
+* fc/doc-build-cleanup (2021-05-24) 5 commits
+ - doc: avoid using rm directly
+ - doc: simplify Makefile using .DELETE_ON_ERROR
+ - doc: remove unnecessary rm instances
+ - doc: improve asciidoc dependencies
+ - doc: refactor common asciidoc dependencies
+
+ Preparatory build procedure clean-up for documentation.
+
+ Will merge to 'next'.
- Test portability fix.
+
+* es/config-based-hooks (2021-05-27) 37 commits
+ - docs: link githooks and git-hook manpages
+ - doc: clarify fsmonitor-watchman specification
+ - run-command: stop thinking about hooks
+ - git-send-email: use 'git hook run' for 'sendemail-validate'
+ - bugreport: use hook_exists instead of find_hook
+ - receive-pack: convert receive hooks to hook.h
+ - post-update: use hook.h library
+ - proc-receive: acquire hook list from hook.h
+ - receive-pack: convert 'update' hook to hook.h
+ - reference-transaction: look for hooks in config
+ - transport: convert pre-push hook to use config
+ - hook: convert 'post-rewrite' hook to config
+ - hooks: convert 'post-checkout' hook to hook library
+ - git-p4: use 'git hook' to run hooks
+ - receive-pack: convert push-to-checkout hook to hook.h
+ - read-cache: convert post-index-change hook to use config
+ - rebase: teach pre-rebase to use hook.h
+ - gc: use hook library for pre-auto-gc hook
+ - merge: use config-based hooks for post-merge hook
+ - am: convert applypatch hooks to use config
+ - commit: use config-based hooks
+ - hooks: allow callers to capture output
+ - run-command: allow capturing of collated output
+ - hook: provide stdin by string_list or callback
+ - run-command: add stdin callback for parallelization
+ - hook: allow specifying working directory for hooks
+ - hook: allow parallel hook execution
+ - run-command: allow stdin for run_processes_parallel
+ - hook: support passing stdin to hooks
+ - hook: introduce hook_exists()
+ - hook: add 'run' subcommand
+ - parse-options: parse into strvec
+ - hook: implement hookcmd.<name>.skip
+ - hook: teach hook.runHookDir
+ - hook: include hookdir hook in list
+ - hook: introduce git-hook subcommand
+ - doc: propose hooks managed by the config
--------------------------------------------------
[Stalled]
+* mr/bisect-in-c-4 (2021-04-11) 4 commits
+ - bisect--helper: retire `--bisect-next-check` subcommand
+ - bisect--helper: reimplement `bisect_run` shell function in C
+ - bisect--helper: reimplement `bisect_visualize()`shell function in C
+ - run-command: make `exists_in_PATH()` non-static
+
+ The codepaths involved in running "git bisect visualize" and "git
+ bisect run" has been rewritten in C.
+
+ Expecting a reroll.
+ cf. <xmqq35vwh8qk.fsf@gitster.g>, <xmqqy2doftrj.fsf@gitster.g>,
+ <CAP8UFD3X24F3qgefHpi00PM-KUk+vcqxwy2Dbngbyj7ciavCVQ@mail.gmail.com>
+ May want to boost the test coverage.
+
+
+* hn/reftable (2021-05-20) 28 commits
+ - t1404: annotate test cases with REFFILES
+ - t1401,t2011: parameterize HEAD.lock for REFTABLE
+ - t1301: document what needs to be done for REFTABLE
+ - Add "test-tool dump-reftable" command.
+ - git-prompt: prepare for reftable refs backend
+ - Reftable support for git-core
+ - reftable: add dump utility
+ - reftable: implement stack, a mutable database of reftable files.
+ - reftable: implement refname validation
+ - reftable: add merged table view
+ - reftable: add a heap-based priority queue for reftable records
+ - reftable: reftable file level tests
+ - reftable: read reftable files
+ - reftable: generic interface to tables
+ - reftable: write reftable files
+ - reftable: a generic binary tree implementation
+ - reftable: reading/writing blocks
+ - Provide zlib's uncompress2 from compat/zlib-compat.c
+ - reftable: (de)serialization for the polymorphic record type.
+ - reftable: add blocksource, an abstraction for random access reads
+ - reftable: utility functions
+ - reftable: add error related functionality
+ - reftable: add LICENSE
+ - init-db: set the_repository->hash_algo early on
+ - hash.h: provide constants for the hash IDs
+ - refs/debug: trace into reflog expiry too
+ - refs: document reflog_expire_fn's flag argument
+ - refs: make explicit that ref_iterator_peel returns boolean
+
+ The "reftable" backend for the refs API.
+
+ Waiting for reviews.
+ Seems to break tests when merged to 'seen'.
+
+
+* ma/t0091-bugreport-fix (2021-04-12) 1 commit
+ - t0091-bugreport.sh: actually verify some content of report
+
+ Test fix.
+
+ Expecting a reroll.
+ cf. <YHYZTLl90rkWWVOr@google.com>, <87a6q22dei.fsf@evledraar.gmail.com>
+
+
+* ls/fast-export-signed (2021-05-03) 5 commits
+ - fast-export, fast-import: add support for signed-commits
+ - fast-export: do not modify memory from get_commit_buffer
+ - git-fast-export.txt: clarify why 'verbatim' may not be a good idea
+ - fast-export: rename --signed-tags='warn' to 'warn-verbatim'
+ - git-fast-import.txt: add missing LF in the BNF
+
+ "git fast-export" offers a way to control how signed tags are
+ handled; the mechanism has been extended to allow specifying how
+ signed commits are handled as well.
+
+ Expecting a reroll.
+ cf. <xmqqa6pca0pv.fsf@gitster.g>, <xmqq1rao9zev.fsf@gitster.g>
+
+
+* hn/prep-tests-for-reftable (2021-04-28) 21 commits
+ - t1415: set REFFILES for test specific to storage format
+ - t4202: mark bogus head hash test with REFFILES
+ - t7003: check reflog existence only for REFFILES
+ - t7900: mark pack-refs tests as REFFILES
+ - t1404: mark tests that muck with .git directly as REFFILES.
+ - t2017: mark --orphan/logAllRefUpdates=false test as REFFILES
+ - t1414: mark corruption test with REFFILES
+ - t1407: require REFFILES for for_each_reflog test
+ - test-lib: provide test prereq REFFILES
+ - t5304: use "reflog expire --all" to clear the reflog
+ - t5304: restyle: trim empty lines, drop ':' before >
+ - t7003: use rev-parse rather than FS inspection
+ - t5000: inspect HEAD using git-rev-parse
+ - t5000: reformat indentation to the latest fashion
+ - t1301: fix typo in error message
+ - t1413: use tar to save and restore entire .git directory
+ - t1401-symbolic-ref: avoid direct filesystem access
+ - t5601: read HEAD using rev-parse
+ - t9300: check ref existence using test-helper rather than a file system check
+ - t/helper/ref-store: initialize oid in resolve-ref
+ - t4202: split testcase for invalid HEAD symref and HEAD hash
+
+ Preliminary clean-up of tests before the main reftable changes
+ hits the codebase.
+
+ Waiting for reviews.
+
+
+* tb/multi-pack-bitmaps (2021-04-10) 23 commits
+ - p5326: perf tests for MIDX bitmaps
+ - p5310: extract full and partial bitmap tests
+ - midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
+ - t7700: update to work with MIDX bitmap test knob
+ - t5319: don't write MIDX bitmaps in t5319
+ - t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
+ - t5326: test multi-pack bitmap behavior
+ - t/helper/test-read-midx.c: add --checksum mode
+ - t5310: move some tests to lib-bitmap.sh
+ - pack-bitmap: write multi-pack bitmaps
+ - pack-bitmap: read multi-pack bitmaps
+ - pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'
+ - pack-bitmap.c: introduce 'nth_bitmap_object_oid()'
+ - pack-bitmap.c: introduce 'bitmap_num_objects()'
+ - midx: respect 'core.multiPackIndex' when writing
+ - midx: clear auxiliary .rev after replacing the MIDX
+ - midx: make a number of functions non-static
+ - Documentation: describe MIDX-based bitmaps
+ - Documentation: build 'technical/bitmap-format' by default
+ - pack-bitmap-write.c: free existing bitmaps
+ - pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
+ - pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
+ - Merge branch 'tb/pack-preferred-tips-to-give-bitmap' into tb/multi-pack-bitmaps
+
+ The reachability bitmap file used to be generated only for a single
+ pack, but now we've learned to generate bitmaps for history that
+ span across multiple packfiles.
+
+ Waiting for reviews.
+ cf. <cover.1617991824.git.me@ttaylorr.com>
+ Seems to break tests when merged to 'seen'.
+
+
+* hn/refs-errno-cleanup (2021-04-30) 8 commits
+ - refs: explicitly propagate errno from refs_read_raw_ref
+ - refs: stop setting EINVAL and ELOOP in symref resolution
+ - refs: clear errno return in refs_resolve_ref_unsafe()
+ - refs: add failure_errno to refs_read_raw_ref() signature
+ - refs: make errno output explicit for refs_resolve_ref_unsafe
+ - refs: make errno output explicit for read_raw_ref_fn
+ - refs/files-backend: stop setting errno from lock_ref_oid_basic
+ - refs: remove EINVAL specification from the errno sideband in read_raw_ref_fn
+
+ Futz with the way 'errno' is relied on in the refs API to carry the
+ failure modes up the callchain.
+
+ Waiting for reviews.
+
+
+* ao/p4-avoid-decoding (2021-04-12) 2 commits
+ - git-p4: do not decode data from perforce by default
+ - git-p4: avoid decoding more data from perforce
+
+ "git p4" in Python-2 days used to accept a lot more kinds of data
+ from Perforce server as uninterrupted byte sequence, but after
+ switching to Python-3, too many things are expected to be in UTF-8,
+ which broke traditional use cases.
+
+ Waiting for reviews.
+
+
+* ab/update-submitting-patches (2021-05-13) 3 commits
+ - SubmittingPatches: remove pine-specific hints from MUA hints
+ - SubmittingPatches: replace discussion of Travis with GitHub Actions
+ - SubmittingPatches: move discussion of Signed-off-by above "send"
+
+ Reorganize and update the SubmitingPatches document.
+
+ Expecting a reroll.
+ cf. <xmqq4kf7fueq.fsf@gitster.g>, <20210512235136.GB10785@localhost>
+
+
* ag/merge-strategies-in-c (2021-03-17) 15 commits
- sequencer: use the "octopus" merge strategy without forking
- sequencer: use the "resolve" strategy without forking
without hydrating it fully.
-* jh/rfc-builtin-fsmonitor (2021-05-04) 24 commits
- - fsmonitor: only enable it in non-bare repositories
- - t7527: test status with untracked-cache and fsmonitor--daemon
- - p7519: add fsmonitor--daemon
- - t7527: create test for fsmonitor--daemon
- - fsmonitor: force update index when fsmonitor token advances
- - fsmonitor--daemon: use a cookie file to sync with file system
- - fsmonitor--daemon:: introduce client delay for testing
- - fsmonitor--daemon: periodically truncate list of modified files
- - fsmonitor--daemon: implement handle_client callback
- - fsmonitor-fs-listen-macos: implement FSEvent listener on MacOS
- - fsmonitor-fs-listen-macos: add macos header files for FSEvent
- - fsmonitor-fs-listen-win32: implement FSMonitor backend on Windows
- - fsmonitor--daemon: create token-based changed path cache
- - fsmonitor--daemon: define token-ids
- - fsmonitor--daemon: add pathname classification
- - fsmonitor--daemon: implement daemon command options
- - fsmonitor-fs-listen-macos: stub in backend for MacOS
- - fsmonitor-fs-listen-win32: stub in backend for Windows
- - fsmonitor--daemon: implement client command options
- - fsmonitor--daemon: add a built-in fsmonitor daemon
- - fsmonitor: introduce `core.useBuiltinFSMonitor` to call the daemon via IPC
- - config: FSMonitor is repository-specific
- - fsmonitor-ipc: create client routines for git-fsmonitor--daemon
- - Merge branch 'jh/simple-ipc' into jh/rfc-builtin-fsmonitor
-
- An attempt to write and ship with a watchman equivalent tailored
- for our use.
-
-
* ab/describe-tests-fix (2021-05-11) 5 commits
- describe tests: support -C in "check_describe"
- describe tests: fix nested "test_expect_success" call
Waiting for the base topic to solidify.
-
-* es/config-hooks (2021-03-10) 36 commits
- . run-command: stop thinking about hooks
- . git-send-email: use 'git hook run' for 'sendemail-validate'
- . bugreport: use hook_exists instead of find_hook
- . receive-pack: convert receive hooks to hook.h
- . post-update: use hook.h library
- . proc-receive: acquire hook list from hook.h
- . receive-pack: convert 'update' hook to hook.h
- . reference-transaction: look for hooks in config
- . transport: convert pre-push hook to use config
- . hook: convert 'post-rewrite' hook to config
- . hooks: convert 'post-checkout' hook to hook library
- . git-p4: use 'git hook' to run hooks
- . receive-pack: convert push-to-checkout hook to hook.h
- . read-cache: convert post-index-change hook to use config
- . rebase: teach pre-rebase to use hook.h
- . gc: use hook library for pre-auto-gc hook
- . merge: use config-based hooks for post-merge hook
- . am: convert applypatch hooks to use config
- . commit: use config-based hooks
- . hooks: allow callers to capture output
- . run-command: allow capturing of collated output
- . hook: provide stdin by string_list or callback
- . run-command: add stdin callback for parallelization
- . hook: allow specifying working directory for hooks
- . hook: allow parallel hook execution
- . run-command: allow stdin for run_processes_parallel
- . hook: support passing stdin to hooks
- . hook: introduce hook_exists()
- . hook: add 'run' subcommand
- . parse-options: parse into strvec
- . hook: implement hookcmd.<name>.skip
- . hook: teach hook.runHookDir
- . hook: include hookdir hook in list
- . hook: add list command
- . hook: scaffolding for git-hook subcommand
- . doc: propose hooks managed by the config
-
- The "hooks defined in config" topic.
-
--------------------------------------------------
[Cooking]
+* jh/builtin-fsmonitor (2021-05-24) 30 commits
+ - t/perf: avoid copying builtin fsmonitor files into test repo
+ - t7527: test status with untracked-cache and fsmonitor--daemon
+ - p7519: add fsmonitor--daemon
+ - t7527: create test for fsmonitor--daemon
+ - fsmonitor: force update index after large responses
+ - fsmonitor: enhance existing comments
+ - fsmonitor--daemon: use a cookie file to sync with file system
+ - fsmonitor--daemon: periodically truncate list of modified files
+ - fsmonitor--daemon: implement handle_client callback
+ - fsmonitor-fs-listen-macos: implement FSEvent listener on MacOS
+ - fsmonitor-fs-listen-macos: add macos header files for FSEvent
+ - fsmonitor-fs-listen-win32: implement FSMonitor backend on Windows
+ - fsmonitor--daemon: create token-based changed path cache
+ - fsmonitor--daemon: define token-ids
+ - fsmonitor--daemon: add pathname classification
+ - fsmonitor--daemon: implement daemon command options
+ - fsmonitor-fs-listen-macos: stub in backend for MacOS
+ - fsmonitor-fs-listen-win32: stub in backend for Windows
+ - t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon
+ - fsmonitor--daemon: implement client command options
+ - fsmonitor--daemon: add a built-in fsmonitor daemon
+ - fsmonitor: introduce `core.useBuiltinFSMonitor` to call the daemon via IPC
+ - config: FSMonitor is repository-specific
+ - help: include fsmonitor--daemon feature flag in version info
+ - fsmonitor-ipc: create client routines for git-fsmonitor--daemon
+ - fsmonitor--daemon: update fsmonitor documentation
+ - fsmonitor--daemon: man page
+ - simple-ipc: preparations for supporting binary messages.
+ - Merge branch 'jk/perf-in-worktrees' into HEAD
+ - Merge branch 'jh/simple-ipc' into jh/rfc-builtin-fsmonitor
+
+ An attempt to write and ship with a watchman equivalent tailored
+ for our use.
+
+
+* dd/honor-users-tar-in-tests (2021-05-22) 1 commit
+ (merged to 'next' on 2021-05-28 at 56961581ce)
+ + t: use configured TAR instead of tar
+
+ Test portability fix.
+
+ Will cook in 'next'.
+
+
* ah/fetch-reject-warning-grammofix (2021-05-20) 1 commit
- - fetch: improve grammar of "shallow roots" message
+ (merged to 'next' on 2021-05-28 at 09820da41b)
+ + fetch: improve grammar of "shallow roots" message
Message update.
+ Will cook in 'next'.
+
* ah/setup-extensions-message-i18n-fix (2021-05-20) 1 commit
- - setup: split "extensions found" messages into singular and plural
+ (merged to 'next' on 2021-05-28 at 562b4e6f10)
+ + setup: split "extensions found" messages into singular and plural
Message update.
+ Will cook in 'next'.
+
* jk/clone-clean-upon-transport-error (2021-05-19) 1 commit
(merged to 'next' on 2021-05-22 at 464b1f187c)
* jk/doc-color-pager (2021-05-20) 1 commit
- - doc: explain the use of color.pager
+ (merged to 'next' on 2021-05-28 at 52e4aa77df)
+ + doc: explain the use of color.pager
The documentation for "color.pager" configuration variable has been
updated.
- Will merge to 'next'.
+ Will cook in 'next'.
* jk/fetch-pack-v2-half-close-early (2021-05-20) 1 commit
- - fetch-pack: signal v2 server that we are done making requests
+ (merged to 'next' on 2021-05-28 at 56e97ec2df)
+ + fetch-pack: signal v2 server that we are done making requests
"git fetch" over protocol v2 left its side of the socket open after
it finished speaking, which unnecessarily wasted the resource on
the other side.
- Will merge to 'next'.
+ Will cook in 'next'.
* ry/clarify-fast-forward-in-glossary (2021-05-19) 1 commit
Will cook in 'next'.
-* es/trace2-log-parent-process-name (2021-05-21) 1 commit
+* es/trace2-log-parent-process-name (2021-05-25) 1 commit
- tr2: log parent process name
* ps/rev-list-object-type-filter (2021-05-21) 1 commit
- - help: fix small typo in error message
+ (merged to 'next' on 2021-05-28 at f22e938f3e)
+ + help: fix small typo in error message
+
+ Message update.
+
+ Will cook in 'next'.
-* ab/send-email-optim (2021-05-21) 10 commits
+* ab/send-email-optim (2021-05-24) 13 commits
- perl: nano-optimize by replacing Cwd::cwd() with Cwd::getcwd()
- send-email: move trivial config handling to Perl
- perl: lazily load some common Git.pm setup code
- send-email: use function syntax instead of barewords
- send-email: lazily shell out to "git var"
- send-email: lazily load config for a big speedup
+ - send-email: copy "config_regxp" into git-send-email.perl
- send-email: refactor sendemail.smtpencryption config parsing
- send-email: remove non-working support for "sendemail.smtpssl"
+ - send-email tests: test for boolean variables without a value
+ - send-email tests: support GIT_TEST_PERL_FATAL_WARNINGS=true
"git send-email" optimization.
-* ab/update-submitting-patches (2021-05-13) 3 commits
- - SubmittingPatches: remove pine-specific hints from MUA hints
- - SubmittingPatches: replace discussion of Travis with GitHub Actions
- - SubmittingPatches: move discussion of Signed-off-by above "send"
-
- Reorganize and update the SubmitingPatches document.
-
- Expecting a reroll.
- cf. <xmqq4kf7fueq.fsf@gitster.g>, <20210512235136.GB10785@localhost>
-
-
* zh/ref-filter-atom-type (2021-05-14) 2 commits
(merged to 'next' on 2021-05-16 at 48fd717185)
+ ref-filter: introduce enum atom_type
Will cook in 'next'.
-* tl/fix-packfile-uri-doc (2021-05-14) 1 commit
- - packfile-uri.txt: fix blobPackfileUri description
+* tl/fix-packfile-uri-doc (2021-05-25) 1 commit
+ (merged to 'next' on 2021-05-25 at d047277014)
+ + packfile-uri.txt: fix blobPackfileUri description
Doc fix.
- Will merge to 'next'?
- cf. <xmqq8s4c6fbg.fsf@gitster.g>
+ Will cook in 'next'.
* ga/send-email-sendmail-cmd (2021-05-17) 1 commit
* ds/write-index-with-hashfile-api (2021-05-19) 4 commits
- - read-cache: delete unused hashing methods
- - read-cache: use hashfile instead of git_hash_ctx
- - csum-file.h: increase hashfile buffer size
- - hashfile: use write_in_full()
+ (merged to 'next' on 2021-05-28 at f0c51ddf7c)
+ + read-cache: delete unused hashing methods
+ + read-cache: use hashfile instead of git_hash_ctx
+ + csum-file.h: increase hashfile buffer size
+ + hashfile: use write_in_full()
Use the hashfile API in the codepath that writes the index file to
reduce code duplication.
- Will merge to 'next'.
+ Will cook in 'next'.
* jc/clarify-revision-range (2021-05-18) 1 commit
* so/log-m-implies-p (2021-05-21) 10 commits
- - diff-merges: let "-m" imply "-p"
- - diff-merges: rename "combined_imply_patch" to "merges_imply_patch"
- - stash list: stop passing "-m" to "git log"
- - git-svn: stop passing "-m" to "git rev-list"
- - diff-merges: move specific diff-index "-m" handling to diff-index
- - t4013: test "git diff-index -m"
- - t4013: test "git diff-tree -m"
- - t4013: test "git log -m --stat"
- - t4013: test "git log -m --raw"
- - t4013: test that "-m" alone has no effect in "git log"
+ (merged to 'next' on 2021-05-28 at 2733ec2409)
+ + diff-merges: let "-m" imply "-p"
+ + diff-merges: rename "combined_imply_patch" to "merges_imply_patch"
+ + stash list: stop passing "-m" to "git log"
+ + git-svn: stop passing "-m" to "git rev-list"
+ + diff-merges: move specific diff-index "-m" handling to diff-index
+ + t4013: test "git diff-index -m"
+ + t4013: test "git diff-tree -m"
+ + t4013: test "git log -m --stat"
+ + t4013: test "git log -m --raw"
+ + t4013: test that "-m" alone has no effect in "git log"
The "-m" option in "git log -m" that does not specify which format,
if any, of diff is desired did not have any visible effect; it now
implies some form of diff (by default "--patch") is produced.
- Will merge to 'next'.
+ Will cook in 'next'.
* bc/doc-asciidoctor-to-man-wo-xmlto (2021-05-14) 2 commits
* ab/trace2-squelch-gcc-warning (2021-05-21) 1 commit
- - trace2: refactor to avoid gcc warning under -O3
+ (merged to 'next' on 2021-05-28 at 6c7a015f99)
+ + trace2: refactor to avoid gcc warning under -O3
Workaround compiler warnings.
- Will merge to 'next'.
-
-
-* hn/refs-errno-cleanup (2021-04-30) 8 commits
- - refs: explicitly propagate errno from refs_read_raw_ref
- - refs: stop setting EINVAL and ELOOP in symref resolution
- - refs: clear errno return in refs_resolve_ref_unsafe()
- - refs: add failure_errno to refs_read_raw_ref() signature
- - refs: make errno output explicit for refs_resolve_ref_unsafe
- - refs: make errno output explicit for read_raw_ref_fn
- - refs/files-backend: stop setting errno from lock_ref_oid_basic
- - refs: remove EINVAL specification from the errno sideband in read_raw_ref_fn
-
- Futz with the way 'errno' is relied on in the refs API to carry the
- failure modes up the callchain.
-
- Waiting for reviews.
+ Will cook in 'next'.
* en/ort-perf-batch-11 (2021-05-20) 13 commits
- - merge-ort, diffcore-rename: employ cached renames when possible
- - merge-ort: handle interactions of caching and rename/rename(1to1) cases
- - merge-ort: add helper functions for using cached renames
- - merge-ort: preserve cached renames for the appropriate side
- - merge-ort: avoid accidental API mis-use
- - merge-ort: add code to check for whether cached renames can be reused
- - merge-ort: populate caches of rename detection results
- - merge-ort: add data structures for in-memory caching of rename detection
- - t6429: testcases for remembering renames
- - fast-rebase: write conflict state to working tree, index, and HEAD
- - fast-rebase: change assert() to BUG()
- - Documentation/technical: describe remembering renames optimization
- - t6423: rename file within directory that other side renamed
+ (merged to 'next' on 2021-05-28 at 58a8b85d6a)
+ + merge-ort, diffcore-rename: employ cached renames when possible
+ + merge-ort: handle interactions of caching and rename/rename(1to1) cases
+ + merge-ort: add helper functions for using cached renames
+ + merge-ort: preserve cached renames for the appropriate side
+ + merge-ort: avoid accidental API mis-use
+ + merge-ort: add code to check for whether cached renames can be reused
+ + merge-ort: populate caches of rename detection results
+ + merge-ort: add data structures for in-memory caching of rename detection
+ + t6429: testcases for remembering renames
+ + fast-rebase: write conflict state to working tree, index, and HEAD
+ + fast-rebase: change assert() to BUG()
+ + Documentation/technical: describe remembering renames optimization
+ + t6423: rename file within directory that other side renamed
Optimize out repeated rename detection in a sequence of mergy
operations.
- Will merge to 'next'.
-
-
-* ls/fast-export-signed (2021-05-03) 5 commits
- - fast-export, fast-import: add support for signed-commits
- - fast-export: do not modify memory from get_commit_buffer
- - git-fast-export.txt: clarify why 'verbatim' may not be a good idea
- - fast-export: rename --signed-tags='warn' to 'warn-verbatim'
- - git-fast-import.txt: add missing LF in the BNF
-
- "git fast-export" offers a way to control how signed tags are
- handled; the mechanism has been extended to allow specifying how
- signed commits are handled as well.
-
- Expecting a reroll.
- cf. <xmqqa6pca0pv.fsf@gitster.g>, <xmqq1rao9zev.fsf@gitster.g>
-
-
-* hn/prep-tests-for-reftable (2021-04-28) 21 commits
- - t1415: set REFFILES for test specific to storage format
- - t4202: mark bogus head hash test with REFFILES
- - t7003: check reflog existence only for REFFILES
- - t7900: mark pack-refs tests as REFFILES
- - t1404: mark tests that muck with .git directly as REFFILES.
- - t2017: mark --orphan/logAllRefUpdates=false test as REFFILES
- - t1414: mark corruption test with REFFILES
- - t1407: require REFFILES for for_each_reflog test
- - test-lib: provide test prereq REFFILES
- - t5304: use "reflog expire --all" to clear the reflog
- - t5304: restyle: trim empty lines, drop ':' before >
- - t7003: use rev-parse rather than FS inspection
- - t5000: inspect HEAD using git-rev-parse
- - t5000: reformat indentation to the latest fashion
- - t1301: fix typo in error message
- - t1413: use tar to save and restore entire .git directory
- - t1401-symbolic-ref: avoid direct filesystem access
- - t5601: read HEAD using rev-parse
- - t9300: check ref existence using test-helper rather than a file system check
- - t/helper/ref-store: initialize oid in resolve-ref
- - t4202: split testcase for invalid HEAD symref and HEAD hash
-
- Preliminary clean-up of tests before the main reftable changes
- hits the codebase.
-
- Waiting for reviews.
-
-
-* tb/multi-pack-bitmaps (2021-04-10) 23 commits
- - p5326: perf tests for MIDX bitmaps
- - p5310: extract full and partial bitmap tests
- - midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
- - t7700: update to work with MIDX bitmap test knob
- - t5319: don't write MIDX bitmaps in t5319
- - t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
- - t5326: test multi-pack bitmap behavior
- - t/helper/test-read-midx.c: add --checksum mode
- - t5310: move some tests to lib-bitmap.sh
- - pack-bitmap: write multi-pack bitmaps
- - pack-bitmap: read multi-pack bitmaps
- - pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'
- - pack-bitmap.c: introduce 'nth_bitmap_object_oid()'
- - pack-bitmap.c: introduce 'bitmap_num_objects()'
- - midx: respect 'core.multiPackIndex' when writing
- - midx: clear auxiliary .rev after replacing the MIDX
- - midx: make a number of functions non-static
- - Documentation: describe MIDX-based bitmaps
- - Documentation: build 'technical/bitmap-format' by default
- - pack-bitmap-write.c: free existing bitmaps
- - pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
- - pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
- - Merge branch 'tb/pack-preferred-tips-to-give-bitmap' into tb/multi-pack-bitmaps
-
- The reachability bitmap file used to be generated only for a single
- pack, but now we've learned to generate bitmaps for history that
- span across multiple packfiles.
-
- Waiting for reviews.
- cf. <cover.1617991824.git.me@ttaylorr.com>
+ Will cook in 'next'.
* ab/test-lib-updates (2021-05-11) 11 commits
Test clean-up.
-* ao/p4-avoid-decoding (2021-04-12) 2 commits
- - git-p4: do not decode data from perforce by default
- - git-p4: avoid decoding more data from perforce
-
- "git p4" in Python-2 days used to accept a lot more kinds of data
- from Perforce server as uninterrupted byte sequence, but after
- switching to Python-3, too many things are expected to be in UTF-8,
- which broke traditional use cases.
-
- Waiting for reviews.
-
-
-* ma/t0091-bugreport-fix (2021-04-12) 1 commit
- - t0091-bugreport.sh: actually verify some content of report
-
- Test fix.
-
- Expecting a reroll.
- cf. <YHYZTLl90rkWWVOr@google.com>, <87a6q22dei.fsf@evledraar.gmail.com>
-
-
-* mr/bisect-in-c-4 (2021-04-11) 4 commits
- - bisect--helper: retire `--bisect-next-check` subcommand
- - bisect--helper: reimplement `bisect_run` shell function in C
- - bisect--helper: reimplement `bisect_visualize()`shell function in C
- - run-command: make `exists_in_PATH()` non-static
-
- The codepaths involved in running "git bisect visualize" and "git
- bisect run" has been rewritten in C.
-
- Expecting a reroll.
- cf. <xmqq35vwh8qk.fsf@gitster.g>, <xmqqy2doftrj.fsf@gitster.g>,
- <CAP8UFD3X24F3qgefHpi00PM-KUk+vcqxwy2Dbngbyj7ciavCVQ@mail.gmail.com>
- May want to boost the test coverage.
-
-
-* hn/reftable (2021-05-20) 28 commits
- - t1404: annotate test cases with REFFILES
- - t1401,t2011: parameterize HEAD.lock for REFTABLE
- - t1301: document what needs to be done for REFTABLE
- - Add "test-tool dump-reftable" command.
- - git-prompt: prepare for reftable refs backend
- - Reftable support for git-core
- - reftable: add dump utility
- - reftable: implement stack, a mutable database of reftable files.
- - reftable: implement refname validation
- - reftable: add merged table view
- - reftable: add a heap-based priority queue for reftable records
- - reftable: reftable file level tests
- - reftable: read reftable files
- - reftable: generic interface to tables
- - reftable: write reftable files
- - reftable: a generic binary tree implementation
- - reftable: reading/writing blocks
- - Provide zlib's uncompress2 from compat/zlib-compat.c
- - reftable: (de)serialization for the polymorphic record type.
- - reftable: add blocksource, an abstraction for random access reads
- - reftable: utility functions
- - reftable: add error related functionality
- - reftable: add LICENSE
- - init-db: set the_repository->hash_algo early on
- - hash.h: provide constants for the hash IDs
- - refs/debug: trace into reflog expiry too
- - refs: document reflog_expire_fn's flag argument
- - refs: make explicit that ref_iterator_peel returns boolean
-
- The "reftable" backend for the refs API.
-
- Waiting for reviews.
-
-
* ab/fsck-unexpected-type (2021-05-21) 17 commits
- fsck: report invalid object type-path combinations
- fsck: report invalid types recorded in objects
"git fsck" has been taught to report mismatch between expected and
actual types of an object better.
+
+ Seems to break tests when merged to 'seen'.