To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Apr 2021, #05; Mon, 19)
-X-master-at: b0c09ab8796fb736efa432b8e817334f3e5ee75a
-X-next-at: 90b4fd31cda88325bdebf89b7d407491b176f853
+Subject: What's cooking in git.git (Apr 2021, #06; Thu, 29)
+X-master-at: 311531c9de557d25ac087c1637818bd2aad6eb3a
+X-next-at: 47e6f1690178d77508c72e3fec1411a0ca706661
-What's cooking in git.git (Apr 2021, #05; Mon, 19)
+What's cooking in git.git (Apr 2021, #06; Thu, 29)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with '-' are
with '+' are in 'next'. The ones marked with '.' do not appear in any of
the integration branches, but I am still holding onto them.
+I am still catching up with the updates of various topics that
+happened during my absense, and I'd expect new patches will still
+take more time to be queued in 'seen' (as by definition I haven't
+seen many of them ;-).
+
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
repositories have only a subset of branches.
--------------------------------------------------
[Graduated to 'master']
-* ah/merge-ort-ubsan-fix (2021-04-12) 1 commit
- (merged to 'next' on 2021-04-13 at 41713a32bd)
- + merge-ort: only do pointer arithmetic for non-empty lists
-
- Code clean-up for merge-ort backend.
-
-
-* en/ort-perf-batch-10 (2021-03-18) 8 commits
- (merged to 'next' on 2021-04-07 at 9826d89311)
- + diffcore-rename: determine which relevant_sources are no longer relevant
- + merge-ort: record the reason that we want a rename for a file
- + diffcore-rename: add computation of number of unknown renames
- + diffcore-rename: check if we have enough renames for directories early on
- + diffcore-rename: only compute dir_rename_count for relevant directories
- + merge-ort: record the reason that we want a rename for a directory
- + merge-ort, diffcore-rename: tweak dirs_removed and relevant_source type
- + diffcore-rename: take advantage of "majority rules" to skip more renames
- (this branch is used by en/ort-perf-batch-11 and en/ort-readiness.)
-
- Various rename detection optimization to help "ort" merge strategy
- backend.
-
-
-* en/ort-readiness (2021-03-20) 13 commits
- (merged to 'next' on 2021-04-08 at 20283a3f10)
- + Add testing with merge-ort merge strategy
- + t6423: mark remaining expected failure under merge-ort as such
- + Revert "merge-ort: ignore the directory rename split conflict for now"
- + merge-recursive: add a bunch of FIXME comments documenting known bugs
- + merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflict
- + t: mark several submodule merging tests as fixed under merge-ort
- + merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entries
- + t6428: new test for SKIP_WORKTREE handling and conflicts
- + merge-ort: support subtree shifting
- + merge-ort: let renormalization change modify/delete into clean delete
- + merge-ort: have ll_merge() use a special attr_index for renormalization
- + merge-ort: add a special minimal index just for renormalization
- + merge-ort: use STABLE_QSORT instead of QSORT where required
- (this branch is used by en/ort-perf-batch-11; uses en/ort-perf-batch-10.)
-
- Plug the ort merge backend throughout the rest of the system, and
- start testing it as a replacement for the recursive backend.
+* ab/detox-gettext-tests (2021-04-13) 1 commit
+ (merged to 'next' on 2021-04-15 at db0da2903a)
+ + tests: remove all uses of test_i18cmp
---------------------------------------------------
-[New Topics]
+ Test clean-up.
-* ba/object-info (2021-04-15) 2 commits
- - SQUASH???
- - object-info: support for retrieving object info
- Over-the-wire protocol learns a new request type to ask for object
- sizes given a list of object names.
+* ab/usage-error-docs (2021-04-13) 3 commits
+ (merged to 'next' on 2021-04-15 at dbbbaa5eea)
+ + api docs: document that BUG() emits a trace2 error event
+ + api docs: document BUG() in api-error-handling.txt
+ + usage.c: don't copy/paste the same comment three times
+
+ Documentation updates, with unrelated comment updates, too.
+
+
+* ab/userdiff-tests (2021-04-08) 9 commits
+ (merged to 'next' on 2021-04-13 at 35fb0e853d)
+ + blame tests: simplify userdiff driver test
+ + blame tests: don't rely on t/t4018/ directory
+ + userdiff: remove support for "broken" tests
+ + userdiff tests: list builtin drivers via test-tool
+ + userdiff tests: explicitly test "default" pattern
+ + userdiff: add and use for_each_userdiff_driver()
+ + userdiff style: normalize pascal regex declaration
+ + userdiff style: declare patterns with consistent style
+ + userdiff style: re-order drivers in alphabetical order
+
+ A bit of code clean-up and a lot of test clean-up around userdiff
+ area.
+
+
+* ar/userdiff-scheme (2021-04-08) 1 commit
+ (merged to 'next' on 2021-04-13 at eb80d55a8c)
+ + userdiff: add support for Scheme
+
+ Userdiff patterns for "Scheme" has been added.
+
+
+* hn/reftable-tables-doc-update (2021-04-12) 1 commit
+ (merged to 'next' on 2021-04-13 at cdadb2c621)
+ + reftable: document an alternate cleanup method on Windows
+
+ Doc updte.
+
+
+* jc/doc-do-not-capitalize-clarification (2021-04-14) 1 commit
+ (merged to 'next' on 2021-04-15 at 873f7a1f84)
+ + doc: clarify "do not capitalize the first word" rule
+
+ Doc update for developers.
+
+
+* jk/pack-objects-bitmap-progress-fix (2021-04-12) 1 commit
+ (merged to 'next' on 2021-04-13 at bbe18a7b3a)
+ + pack-objects: update "nr_seen" progress based on pack-reused count
+
+ When "git pack-objects" makes a literal copy of a part of existing
+ packfile using the reachability bitmaps, its update to the progress
+ meter was broken.
* js/access-nul-emulation-on-windows (2021-04-16) 1 commit
Portability fix.
+
+* jt/fetch-pack-request-fix (2021-04-08) 1 commit
+ (merged to 'next' on 2021-04-15 at 25c02ce3c3)
+ + fetch-pack: buffer object-format with other args
+ (this branch is used by jt/push-negotiation.)
+
+ The response to the "object-format" capability in the fetch client
+ codepath were malformed, which has been corrected. It is
+ understandable that this bug has been hidden, as practically nobody
+ uses the non-standard hash function yet.
+
+
+* sg/bugreport-fixes (2021-04-08) 1 commit
+ (merged to 'next' on 2021-04-16 at e93602f4df)
+ + Makefile: add missing dependencies of 'config-list.h'
+ (this branch is used by so/log-diff-merge.)
+
+ The dependencies for config-list.h and command-list.h were broken
+ when the former was split out of the latter, which has been
+ corrected.
+
+--------------------------------------------------
+[New Topics]
+
+* ab/pathname-encoding-doc (2021-04-20) 1 commit
+ (merged to 'next' on 2021-04-20 at a90562c59f)
+ + doc: clarify the filename encoding in git diff
+
+ Clarify that pathnames recorded in Git trees are most often (but
+ not necessarily) encoded in UTF-8.
+
Will merge to 'master'.
-* zh/format-ref-array-optim (2021-04-19) 2 commits
- - ref-filter: reuse output buffer
- - ref-filter: get rid of show_ref_array_item
+* dl/complete-stash-updates (2021-04-27) 4 commits
+ - git-completion.bash: consolidate cases in _git_stash()
+ - git-completion.bash: use $__git_cmd_idx in more places
+ - git-completion.bash: rename to $__git_cmd_idx
+ - git-completion.bash: separate some commands onto their own line
+ (this branch uses dl/complete-stash.)
- "git (branch|tag) --format=..." has been micro-optimized.
+ Further update the command line completion (in contrib/) for "git
+ stash".
- Almost there?
+ Will merge to 'next'?
-* vs/completion-with-set-u (2021-04-16) 1 commit
- - completion: avoid aliased command lookup error in nounset mode
+* ab/pretty-date-format-tests (2021-04-27) 2 commits
+ - pretty tests: give --date/format tests a better description
+ - pretty tests: simplify %aI/%cI date format test
+ (this branch is used by zh/pretty-date-human.)
- Effort to make the command line completion (in contrib/) safe with
- "set -u" continues.
+ Tweak a few tests for "log --format=..." that show timestamps in
+ various formats.
Will merge to 'next'.
-* hn/prep-tests-for-reftable (2021-04-19) 18 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
- - t7003: use rev-parse rather than FS inspection
- - t5000: inspect HEAD using git-rev-parse
- - 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 git-rev-parse rather than FS check
- - t4202: split testcase for invalid HEAD symref and HEAD hash
+* ds/status-with-sparse-index (2021-04-28) 10 commits
+ - fsmonitor: test with sparse index
+ - status: use sparse-index throughout
+ - status: skip sparse-checkout percentage with sparse-index
+ - dir.c: accept a directory as part of cone-mode patterns
+ - unpack-trees: stop recursing into sparse directories
+ - unpack-trees: compare sparse directories correctly
+ - unpack-trees: preserve cache_bottom
+ - t1092: add tests for status/add and sparse files
+ - Merge branch 'mt/add-rm-in-sparse-checkout' into ds/status-with-sparse-index
+ - Merge branch 'ds/sparse-index-protections' into ds/status-with-sparse-index
+ (this branch uses ds/sparse-index, ds/sparse-index-protections and mt/add-rm-in-sparse-checkout.)
- Preliminary clean-up of tests before the main reftable changes
- hits the codebase.
+ "git status" codepath learned to work with sparsely populated index
+ without hydrating it fully.
-* ps/config-env-option-with-separate-value (2021-04-19) 2 commits
- - git: support separate arg for `--config-env`'s value
- - git.txt: fix synopsis of `--config-env` missing the equals sign
+* hn/trace-reflog-expiry (2021-04-27) 1 commit
+ - refs/debug: trace into reflog expiry too
- "git --config-env var=val cmd" weren't accepted (only
- --config-env=var=val was).
+ The reflog expiry machinery has been taught to emit trace events.
+
+ Will merge to 'next'.
+
+
+* jk/prune-with-bitmap-fix (2021-04-29) 2 commits
+ - prune: save reachable-from-recent objects with bitmaps
+ - pack-bitmap: clean up include_check after use
+
+ When the reachability bitmap is in effect, the "do not lose
+ recently created objects and those that are reachable from them"
+ safety to protect us from races were disabled by mistake, which has
+ been corrected.
+
+ Will merge to 'next'.
+
+
+* js/merge-already-up-to-date-message-reword (2021-04-28) 1 commit
+ - git-merge: rewrite already up to date message
+
+ A few variants of informational message "Already up-to-date" has
+ been rephrased.
+
+ Expecting a reroll.
+
+
+* jz/apply-3way-first-message-fix (2021-04-29) 1 commit
+ - apply: adjust messages to account for --3way changes
+
+ When we swapped the order of --3way fallback, we forgot to adjust
+ the message we give when the first method fails and the second
+ method is attempted (which used to be "direct application failed
+ hence we try 3way", now it is the other way around).
+
+ Will merge to 'next'.
+
+
+* ls/fast-export-signed (2021-04-28) 3 commits
+ - fast-export, fast-import: implement signed-commits
+ - 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.
+
+
+* ls/subtree (2021-04-28) 30 commits
+ - subtree: be stricter about validating flags
+ - subtree: push: allow specifying a local rev other than HEAD
+ - subtree: allow 'split' flags to be passed to 'push'
+ - subtree: allow --squash to be used with --rejoin
+ - subtree: give the docs a once-over
+ - subtree: have $indent actually affect indentation
+ - subtree: don't let debug and progress output clash
+ - subtree: add comments and sanity checks
+ - subtree: remove duplicate check
+ - subtree: parse revs in individual cmd_ functions
+ - subtree: use "^{commit}" instead of "^0"
+ - subtree: don't fuss with PATH
+ - subtree: use "$*" instead of "$@" as appropriate
+ - subtree: use more explicit variable names for cmdline args
+ - subtree: use git-sh-setup's `say`
+ - subtree: use `git merge-base --is-ancestor`
+ - subtree: drop support for git < 1.7
+ - subtree: more consistent error propagation
+ - subtree: don't have loose code outside of a function
+ - subtree: t7900: add porcelain tests for 'pull' and 'push'
+ - subtree: t7900: add a test for the -h flag
+ - subtree: t7900: rename last_commit_message to last_commit_subject
+ - subtree: t7900: fix 'verify one file change per commit'
+ - subtree: t7900: delete some dead code
+ - subtree: t7900: use 'test' for string equality
+ - subtree: t7900: comment subtree_test_create_repo
+ - subtree: t7900: use consistent formatting
+ - subtree: t7900: use test-lib.sh's test_count
+ - subtree: t7900: update for having the default branch name be 'main'
+ - .gitignore: ignore 'git-subtree' as a build artifact
+
+ "git subtree" updates.
+
+ Will merge to 'next'?
+ Unless somebody familiar with subtree speaks up soon and causes a
+ reroll.
+
+
+* mt/parallel-checkout-part-3 (2021-04-28) 7 commits
+ - ci: run test round with parallel-checkout enabled
+ - parallel-checkout: add tests related to .gitattributes
+ - parallel-checkout: add tests related to path collisions
+ - parallel-checkout: add tests for basic operations
+ - checkout-index: add parallel checkout support
+ - builtin/checkout.c: complete parallel checkout support
+ - make_transient_cache_entry(): optionally alloc from mem_pool
+ (this branch uses mt/parallel-checkout-part-2.)
+
+ The final part of "parallel checkout".
+
+ Waiting for a review.
+
+
+* po/diff-patch-doc (2021-04-28) 1 commit
+ - doc: point to diff attribute in patch format docs
+
+ Doc update.
+
+ Will merge to 'next'.
+
+
+* rj/bisect-skip-honor-terms (2021-04-28) 2 commits
+ - t6030: add test for git bisect skip started with --term-* arguments
+ - bisect--helper: use BISECT_TERMS in 'bisect skip' command
+
+ "git bisect skip" when custom words are used for new/old did not
+ work, which has been corrected.
+
+
+* tv/p4-fallback-encoding (2021-04-28) 1 commit
+ - add git-p4.fallbackEncoding config variable, to prevent git-p4 from crashing on non UTF-8 changeset descriptions
+
+ "git p4" learns the fallbackEncoding configuration variable to
+ safely accept changeset descriptions that aren't written in UTF-8.
+
+ Expecting a reroll.
+
+
+* zh/pretty-date-human (2021-04-27) 1 commit
+ - pretty: provide human date format
+ (this branch uses ab/pretty-date-format-tests.)
+
+ "git log --format=..." placeholders learned %ah/%ch placeholders to
+ request the --date=human output.
+
+ Will merge to 'next'?
--------------------------------------------------
[Stalled]
-* dl/complete-stash (2021-03-24) 3 commits
- (merged to 'next' on 2021-03-24 at ce573a99cc)
- + git-completion.bash: use __gitcomp_builtin() in _git_stash()
- + git-completion.bash: extract from else in _git_stash()
- + git-completion.bash: pass $__git_subcommand_idx from __git_main()
-
- Update "git stash branch<TAB>" command line completion (in contrib/).
+* jh/rfc-builtin-fsmonitor (2021-04-08) 23 commits
+ - 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
- On hold. Probably needs either a reroll or incremental refinements.
- cf. <20210327183554.GD2271@szeder.dev>
+ An attempt to write and ship with a watchman equivalent tailored
+ for our use.
* ag/merge-strategies-in-c (2021-03-17) 15 commits
cf. <nycvar.QRO.7.76.6.2103241142220.50@tvgsbejvaqbjf.bet>
-* ab/unexpected-object-type (2021-04-14) 11 commits
- - fixup! object.c: stop supporting len == -1 in type_from_string_gently()
- - tag: don't misreport type of tagged objects in errors
- - object tests: add test for unexpected objects in tags
- - object.c: add and use oid_is_type_or_die_msg() function
- - object.c: add a utility function for "expected type X, got Y"
- - tree.c: fix misindentation in parse_tree_gently()
- - object-name.c: make dependency on object_type order more obvious
- - object-file.c: make oid_object_info() return "enum object_type"
- - object.c: make type_from_string() return "enum object_type"
- - object.c: refactor type_from_string_gently()
- - object.c: stop supporting len == -1 in type_from_string_gently()
-
- Error reporting upon object type mismatch has been improved
-
-
-* ab/describe-tests-fix (2021-04-12) 5 commits
+* ab/describe-tests-fix (2021-04-29) 5 commits
- describe tests: support -C in "check_describe"
- describe tests: fix nested "test_expect_success" call
- describe tests: don't rely on err.actual from "check_describe"
Various updates to tests around "git describe"
-* ab/pickaxe-pcre2 (2021-04-12) 22 commits
+* ab/pickaxe-pcre2 (2021-04-29) 22 commits
- xdiff-interface: replace discard_hunk_line() with a flag
- xdiff users: use designated initializers for out_line
- pickaxe -G: don't special-case create/delete
--------------------------------------------------
[Cooking]
-* ab/detox-gettext-tests (2021-04-13) 1 commit
- (merged to 'next' on 2021-04-15 at db0da2903a)
- + tests: remove all uses of test_i18cmp
+* dl/complete-stash (2021-03-24) 3 commits
+ (merged to 'next' on 2021-03-24 at ce573a99cc)
+ + git-completion.bash: use __gitcomp_builtin() in _git_stash()
+ + git-completion.bash: extract from else in _git_stash()
+ + git-completion.bash: pass $__git_subcommand_idx from __git_main()
+ (this branch is used by dl/complete-stash-updates.)
- Test clean-up.
+ The command line completion (in contrib/) for "git stash" has been
+ updated.
+
+ Wait until dl/complete-stash-updates matures.
+
+
+* ba/object-info (2021-04-20) 1 commit
+ - object-info: support for retrieving object info
+
+ Over-the-wire protocol learns a new request type to ask for object
+ sizes given a list of object names.
+
+
+* zh/format-ref-array-optim (2021-04-20) 2 commits
+ - ref-filter: reuse output buffer
+ - ref-filter: get rid of show_ref_array_item
+
+ "git (branch|tag) --format=..." has been micro-optimized.
+
+ Will merge to 'next'?
+
+
+* vs/completion-with-set-u (2021-04-16) 1 commit
+ (merged to 'next' on 2021-04-20 at 179933f961)
+ + completion: avoid aliased command lookup error in nounset mode
+
+ Effort to make the command line completion (in contrib/) safe with
+ "set -u" continues.
Will merge to 'master'.
+* 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.
+
+
+* ps/config-env-option-with-separate-value (2021-04-19) 2 commits
+ - git: support separate arg for `--config-env`'s value
+ - git.txt: fix synopsis of `--config-env` missing the equals sign
+
+ "git --config-env var=val cmd" weren't accepted (only
+ --config-env=var=val was).
+
+ Will merge to 'next'.
+ possibly with minimum fix-up?
+ cf. <YIKcZxEDsG7qsE4G@coredump.intra.peff.net>
+
+
* ab/fsck-unexpected-type (2021-04-13) 6 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.
-
-* ab/usage-error-docs (2021-04-13) 3 commits
- (merged to 'next' on 2021-04-15 at dbbbaa5eea)
- + api docs: document that BUG() emits a trace2 error event
- + api docs: document BUG() in api-error-handling.txt
- + usage.c: don't copy/paste the same comment three times
-
- Documentation updates, with unrelated comment updates, too.
-
- Will merge to 'master'.
+ Expecting a reroll.
* jk/promisor-optim (2021-04-13) 3 commits
+ diff-merges: adapt -m to enable default diff format
+ diff-merges: refactor set_diff_merges()
+ diff-merges: introduce --diff-merges=on
- (this branch uses sg/bugreport-fixes.)
"git log" learned "--diff-merges=<style>" option, with an
associated configuration variable log.diffMerges.
Will merge to 'master'.
-* rs/repack-without-loosening-promised-objects (2021-04-19) 1 commit
+* rs/repack-without-loosening-promised-objects (2021-04-28) 1 commit
- repack: avoid loosening promisor objects in partial clones
(this branch uses jk/promisor-optim.)
"git repack -A -d" in a partial clone unnecessarily loosened
objects in promisor pack.
- Almost there.
- cf. <20210419191553.581877-1-jonathantanmy@google.com>
- cf. <xmqqa6pt98j4.fsf@gitster.g>
-
-
-* jc/doc-do-not-capitalize-clarification (2021-04-14) 1 commit
- (merged to 'next' on 2021-04-15 at 873f7a1f84)
- + doc: clarify "do not capitalize the first word" rule
-
- Doc update for developers.
-
- Will merge to 'master'.
-
* mt/pkt-write-errors (2021-04-15) 1 commit
(merged to 'next' on 2021-04-16 at 4a82d89ff3)
Will merge to 'master'.
-* jt/fetch-pack-request-fix (2021-04-08) 1 commit
- (merged to 'next' on 2021-04-15 at 25c02ce3c3)
- + fetch-pack: buffer object-format with other args
- (this branch is used by jt/push-negotiation.)
-
- Will merge to 'master'.
-
-
* jt/push-negotiation (2021-04-08) 6 commits
- send-pack: support push negotiation
- fetch: teach independent negotiation (no packfile)
- fetch-pack: refactor add_haves()
- fetch-pack: refactor process_acks()
- Merge branch 'jt/fetch-pack-request-fix' into jt/push-negotiation
- (this branch uses jt/fetch-pack-request-fix.)
"git push" learns to discover common ancestor with the receiving
end over protocol v2.
- Waiting for reviews.
-
* ab/doc-lint (2021-04-10) 7 commits
- docs: fix linting issues due to incorrect relative section order
Dev support.
- Waiting for reviews to conclude.
+ Will merge to 'next'.
* ab/rebase-no-reschedule-failed-exec (2021-04-10) 2 commits
"git rebase --[no-]reschedule-failed-exec" did not work well with
its configuration variable, which has been corrected.
- Waiting for reviews to conclude.
+ Will merge to 'next'.
-* ah/plugleaks (2021-04-10) 9 commits
+* ah/plugleaks (2021-04-28) 12 commits
- builtin/rm: avoid leaking pathspec and seen
- builtin/rebase: release git_format_patch_opt too
- builtin/for-each-ref: free filter and UNLEAK sorting.
+ - mailinfo: also free strbuf lists when clearing mailinfo
- builtin/checkout: clear pending objects after diffing
- builtin/check-ignore: clear_pathspec before returning
- builtin/bugreport: don't leak prefixed filename
- branch: FREE_AND_NULL instead of NULL'ing real_ref
- bloom: clear each bloom_key after use
+ - ls-files: free max_prefix when done
- wt-status: fix multiple small leaks
+ - revision: free remainder of old commit list in limit_list
Plug various leans reported by LSAN.
- Waiting for reroll.
- What is queued here is a subset of the original series that
- looked (at least to me) to be obviously correct.
+ Will merge to 'next'?
-* bc/hash-transition-interop-part-1 (2021-04-19) 17 commits
- - http-push: set algorithm when reading object ID
- - fixup! hash: provide per-algorithm null OIDs
+* bc/hash-transition-interop-part-1 (2021-04-27) 13 commits
- hex: print objects using the hash algorithm member
- hex: default to the_hash_algo on zero algorithm value
- builtin/pack-objects: avoid using struct object_id for pack hash
- commit-graph: don't store file hashes as struct object_id
- builtin/show-index: set the algorithm for object IDs
- hash: provide per-algorithm null OIDs
- - hash: set and copy algo field in struct object_id
- - cache: compare the entire buffer for struct object_id
+ - hash: set, copy, and use algo field in struct object_id
- builtin/pack-redundant: avoid casting buffers to struct object_id
- Use the final_oid_fn to finalize hashing of object IDs
- hash: add a function to finalize object IDs
+ - http-push: set algorithm when reading object ID
- Always use oidread to read into struct object_id
- - cache: add an algo member to struct object_id
- - builtin/hash-object: allow literally hashing with a given algorithm
- - sha1-file: allow hashing objects literally with any algorithm
+ - hash: add an algo member to struct object_id
SHA-256 transition.
- Expecting a reroll.
- cf. <YHzmjhLy2QjDefXy@camp.crustytoothpaste.net>
+ Will merge to 'next'?
* ps/rev-list-object-type-filter (2021-04-19) 8 commits
which can be used to exclude objects of the given kind from the
packfile generated by pack-objects.
- Will merge to 'next'?
- cf. <cover.1618832437.git.ps@pks.im>
+ Will merge to 'next'.
+ cf. <YIKPwRFbgzKJ1EBg@coredump.intra.peff.net>
* tb/multi-pack-bitmaps (2021-04-10) 23 commits
Test clean-up.
- Waiting for reviews.
- cf. <87mttx121j.fsf@evledraar.gmail.com>
+ Will merge to 'next'.
-* ab/test-lib-updates (2021-04-12) 16 commits
- - test-lib-functions: remove last two parameter count assertions
- - Revert and amend "test-lib-functions: assert correct parameter count"
- - test-lib-functions: use "return 1" instead of "false"
- - test-lib-functions: normalize test_path_is_missing() debugging
- - test-lib: modernize test_create_repo() function
+* ab/test-lib-updates (2021-04-29) 11 commits
+ - test-lib: split up and deprecate test_create_repo()
- test-lib: do not show advice about init.defaultBranch under --verbose
- test-lib: reformat argument list in test_create_repo()
- submodule tests: use symbolic-ref --short to discover branch name
- test-lib functions: add --printf option to test_commit
- describe tests: convert setup to use test_commit
- - test-lib functions: add an --annotated-tag option to "test_commit"
+ - test-lib functions: add an --annotated option to "test_commit"
- test-lib-functions: document test_commit --no-tag
- test-lib-functions: reword "test_commit --append" docs
- test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable
- test-lib: bring $remove_trash out of retirement
- - check-non-portable-shell: complain about "test" a/-o instead of &&/||
(this branch is used by ab/describe-tests-fix and ab/pickaxe-pcre2.)
Test clean-up.
- Waiting for review discussion to conclude.
+ Waiting for an Ack before merging them to 'next'.
* ao/p4-avoid-decoding (2021-04-12) 2 commits
* hn/refs-trace-errno (2021-04-12) 1 commit
- - refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
+ (merged to 'next' on 2021-04-20 at 0816e49d22)
+ + refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
Show errno in the trace output in the error codepath that calls
read_raw_ref method.
- Waiting for reviews to conclude.
- cf. <xmqq4kgbb2ic.fsf@gitster.g>
-
-
-* hn/reftable-tables-doc-update (2021-04-12) 1 commit
- (merged to 'next' on 2021-04-13 at cdadb2c621)
- + reftable: document an alternate cleanup method on Windows
-
- Doc updte.
-
- Will merge to 'master'.
-
-
-* jk/pack-objects-bitmap-progress-fix (2021-04-12) 1 commit
- (merged to 'next' on 2021-04-13 at bbe18a7b3a)
- + pack-objects: update "nr_seen" progress based on pack-reused count
-
- When "git pack-objects" makes a literal copy of a part of existing
- packfile using the reachability bitmaps, its update to the progress
- meter was broken.
-
- Will merge to 'master'.
+ Will merge to 'master'
* ma/t0091-bugreport-fix (2021-04-12) 1 commit
cf. <YHYZTLl90rkWWVOr@google.com>, <87a6q22dei.fsf@evledraar.gmail.com>
-* ps/config-global-override (2021-04-19) 3 commits
- - config: allow overriding of global and system configuration
- - config: unify code paths to get global config paths
- - config: rename `git_etc_config()`
+* ps/config-global-override (2021-04-27) 4 commits
+ - t1300: fix unset of GIT_CONFIG_NOSYSTEM leaking into subsequent tests
+ (merged to 'next' on 2021-04-20 at 82578c696d)
+ + config: allow overriding of global and system configuration
+ + config: unify code paths to get global config paths
+ + config: rename `git_etc_config()`
Replace GIT_CONFIG_NOSYSTEM mechanism to decline from reading the
system-wide configuration file with GIT_CONFIG_SYSTEM that lets
setting NOSYSTEM), and introduce GIT_CONFIG_GLOBAL to override the
per-user configuration in $HOME/.gitconfig.
- Will merge to 'next'?
- Reverted from 'next' to fix GIT_CONFIG_NOSYSTEM regression.
+ Will merge to 'next'.
* ds/maintenance-prefetch-fix (2021-04-16) 4 commits
May want to boost the test coverage.
-* sg/bugreport-fixes (2021-04-08) 1 commit
- (merged to 'next' on 2021-04-16 at e93602f4df)
- + Makefile: add missing dependencies of 'config-list.h'
- (this branch is used by so/log-diff-merge.)
-
- The dependencies for config-list.h and command-list.h were broken
- when the former was split out of the latter, which has been
- corrected.
-
- Will merge to 'master'.
-
-
* mt/add-rm-in-sparse-checkout (2021-04-08) 7 commits
- rm: honor sparse checkout patterns
- add: warn when asked to update SKIP_WORKTREE entries
- add: make --chmod and --renormalize honor sparse checkouts
- t3705: add tests for `git add` in sparse checkouts
- add: include magic part of pathspec on --refresh error
+ (this branch is used by ds/status-with-sparse-index.)
"git add" and "git rm" learned not to touch those paths that are
outside of sparse checkout.
-
-* jh/rfc-builtin-fsmonitor (2021-04-08) 23 commits
- - 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.
-
- Will discard.
- ... as nobody seems to be interested.
+ Will merge to 'next'.
* zh/trailer-cmd (2021-04-17) 2 commits
same goal in a safer and more intuitive way has been added, as
the trailer.<token>.cmd configuration variable, to replace it.
- Waiting for reviews to conclude.
- cf. <xmqq5z0kbl8x.fsf@gitster.g>
-
-
-* ab/userdiff-tests (2021-04-08) 9 commits
- (merged to 'next' on 2021-04-13 at 35fb0e853d)
- + blame tests: simplify userdiff driver test
- + blame tests: don't rely on t/t4018/ directory
- + userdiff: remove support for "broken" tests
- + userdiff tests: list builtin drivers via test-tool
- + userdiff tests: explicitly test "default" pattern
- + userdiff: add and use for_each_userdiff_driver()
- + userdiff style: normalize pascal regex declaration
- + userdiff style: declare patterns with consistent style
- + userdiff style: re-order drivers in alphabetical order
-
- A bit of code clean-up and a lot of test clean-up around userdiff
- area.
-
- Will merge to 'master'.
-
-
-* ar/userdiff-scheme (2021-04-08) 1 commit
- (merged to 'next' on 2021-04-13 at eb80d55a8c)
- + userdiff: add support for Scheme
-
- Userdiff patterns for "Scheme" has been added.
-
- Will merge to 'master'.
+ Expecting a reroll, after waiting for "commit --trailer" to stabilize.
* ds/sparse-index (2021-03-30) 21 commits
+ t1092: clean up script quoting
+ t/perf: add performance test for sparse operations
+ sparse-index: design doc and format update
- (this branch is used by ds/sparse-index-protections.)
+ (this branch is used by ds/sparse-index-protections and ds/status-with-sparse-index.)
Both in-core and on-disk index has been updated to optionally omit
individual entries and replace them with the tree object that
* mt/parallel-checkout-part-2 (2021-04-19) 5 commits
- - parallel-checkout: add design documentation
- - parallel-checkout: support progress displaying
- - parallel-checkout: add configuration options
- - parallel-checkout: make it truly parallel
- - unpack-trees: add basic support for parallel checkout
+ (merged to 'next' on 2021-04-20 at d4779b8864)
+ + parallel-checkout: add design documentation
+ + parallel-checkout: support progress displaying
+ + parallel-checkout: add configuration options
+ + parallel-checkout: make it truly parallel
+ + unpack-trees: add basic support for parallel checkout
+ (this branch is used by mt/parallel-checkout-part-3.)
The checkout machinery has been taught to perform the actual
write-out of the files in parallel when able.
- Will merge to 'next'.
+ Will merge to 'master'.
* ds/sparse-index-protections (2021-04-14) 26 commits
+ read-cache: expand on query into sparse-directory entry
+ *: remove 'const' qualifier for struct index_state
+ sparse-index: API protection strategy
- (this branch uses ds/sparse-index.)
+ (this branch is used by ds/status-with-sparse-index; uses ds/sparse-index.)
Builds on top of the sparse-index infrastructure to mark operations
that are not ready to mark with the sparse index, causing them to
Will merge to 'master'.
-* hn/reftable (2021-04-14) 21 commits
- . SQUASH??? reftable: prepare for hash-algo recorded in each oid
- . 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
- . 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
+* hn/reftable (2021-04-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: ref_iterator_peel returns boolean, rather than peel_status
The "reftable" backend for the refs API.
-
- Reroll exists; needs picking up.
- cf. <pull.847.v7.git.git.1618832276.gitgitgadget@gmail.com>
-
---------------------------------------------------
-[Discarded]
-
-* ab/make-cocci-dedup (2021-03-22) 4 commits
- . Makefile/coccicheck: set SPATCH_BATCH_SIZE to 8
- . Makefile/coccicheck: allow for setting xargs concurrency
- . Makefile/coccicheck: speed up and fix bug with duplicate hunks
- . Makefile/coccicheck: add comment heading for all SPATCH flags
-
- Coccicheck update.
-
- Retracted.
- cf. <cover.1616414951.git.avarab@gmail.com>
- cf. <87k0psnzv5.fsf@evledraar.gmail.com>
-
-
-* ab/tests-cleanup-around-sha1 (2021-03-10) 4 commits
- . tests: get rid of $_x05 from the test suite
- . shortlog tests: rewrite to get rid of --abbrev=35 hardcoding
- . test-lib: remove unused $_x40 and $_z40 variables
- . git-bisect: remove unused SHA-1 $x40 shell variable
-
- Remove variables that hold regexp and glob that match fixed number
- of hexadecimal digits from the test suite.
-
- Retracted, to be replaced by another series.
- cf. <878s67o09v.fsf@evledraar.gmail.com>