summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-04-06 01:06:57 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-04-06 01:06:57 (GMT)
commit209a6c0ad09b667399b3bd14c6b80315f6a3a1eb (patch)
treeeec9beca5d2804ce88bf08966ce8866458ed6495
parenta66fe4a14e0defbd0838ffac832d8756215a5ac2 (diff)
downloadgit-209a6c0ad09b667399b3bd14c6b80315f6a3a1eb.zip
git-209a6c0ad09b667399b3bd14c6b80315f6a3a1eb.tar.gz
git-209a6c0ad09b667399b3bd14c6b80315f6a3a1eb.tar.bz2
What's cooking (2021/04 #01)
-rw-r--r--whats-cooking.txt722
1 files changed, 301 insertions, 421 deletions
diff --git a/whats-cooking.txt b/whats-cooking.txt
index 45530ac..db14944 100644
--- a/whats-cooking.txt
+++ b/whats-cooking.txt
@@ -1,10 +1,10 @@
To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Mar 2021, #08; Tue, 30)
-X-master-at: a65ce7f831aa5fcc596c6d23fcde543d98b39bd7
-X-next-at: f1725819714fbcd96c47ae5f14e00cc01045272f
+Subject: What's cooking in git.git (Apr 2021, #01; Mon, 5)
+X-master-at: 2e36527f23b7f6ae15e6f21ac3b08bf3fed6ee48
+X-next-at: 78e8ed11b70d41228d2893cf13354187f8ca68ee
-What's cooking in git.git (Mar 2021, #08; Tue, 30)
+What's cooking in git.git (Apr 2021, #01; Mon, 5)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -43,243 +43,171 @@ Release tarballs are available at:
--------------------------------------------------
[Graduated to 'master']
-* ab/detox-gettext-tests (2021-03-23) 1 commit
- (merged to 'next' on 2021-03-24 at 00123ddc8d)
- + mktag tests: fix broken "&&" chain
-
- Testfix.
-
-
-* ab/diff-no-index-tests (2021-03-22) 2 commits
- (merged to 'next' on 2021-03-24 at a099113753)
- + diff --no-index tests: test mode normalization
- + diff --no-index tests: add test for --exit-code
-
- More test coverage over "diff --no-index".
-
-
-* ab/make-cleanup (2021-02-23) 5 commits
- (merged to 'next' on 2021-03-22 at e9e16c9fc4)
- + Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets
- + Makefile: split OBJECTS into OBJECTS and GIT_OBJS
- + Makefile: sort OBJECTS assignment for subsequent change
- + Makefile: split up long OBJECTS line
- + Makefile: guard against TEST_OBJS in the environment
-
- Originally merged to 'next' on 2021-03-19
-
- Reorganize Makefile to allow building git.o and other essential
- objects without extra stuff needed only for testing.
-
-
-* ab/read-tree (2021-03-20) 8 commits
- (merged to 'next' on 2021-03-24 at e1241a4890)
- + tree.h API: simplify read_tree_recursive() signature
- + tree.h API: expose read_tree_1() as read_tree_at()
- + archive: stop passing "stage" through read_tree_recursive()
- + ls-files: refactor away read_tree()
- + ls-files: don't needlessly pass around stage variable
- + tree.c API: move read_tree() into builtin/ls-files.c
- + ls-files tests: add meaningful --with-tree tests
- + show tests: add test for "git show <tree>"
- (this branch is used by ds/sparse-index and ds/sparse-index-protections.)
-
- Code simplification by removing support for a caller that is long gone.
-
-
-* ab/remove-rebase-usebuiltin (2021-03-23) 1 commit
- (merged to 'next' on 2021-03-24 at 39517a1c41)
- + rebase: remove transitory rebase.useBuiltin setting & env
-
- Remove the final hint that we used to have a scripted "git rebase".
-
-
-* bs/asciidoctor-installation-hints (2021-03-19) 1 commit
- (merged to 'next' on 2021-03-24 at 93980207f7)
- + INSTALL: note on using Asciidoctor to build doc
-
- Doc update.
-
-
-* cm/rebase-i (2021-01-29) 9 commits
- (merged to 'next' on 2021-03-22 at d5612f5a75)
- + 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
- (this branch is used by cm/rebase-i-fixup-amend-reword and cm/rebase-i-updates.)
-
- Originally merged to 'next' on 2021-02-01
-
- "rebase -i" is getting cleaned up and also enhanced.
-
-
-* cm/rebase-i-fixup-amend-reword (2021-03-15) 6 commits
- (merged to 'next' on 2021-03-22 at 6335e70b5e)
- + doc/git-commit: add documentation for fixup=[amend|reword] options
- + t3437: use --fixup with options to create amend! commit
- + t7500: add tests for --fixup=[amend|reword] options
- + commit: add a reword suboption to --fixup
- + commit: add amend suboption to --fixup to create amend! commit
- + sequencer: export and rename subject_length()
- (this branch uses cm/rebase-i and cm/rebase-i-updates.)
-
- Originally merged to 'next' on 2021-03-19
-
- "git commit --fixup=<commit>", which was to tweak the changes made
- to the contents while keeping the original log message intact,
- learned "--fixup=(amend|reword):<commit>", that can be used to
- tweak both the message and the contents, and only the message,
- respectively.
-
-
-* cm/rebase-i-updates (2021-02-10) 11 commits
- (merged to 'next' on 2021-03-22 at 067e2829d9)
- + doc/rebase -i: fix typo in the documentation of 'fixup' command
- + t/t3437: fixup the test 'multiple fixup -c opens editor once'
- + t/t3437: use named commits in the tests
- + t/t3437: simplify and document the test helpers
- + t/t3437: check the author date of fixed up commit
- + t/t3437: remove the dependency of 'expected-message' file from tests
- + t/t3437: fixup here-docs in the 'setup' test
- + t/lib-rebase: update the documentation of FAKE_LINES
- + rebase -i: clarify and fix 'fixup -c' rebase-todo help
- + sequencer: rename a few functions
- + sequencer: fixup the datatype of the 'flag' argument
- (this branch is used by cm/rebase-i-fixup-amend-reword; uses cm/rebase-i.)
-
- Originally merged to 'next' on 2021-02-12
-
- Follow-up fixes to "cm/rebase-i" topic.
+* jh/simple-ipc (2021-03-22) 12 commits
+ (merged to 'next' on 2021-03-24 at 3ebcedf89a)
+ + t0052: add simple-ipc tests and t/helper/test-simple-ipc tool
+ + simple-ipc: add Unix domain socket implementation
+ + unix-stream-server: create unix domain socket under lock
+ + unix-socket: disallow chdir() when creating unix domain sockets
+ + unix-socket: add backlog size option to unix_stream_listen()
+ + unix-socket: eliminate static unix_stream_socket() helper function
+ + simple-ipc: add win32 implementation
+ + simple-ipc: design documentation for new IPC mechanism
+ + pkt-line: add options argument to read_packetized_to_strbuf()
+ + pkt-line: add PACKET_READ_GENTLE_ON_READ_ERROR option
+ + pkt-line: do not issue flush packets in write_packetized_*()
+ + pkt-line: eliminate the need for static buffer in packet_write_gently()
+ (this branch is used by jh/rfc-builtin-fsmonitor.)
+ A simple IPC interface gets introduced to build services like
+ fsmonitor on top.
-* cs/http-use-basic-after-failed-negotiate (2021-03-22) 1 commit
- (merged to 'next' on 2021-03-24 at 252983daa3)
- + remote-curl: fall back to basic auth if Negotiate fails
- When accessing a server with a URL like https://user:pass@site/, we
- did not to fall back to the basic authentication with the
- credential material embedded in the URL after the "Negotiate"
- authentication failed. Now we do.
+* mt/parallel-checkout-part-1 (2021-03-23) 9 commits
+ (merged to 'next' on 2021-03-30 at e8995d1046)
+ + entry: add checkout_entry_ca() taking preloaded conv_attrs
+ + entry: move conv_attrs lookup up to checkout_entry()
+ + entry: extract update_ce_after_write() from write_entry()
+ + entry: make fstat_output() and read_blob_entry() public
+ + entry: extract a header file for entry.c functions
+ + convert: add classification for conv_attrs struct
+ + convert: add get_stream_filter_ca() variant
+ + convert: add [async_]convert_to_working_tree_ca() variants
+ + convert: make convert_attrs() and convert structs public
+ (this branch is used by mt/parallel-checkout-part-2.)
+ Originally merged to 'next' on 2021-03-21
-* hx/pack-objects-chunk-comment (2021-03-24) 1 commit
- (merged to 'next' on 2021-03-24 at e1c9ec9b71)
- + pack-objects: fix comment of reused_chunk.difference
+ Preparatory API changes for parallel checkout.
- Comment update.
+* zh/format-patch-fractional-reroll-count (2021-03-23) 1 commit
+ (merged to 'next' on 2021-03-26 at 3c29ec9a02)
+ + format-patch: allow a non-integral version numbers
-* jc/doc-format-patch-clarify (2021-03-24) 1 commit
- (merged to 'next' on 2021-03-26 at 421c7c469f)
- + format-patch: give an overview of what a "patch" message is
+ "git format-patch -v<n>" learned to allow a reroll count that is
+ not an integer.
- Explain pieces of the format-patch output upfront before the rest
- of the documentation starts referring to them.
+--------------------------------------------------
+[New Topics]
+* jh/rfc-builtin-fsmonitor (2021-04-01) 24 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
+ - fsmonitor--daemon: man page and documentation
+ - Merge branch 'jh/simple-ipc' into jh/rfc-builtin-fsmonitor
+
+
+* jk/ref-filter-segfault-fix (2021-04-01) 1 commit
+ (merged to 'next' on 2021-04-02 at 03596563b7)
+ + ref-filter: fix NULL check for parse object failure
+
+ A NULL-dereference bug has been corrected in an error codepath in
+ "git for-each-ref", "git branch --list" etc.
-* jk/fail-prereq-testfix (2021-03-18) 1 commit
- (merged to 'next' on 2021-03-22 at efbda3a7ce)
- + t: annotate !PTHREADS tests with !FAIL_PREREQS
+ Will merge to 'master'.
- Originally merged to 'next' on 2021-03-19
- GIT_TEST_FAIL_PREREQS is a mechanism to skip test pieces with
- prerequisites to catch broken tests that depend on the side effects
- of optional pieces, but did not work at all when negative
- prerequisites were involved.
+* tb/pack-preferred-tips-to-give-bitmap (2021-03-31) 3 commits
+ (merged to 'next' on 2021-04-03 at cd7024ecd8)
+ + builtin/pack-objects.c: respect 'pack.preferBitmapTips'
+ + t/helper/test-bitmap.c: initial commit
+ + pack-bitmap: add 'test_bitmap_commits()' helper
+ A configuration variable has been added to force tips of certain
+ refs to be given a reachability bitmap.
-* js/http-pki-credential-store (2021-03-11) 2 commits
- (merged to 'next' on 2021-03-22 at 0df16bc9b3)
- + http: drop the check for an empty proxy password before approving
- + http: store credential when PKI auth is used
+ Will merge to 'master'.
- Originally merged to 'next' on 2021-03-19
- The http codepath learned to let the credential layer to cache the
- password used to unlock a certificate that has successfully been
- used.
+* ab/perl-do-not-abuse-map (2021-04-02) 1 commit
+ (merged to 'next' on 2021-04-03 at 4eaf558557)
+ + git-send-email: replace "map" in void context with "for"
+ (this branch is used by ab/send-email-validate-errors.)
+ Perl critique.
-* mt/checkout-remove-nofollow (2021-03-18) 2 commits
- (merged to 'next' on 2021-03-24 at 7a0bd7a95f)
- + checkout: don't follow symlinks when removing entries
- + symlinks: update comment on threaded_check_leading_path()
+ Will merge to 'master'.
- When "git checkout" removes a path that does not exist in the
- commit it is checking out, it wasn't careful enough not to follow
- symbolic links, which has been corrected.
+* zh/trailer-cmd (2021-04-02) 1 commit
+ - trailer: add new trailer.<token>.cmd config option
+ (this branch uses zh/commit-trailer.)
-* nk/diff-index-fsmonitor (2021-03-18) 3 commits
- (merged to 'next' on 2021-03-22 at 3d4fa0bc51)
- + fsmonitor: add perf test for git diff HEAD
- + fsmonitor: add assertion that fsmonitor is valid to check_removed
- + fsmonitor: skip lstat deletion check during git diff-index
+ The way the command line specified by the trailer.<token>.command
+ configuration variable receives the end-user supplied value was
+ both error prone and misleading. An alternative to achieve the
+ same goal in a safer and more intuitive way has been added, as
+ the trailer.<token>.cmd configuration variable, to replace it.
- Originally merged to 'next' on 2021-03-19
+ Seems to break new tests for .command variant in zh/commit-trailer.
- "git diff-index" codepath has been taught to trust fsmonitor status
- to reduce number of lstat() calls.
+* fm/user-manual-use-preface (2021-04-03) 1 commit
+ (merged to 'next' on 2021-04-05 at 0ae8f63207)
+ + user-manual.txt: assign preface an id and a title
-* rf/send-email-hookspath (2021-03-23) 1 commit
- (merged to 'next' on 2021-03-24 at 84079a6e0f)
- + git-send-email: Respect core.hooksPath setting
+ Doc update to improve git.info
- "git send-email" learned to honor the core.hooksPath configuration.
+ Will merge to 'master'.
-* tb/geometric-repack (2021-03-19) 14 commits
- (merged to 'next' on 2021-03-22 at 8147f00207)
- + builtin/pack-objects.c: ignore missing links with --stdin-packs
- + builtin/repack.c: reword comment around pack-objects flags
- + builtin/repack.c: be more conservative with unsigned overflows
- + builtin/repack.c: assign pack split later
- + t7703: test --geometric repack with loose objects
- + builtin/repack.c: do not repack single packs with --geometric
- + builtin/repack.c: add '--geometric' option
- + packfile: add kept-pack cache for find_kept_pack_entry()
- + builtin/pack-objects.c: rewrite honor-pack-keep logic
- + p5303: measure time to repack with keep
- + p5303: add missing &&-chains
- + builtin/pack-objects.c: add '--stdin-packs' option
- + revision: learn '--no-kept-objects'
- + packfile: introduce 'find_kept_pack_entry()'
+* ab/send-email-validate-errors (2021-04-05) 3 commits
+ - git-send-email: improve --validate error output
+ - git-send-email: test full --validate output
+ - git-send-email: refactor duplicate $? checks into a function
+ (this branch uses ab/perl-do-not-abuse-map.)
- Originally merged to 'next' on 2021-03-08
+ Clean-up codepaths that implements "git send-email --validate"
+ option and improves the message from it.
- "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.
+ Expecting a reroll.
+ cf. <xmqqmtuc5yx7.fsf@gitster.g>
-* tb/push-simple-uses-branch-merge-config (2021-03-13) 1 commit
- (merged to 'next' on 2021-03-22 at bec0a72090)
- + Documentation/git-push.txt: correct configuration typo
+* tb/precompose-prefix-simplify (2021-04-05) 2 commits
+ (merged to 'next' on 2021-04-05 at 78e8ed11b7)
+ + macOS: precompose startup_info->prefix
+ + precompose_utf8: make precompose_string_if_needed() public
- Originally merged to 'next' on 2021-03-19
+ Streamline the codepath to fix the UTF-8 encoding issues in the
+ argv[] and the prefix on macOS.
- Doc update.
+ Will merge to 'master'.
--------------------------------------------------
-[New Topics]
+[Cooking]
* zh/commit-trailer (2021-03-23) 1 commit
- - commit: add --trailer option
+ (merged to 'next' on 2021-03-31 at f17d196ee1)
+ + commit: add --trailer option
+ (this branch is used by zh/trailer-cmd.)
"git commit" learned "--trailer <key>[=<value>]" option; together
with the interpret-trailers command, this will make it easier to
support custom trailers.
- Will merge to 'next'.
+ Will merge to 'master'.
* ab/userdiff-tests (2021-03-23) 10 commits
@@ -314,23 +242,15 @@ Release tarballs are available at:
Will merge to 'master'.
-* en/ort-perf-batch-11 (2021-03-25) 7 commits
- - merge-ort, diffcore-rename: employ cached renames when possible
- - 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
- (this branch uses en/ort-perf-batch-10, en/ort-perf-batch-9 and en/ort-readiness.)
-
-
* rs/daemon-sanitize-dir-sep (2021-03-26) 1 commit
- - daemon: sanitize all directory separators
+ (merged to 'next' on 2021-04-01 at c8f43b1c8d)
+ + daemon: sanitize all directory separators
"git daemon" has been tightened against systems that take backslash
as directory separator.
+ Will merge to 'master'.
+
* ar/userdiff-scheme (2021-03-27) 1 commit
- userdiff: add support for Scheme
@@ -341,46 +261,78 @@ Release tarballs are available at:
* js/cmake-vsbuild (2021-03-29) 4 commits
- - cmake(install): include vcpkg dlls
- - cmake: add a preparatory work-around to accommodate `vcpkg`
- - cmake(install): fix double .exe suffixes
- - cmake: support SKIP_DASHED_BUILT_INS
+ (merged to 'next' on 2021-03-31 at e0c4369f65)
+ + cmake(install): include vcpkg dlls
+ + cmake: add a preparatory work-around to accommodate `vcpkg`
+ + cmake(install): fix double .exe suffixes
+ + cmake: support SKIP_DASHED_BUILT_INS
CMake update for vsbuild.
- Will merge to 'next'.
+ Will merge to 'master'.
* js/security-md (2021-03-27) 2 commits
- - Document how we do embargoed releases
- - SECURITY: describe how to report vulnerabilities
+ (merged to 'next' on 2021-03-31 at 28f64fee38)
+ + Document how we do embargoed releases
+ + SECURITY: describe how to report vulnerabilities
SECURITY.md that is facing individual contributors and end users
has been introduced. Also a procedure to follow when preparing
embargoed releases has been spelled out.
+ Will merge to 'master'.
+
-* ab/make-tags-quiet (2021-03-27) 1 commit
- - Makefile: add QUIET_GEN to "tags" and "TAGS" targets
+* ab/make-tags-quiet (2021-04-01) 1 commit
+ (merged to 'next' on 2021-04-01 at 9ea45b61b8)
+ + Makefile: add QUIET_GEN to "tags" and "TAGS" targets
+
+ Generate [ec]tags under $(QUIET_GEN).
+
+ Will merge to 'master'.
* cc/downcase-opt-help (2021-03-29) 1 commit
- - column, range-diff: downcase option description
+ (merged to 'next' on 2021-03-31 at 0df5c647b9)
+ + column, range-diff: downcase option description
+ A few option description strings started with capital letters,
+ which were corrected.
-* en/sequencer-edit-upon-conflict-fix (2021-03-29) 1 commit
- - sequencer: fix edit handling for cherry-pick and revert messages
+ Will merge to 'master'.
-* gk/gitweb-redacted-email (2021-03-29) 1 commit
- - gitweb: redacted e-mail addresses feature.
+* en/sequencer-edit-upon-conflict-fix (2021-03-31) 1 commit
+ (merged to 'next' on 2021-04-01 at 2e3c705a73)
+ + sequencer: fix edit handling for cherry-pick and revert messages
+ "git cherry-pick/revert" with or without "--[no-]edit" did not spawn
+ the editor as expected (e.g. "revert --no-edit" after a conflict
+ still asked to edit the message), which has been corrected.
-* ll/clone-reject-shallow (2021-03-29) 1 commit
- - builtin/clone.c: add --reject-shallow option
+ Will merge to 'master'.
+
+
+* gk/gitweb-redacted-email (2021-03-31) 1 commit
+ - gitweb: add "e-mail privacy" feature to redact e-mail addresses
+
+ "gitweb" learned "e-mail privacy" feature to redact strings that
+ look like e-mail addresses on various pages.
+
+ Waiting for reviews.
+ cf. <xmqq5z19k9wu.fsf@gitster.g>
+
+
+* ll/clone-reject-shallow (2021-04-01) 1 commit
+ (merged to 'next' on 2021-04-01 at 9b13372e1a)
+ + builtin/clone.c: add --reject-shallow option
+
+ "git clone --reject-shallow" option fails the clone as soon as we
+ notice that we are cloning from a shallow repository.
+
+ Will merge to 'master'.
---------------------------------------------------
-[Cooking]
* ds/sparse-index (2021-03-30) 21 commits
- p2000: add sparse-index repos
@@ -404,6 +356,7 @@ Release tarballs are available at:
- 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.)
Both in-core and on-disk index has been updated to optionally omit
individual entries and replace them with the tree object that
@@ -422,11 +375,8 @@ Release tarballs are available at:
- 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; uses en/ort-perf-batch-9.)
- I made a mistake of picking these up before they got sufficient
- exposure to the reviewers and ended up a source of potential mess
- when it turns out that any of the earlier ones need rewriting (I
- probably should stop picking up nested series that exceeds reviewer
- bandwidth), but how ready is this and subsequent topics?
+ Various rename detection optimization to help "ort" merge strategy
+ backend.
* mt/add-rm-in-sparse-checkout (2021-03-18) 7 commits
@@ -451,17 +401,16 @@ Release tarballs are available at:
- parallel-checkout: add configuration options
- parallel-checkout: make it truly parallel
- unpack-trees: add basic support for parallel checkout
- (this branch uses mt/parallel-checkout-part-1.)
* ps/pack-bitmap-optim (2021-03-22) 1 commit
- - pack-bitmap: avoid traversal of objects referenced by uninteresting tag
+ (merged to 'next' on 2021-03-31 at 12bb775d9a)
+ + pack-bitmap: avoid traversal of objects referenced by uninteresting tag
Optimize "rev-list --use-bitmap-index --objects" corner case that
uses negative tags as the stopping points.
- Needs review.
- cf. <xmqqk0q4ov95.fsf@gitster.g>
+ Will merge to 'master'.
* dl/complete-stash (2021-03-24) 3 commits
@@ -472,57 +421,37 @@ Release tarballs are available at:
Update "git stash branch<TAB>" command line completion (in contrib/).
+ On hold. Probably needs either a reroll or incremental refinements.
cf. <20210327183554.GD2271@szeder.dev>
-* ds/sparse-index-protections (2021-03-23) 47 commits
- . name-hash: use expand_to_path()
- . sparse-index: expand_to_path()
- . revision: ensure full index
- . resolve-undo: ensure full index
- . read-cache: ensure full index
- . pathspec: ensure full index
- . merge-recursive: ensure full index
- . merge-ort: ensure full index
- . entry: ensure full index
- . dir: ensure full index
- . diff-lib: ensure full index
- . update-index: ensure full index
- . sparse-checkout: ensure full index
- . rm: ensure full index
- . merge-index: ensure full index
- . ls-files: ensure full index
- . grep: ensure full index
- . fsck: ensure full index
- . difftool: ensure full index
- . commit: ensure full index
- . checkout: ensure full index
- . checkout-index: ensure full index
- . add: ensure full index
- . cache: move ensure_full_index() to cache.h
- . sparse-index: API protection strategy
- . read-cache: expand on query into sparse-directory entry
- . *: remove 'const' qualifier for struct index_state
- . p2000: add sparse-index repos
- . sparse-index: loose integration with cache_tree_verify()
- . cache-tree: integrate with sparse directory entries
- . sparse-checkout: disable sparse-index
- . sparse-checkout: toggle sparse index from builtin
- . sparse-index: create extension for compatibility
- . sparse-index: check index conversion happens
- . unpack-trees: allow sparse directories
- . submodule: sparse-index should not collapse links
- . sparse-index: convert from full to sparse
- . sparse-checkout: hold pattern list in index
- . unpack-trees: ensure full index
- . test-tool: don't force full index
- . test-read-cache: print cache entries with --table
- . t1092: compare sparse-checkout to sparse-index
- . sparse-index: implement ensure_full_index()
- . sparse-index: add guard to ensure full index
- . t1092: clean up script quoting
- . t/perf: add performance test for sparse operations
- . sparse-index: design doc and format update
+* ds/sparse-index-protections (2021-03-31) 25 commits
+ - name-hash: use expand_to_path()
+ - sparse-index: expand_to_path()
+ - revision: ensure full index
+ - resolve-undo: ensure full index
+ - read-cache: ensure full index
+ - pathspec: ensure full index
+ - merge-recursive: ensure full index
+ - entry: ensure full index
+ - dir: ensure full index
+ - update-index: ensure full index
+ - stash: ensure full index
+ - rm: ensure full index
+ - merge-index: ensure full index
+ - ls-files: ensure full index
+ - grep: ensure full index
+ - fsck: ensure full index
+ - difftool: ensure full index
+ - commit: ensure full index
+ - checkout: ensure full index
+ - checkout-index: ensure full index
+ - add: ensure full index
+ - cache: move ensure_full_index() to cache.h
+ - 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.)
Builds on top of the sparse-index infrastructure to mark operations
that are not ready to mark with the sparse index, causing them to
@@ -573,68 +502,49 @@ Release tarballs are available at:
cf. <nycvar.QRO.7.76.6.2103241142220.50@tvgsbejvaqbjf.bet>
-* mt/parallel-checkout-part-1 (2021-03-23) 9 commits
- (merged to 'next' on 2021-03-30 at e8995d1046)
- + entry: add checkout_entry_ca() taking preloaded conv_attrs
- + entry: move conv_attrs lookup up to checkout_entry()
- + entry: extract update_ce_after_write() from write_entry()
- + entry: make fstat_output() and read_blob_entry() public
- + entry: extract a header file for entry.c functions
- + convert: add classification for conv_attrs struct
- + convert: add get_stream_filter_ca() variant
- + convert: add [async_]convert_to_working_tree_ca() variants
- + convert: make convert_attrs() and convert structs public
- (this branch is used by mt/parallel-checkout-part-2.)
-
- Originally merged to 'next' on 2021-03-21
-
- Preparatory API changes for parallel checkout.
-
- Will merge to 'master'.
-
-
* ab/fsck-api-cleanup (2021-03-28) 19 commits
- - fetch-pack: use new fsck API to printing dangling submodules
- - fetch-pack: use file-scope static struct for fsck_options
- - fetch-pack: don't needlessly copy fsck_options
- - fsck.c: move gitmodules_{found,done} into fsck_options
- - fsck.c: add an fsck_set_msg_type() API that takes enums
- - fsck.c: pass along the fsck_msg_id in the fsck_error callback
- - fsck.[ch]: move FOREACH_FSCK_MSG_ID & fsck_msg_id from *.c to *.h
- - fsck.c: give "FOREACH_MSG_ID" a more specific name
- - fsck.c: undefine temporary STR macro after use
- - fsck.c: call parse_msg_type() early in fsck_set_msg_type()
- - fsck.h: re-order and re-assign "enum fsck_msg_type"
- - fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
- - fsck.c: refactor fsck_msg_type() to limit scope of "int msg_type"
- - fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
- - fsck.c: remove (mostly) redundant append_msg_id() function
- - fsck.c: rename variables in fsck_set_msg_type() for less confusion
- - fsck.h: use "enum object_type" instead of "int"
- - fsck.h: use designed initializers for FSCK_OPTIONS_{DEFAULT,STRICT}
- - fsck.c: refactor and rename common config callback
+ (merged to 'next' on 2021-03-31 at 30c3303dba)
+ + fetch-pack: use new fsck API to printing dangling submodules
+ + fetch-pack: use file-scope static struct for fsck_options
+ + fetch-pack: don't needlessly copy fsck_options
+ + fsck.c: move gitmodules_{found,done} into fsck_options
+ + fsck.c: add an fsck_set_msg_type() API that takes enums
+ + fsck.c: pass along the fsck_msg_id in the fsck_error callback
+ + fsck.[ch]: move FOREACH_FSCK_MSG_ID & fsck_msg_id from *.c to *.h
+ + fsck.c: give "FOREACH_MSG_ID" a more specific name
+ + fsck.c: undefine temporary STR macro after use
+ + fsck.c: call parse_msg_type() early in fsck_set_msg_type()
+ + fsck.h: re-order and re-assign "enum fsck_msg_type"
+ + fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
+ + fsck.c: refactor fsck_msg_type() to limit scope of "int msg_type"
+ + fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
+ + fsck.c: remove (mostly) redundant append_msg_id() function
+ + fsck.c: rename variables in fsck_set_msg_type() for less confusion
+ + fsck.h: use "enum object_type" instead of "int"
+ + fsck.h: use designed initializers for FSCK_OPTIONS_{DEFAULT,STRICT}
+ + fsck.c: refactor and rename common config callback
Fsck API clean-up.
- Will merge to 'next'?
- cf. <xmqq5z1alnmu.fsf@gitster.g>
+ Will merge to 'master'.
* en/ort-perf-batch-9 (2021-03-10) 8 commits
- - diffcore-rename: avoid doing basename comparisons for irrelevant sources
- - merge-ort: skip rename detection entirely if possible
- - merge-ort: use relevant_sources to filter possible rename sources
- - merge-ort: precompute whether directory rename detection is needed
- - merge-ort: introduce wrappers for alternate tree traversal
- - merge-ort: add data structures for an alternate tree traversal
- - merge-ort: precompute subset of sources for which we need rename detection
- - diffcore-rename: enable filtering possible rename sources
+ (merged to 'next' on 2021-04-01 at cc5254aadc)
+ + diffcore-rename: avoid doing basename comparisons for irrelevant sources
+ + merge-ort: skip rename detection entirely if possible
+ + merge-ort: use relevant_sources to filter possible rename sources
+ + merge-ort: precompute whether directory rename detection is needed
+ + merge-ort: introduce wrappers for alternate tree traversal
+ + merge-ort: add data structures for an alternate tree traversal
+ + merge-ort: precompute subset of sources for which we need rename detection
+ + diffcore-rename: enable filtering possible rename sources
(this branch is used by en/ort-perf-batch-10, en/ort-perf-batch-11 and en/ort-readiness.)
The ort merge backend has been optimized by skipping irrelevant
renames.
- Will merge to 'next'.
+ Will merge to 'master'.
* hn/reftable (2021-03-12) 15 commits
@@ -713,39 +623,30 @@ Release tarballs are available at:
cf. <xmqq1rcj6hzr.fsf@gitster.g>
-* zh/format-patch-fractional-reroll-count (2021-03-23) 1 commit
- (merged to 'next' on 2021-03-26 at 3c29ec9a02)
- + format-patch: allow a non-integral version numbers
-
- "git format-patch -v<n>" learned to allow a reroll count that is
- not an integer.
-
- Will merge to 'master'.
-
-
-* tb/reverse-midx (2021-03-30) 17 commits
- - midx.c: improve cache locality in midx_pack_order_cmp()
- - pack-revindex: write multi-pack reverse indexes
- - pack-write.c: extract 'write_rev_file_order'
- - pack-revindex: read multi-pack reverse indexes
- - Documentation/technical: describe multi-pack reverse indexes
- - midx: make some functions non-static
- - midx: keep track of the checksum
- - midx: don't free midx_name early
- - midx: allow marking a pack as preferred
- - t/helper/test-read-midx.c: add '--show-objects'
- - builtin/multi-pack-index.c: display usage on unrecognized command
- - builtin/multi-pack-index.c: don't enter bogus cmd_mode
- - builtin/multi-pack-index.c: split sub-commands
- - builtin/multi-pack-index.c: define common usage with a macro
- - builtin/multi-pack-index.c: don't handle 'progress' separately
- - builtin/multi-pack-index.c: inline 'flags' with options
- - Merge branch 'ds/chunked-file-api' into tb/reverse-midx
+* tb/reverse-midx (2021-04-01) 17 commits
+ (merged to 'next' on 2021-04-01 at 17c9542606)
+ + midx.c: improve cache locality in midx_pack_order_cmp()
+ + pack-revindex: write multi-pack reverse indexes
+ + pack-write.c: extract 'write_rev_file_order'
+ + pack-revindex: read multi-pack reverse indexes
+ + Documentation/technical: describe multi-pack reverse indexes
+ + midx: make some functions non-static
+ + midx: keep track of the checksum
+ + midx: don't free midx_name early
+ + midx: allow marking a pack as preferred
+ + t/helper/test-read-midx.c: add '--show-objects'
+ + builtin/multi-pack-index.c: display usage on unrecognized command
+ + builtin/multi-pack-index.c: don't enter bogus cmd_mode
+ + builtin/multi-pack-index.c: split sub-commands
+ + builtin/multi-pack-index.c: define common usage with a macro
+ + builtin/multi-pack-index.c: don't handle 'progress' separately
+ + builtin/multi-pack-index.c: inline 'flags' with options
+ + Merge branch 'ds/chunked-file-api' into tb/reverse-midx
An on-disk reverse-index to map the in-pack location of an object
back to its object name across multiple packfiles is introduced.
- Will merge to 'next'.
+ Will merge to 'master'.
* ab/pickaxe-pcre2 (2021-02-18) 24 commits
@@ -780,65 +681,44 @@ Release tarballs are available at:
Needs (hopefully the final round of) review.
-* jh/simple-ipc (2021-03-22) 12 commits
- (merged to 'next' on 2021-03-24 at 3ebcedf89a)
- + t0052: add simple-ipc tests and t/helper/test-simple-ipc tool
- + simple-ipc: add Unix domain socket implementation
- + unix-stream-server: create unix domain socket under lock
- + unix-socket: disallow chdir() when creating unix domain sockets
- + unix-socket: add backlog size option to unix_stream_listen()
- + unix-socket: eliminate static unix_stream_socket() helper function
- + simple-ipc: add win32 implementation
- + simple-ipc: design documentation for new IPC mechanism
- + pkt-line: add options argument to read_packetized_to_strbuf()
- + pkt-line: add PACKET_READ_GENTLE_ON_READ_ERROR option
- + pkt-line: do not issue flush packets in write_packetized_*()
- + pkt-line: eliminate the need for static buffer in packet_write_gently()
-
- A simple IPC interface gets introduced to build services like
- fsmonitor on top.
-
- Will merge to 'master'.
-
-
* es/config-hooks (2021-03-10) 37 commits
- - docs: unify githooks and git-hook manpages
- - 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
+ . docs: unify githooks and git-hook manpages
+ . 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.