summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-04-08 22:19:17 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-04-08 22:19:17 (GMT)
commit18b8aed3b3f6d0ae059cd17077225e147cdb52f0 (patch)
tree8c8c636cc38f11fbc2122beaff1e07aa62443d48
parent6b51cb2e8fa6503f16cd95a73c7e5c65f3497a3a (diff)
downloadgit-18b8aed3b3f6d0ae059cd17077225e147cdb52f0.zip
git-18b8aed3b3f6d0ae059cd17077225e147cdb52f0.tar.gz
git-18b8aed3b3f6d0ae059cd17077225e147cdb52f0.tar.bz2
What's cooking (2021/04 #02)
-rw-r--r--whats-cooking.txt945
1 files changed, 486 insertions, 459 deletions
diff --git a/whats-cooking.txt b/whats-cooking.txt
index db14944..a4579a6 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 (Apr 2021, #01; Mon, 5)
-X-master-at: 2e36527f23b7f6ae15e6f21ac3b08bf3fed6ee48
-X-next-at: 78e8ed11b70d41228d2893cf13354187f8ca68ee
+Subject: What's cooking in git.git (Apr 2021, #02; Thu, 8)
+X-master-at: 89b43f80a514aee58b662ad606e6352e03eaeee4
+X-next-at: be11c130afeab11780014fb555625b10f13c8463
-What's cooking in git.git (Apr 2021, #01; Mon, 5)
+What's cooking in git.git (Apr 2021, #02; Thu, 8)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -43,55 +43,441 @@ Release tarballs are available at:
--------------------------------------------------
[Graduated to 'master']
-* 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.
-
-
-* 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.
-
-
-* 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.
+* ab/fsck-api-cleanup (2021-03-28) 19 commits
+ (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.
+
+
+* 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).
+
+
+* ah/plugleaks (2021-03-21) 9 commits
+ (merged to 'next' on 2021-03-30 at 78636ede89)
+ + transport: also free remote_refs in transport_disconnect()
+ + parse-options: don't leak alias help messages
+ + parse-options: convert bitfield values to use binary shift
+ + init-db: silence template_dir leak when converting to absolute path
+ + init: remove git_init_db_config() while fixing leaks
+ + worktree: fix leak in dwim_branch()
+ + clone: free or UNLEAK further pointers when finished
+ + reset: free instead of leaking unneeded ref
+ + symbolic-ref: don't leak shortened refname in check_symref()
+
+ Plug or annotate remaining leaks that trigger while running the
+ very basic set of tests.
+
+
+* cc/downcase-opt-help (2021-03-29) 1 commit
+ (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.
+
+
+* ds/clarify-hashwrite (2021-03-26) 1 commit
+ (merged to 'next' on 2021-03-30 at 701f5c0696)
+ + csum-file: make hashwrite() more readable
+
+ The hashwrite() API uses a buffering mechanism to avoid calling
+ write(2) too frequently. This logic has been refactored to be
+ easier to understand.
+
+
+* en/ort-perf-batch-9 (2021-03-10) 8 commits
+ (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.
+
+
+* 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.
+
+
+* js/cmake-vsbuild (2021-03-29) 4 commits
+ (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.
+
+
+* js/security-md (2021-03-27) 2 commits
+ (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.
+
+
+* 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.
+
+
+* ps/pack-bitmap-optim (2021-03-22) 1 commit
+ (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.
+
+
+* rs/daemon-sanitize-dir-sep (2021-03-26) 1 commit
+ (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.
+
+
+* 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.
+
+
+* zh/commit-trailer (2021-03-23) 1 commit
+ (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.
+
+--------------------------------------------------
+[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/).
+
+ On hold. Probably needs either a reroll or incremental refinements.
+ cf. <20210327183554.GD2271@szeder.dev>
+
+
+* 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
+ - merge: use the "octopus" strategy without forking
+ - merge: use the "resolve" strategy without forking
+ - merge-octopus: rewrite in C
+ - merge-recursive: move better_branch_name() to merge.c
+ - merge-resolve: rewrite in C
+ - merge-one-file: rewrite in C
+ - update-index: move add_cacheinfo() to read-cache.c
+ - merge-index: add a new way to invoke `git-merge-one-file'
+ - merge-index: drop the index
+ - merge-index: libify merge_one_path() and merge_all()
+ - t6060: add tests for removed files
+ - t6060: modify multiple files to expose a possible issue with merge-index
+ - t6407: modernise tests
+
+ The resolve and octopus merge strategy backends have been rewritten
+ in C.
+
+ Expecting a (hopefully final) reroll.
+ cf. <nycvar.QRO.7.76.6.2103241142220.50@tvgsbejvaqbjf.bet>
+
+
+* ab/unexpected-object-type (2021-03-27) 10 commits
+ - 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
+
+ Expecting a reroll.
+ cf. <YGBL88lYheyFmwCg@coredump.intra.peff.net>
+ ... we would be much better off to say something like "somebody
+ expected X to be a commit, but now somebody else expects it to be a
+ blob", which is all that we can reliably say.
+
+
+* ab/describe-tests-fix (2021-03-01) 10 commits
+ - test-lib: return 1 from test_expect_{success,failure}
+ - svn tests: refactor away a "set -e" in test body
+ - svn tests: remove legacy re-setup from init-clone test
+ - describe tests: support -C in "check_describe"
+ - describe tests: fix nested "test_expect_success" call
+ - describe tests: convert setup to use test_commit
+ - test-lib functions: add an --annotated-tag option to "test_commit"
+ - describe tests: always assert empty stderr from "describe"
+ - describe tests: refactor away from glob matching
+ - describe tests: improve test for --work-tree & --dirty
+
+ Various updates to tests around "git describe"
+
+ Expecting a reroll.
+ cf. <xmqq1rcj6hzr.fsf@gitster.g>
+
+
+* ab/pickaxe-pcre2 (2021-02-18) 24 commits
+ - pickaxe -G: don't special-case create/delete
+ - pickaxe -G: terminate early on matching lines
+ - xdiff-interface: support early exit in xdiff_outf()
+ - xdiff-interface: allow early return from xdiff_emit_{line,hunk}_fn
+ - pickaxe -S: slightly optimize contains()
+ - pickaxe: rename variables in has_changes() for brevity
+ - pickaxe -S: support content with NULs under --pickaxe-regex
+ - pickaxe: assert that we must have a needle under -G or -S
+ - pickaxe: refactor function selection in diffcore-pickaxe()
+ - perf: add performance test for pickaxe
+ - pickaxe/style: consolidate declarations and assignments
+ - diff.h: move pickaxe fields together again
+ - pickaxe: die when --find-object and --pickaxe-all are combined
+ - pickaxe: die when -G and --pickaxe-regex are combined
+ - pickaxe tests: test for -G, -S and --find-object incompatibility
+ - pickaxe tests: add test for "log -S" not being a regex
+ - pickaxe tests: add test for diffgrep_consume() internals
+ - pickaxe tests: refactor to use test_commit --append --printf
+ - test-lib functions: add --printf option to test_commit
+ - test-lib-functions: reword "test_commit --append" docs
+ - test-lib-functions: document and test test_commit --no-tag
+ - grep/pcre2 tests: reword comments referring to kwset
+ - Merge branch 'jk/rev-list-disk-usage' into ab/pickaxe-pcre2
+ - Merge branch 'ab/test-lib' into ab/pickaxe-pcre2
+
+ Rewrite the backend for "diff -G/-S" to use pcre2 engine when
+ available.
+
+ Needs (hopefully the final round of) reroll and its review.
+ cf. <xmqqh7ksb5j7.fsf@gitster.g>, <xmqqa6qkb5fi.fsf@gitster.g>, etc.
+
+
+* 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.
--------------------------------------------------
[New Topics]
-* jh/rfc-builtin-fsmonitor (2021-04-01) 24 commits
+* cc/test-helper-bloom-usage-fix (2021-04-05) 1 commit
+ (merged to 'next' on 2021-04-06 at 4895f33fee)
+ + test-bloom: fix missing 'bloom' from usage string
+
+ Usage message fix for a test helper.
+
+ Will merge to 'master'.
+
+
+* jz/apply-run-3way-first (2021-04-06) 1 commit
+ - git-apply: try threeway first when "--3way" is used
+ (this branch is used by jz/apply-3way-cached.)
+
+ "git apply --3way" has always been "to fall back to 3-way merge
+ only when straight application fails". Swap the order of falling
+ back so that 3-way is always attempted first (only when the option
+ is given, of course) and then straight patch application is used as
+ a fallback when it fails.
+
+ Will merge to 'next'.
+
+
+* ds/maintenance-prefetch-fix (2021-04-06) 5 commits
+ - maintenance: allow custom refspecs during prefetch
+ - test-tool: test refspec input/output
+ - refspec: output a refspec item
+ - test-lib: use exact match for test_subcommand
+ - maintenance: simplify prefetch logic
+
+ The prefetch task in "git maintenance" assumed that "git fetch"
+ from any remote would fetch all its local branches, which would
+ fetch too much if the user is interested in only a subset of
+ branches there.
+
+ Expecting a reroll.
+ cf. <35fa99cf-ba24-f13e-0607-f9acce2905cf@gmail.com>
+
+
+* ab/complete-cherry-pick-head (2021-04-07) 1 commit
+ - bash completion: complete CHERRY_PICK_HEAD
+
+ The command line completion (in contrib/) has learned that
+ CHERRY_PICK_HEAD is a possible pseudo-ref.
+
+ Will merge to 'next'?
+
+
+* mr/bisect-in-c-4 (2021-04-07) 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. <xmqqo8epydwx.fsf@gitster.g>, <xmqqeeflycf9.fsf@gitster.g>
+
+
+* ab/detox-config-gettext (2021-04-08) 1 commit
+ - config.c: remove last remnant of GIT_TEST_GETTEXT_POISON
+
+ The last remnant of gettext-poison has been removed.
+
+ Will merge to 'next'.
+
+
+* jz/apply-3way-cached (2021-04-07) 1 commit
+ - git-apply: allow simultaneous --cached and --3way options
+ (this branch uses jz/apply-run-3way-first.)
+
+ "git apply" now takes "--3way" and "--cached" at the same time, and
+ work and record results only in the index.
+
+ Will merge to 'next'.
+
+
+* vs/completion-with-set-u (2021-04-08) 1 commit
+ - completion: audit and guard $GIT_* against unset use
+
+ The command-line completion script (in contrib/) had a couple of
+ references that would have given a warning under the "-u" (nounset)
+ option.
+
+ Will merge to 'next'.
+
+
+* sg/bugreport-fixes (2021-04-08) 1 commit
+ - Makefile: add missing dependencies of 'config-list.h'
+
+ 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 'next'.
+
+--------------------------------------------------
+[Cooking]
+
+* 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
+ - refresh_index(): add flag to ignore SKIP_WORKTREE entries
+ - pathspec: allow to ignore SKIP_WORKTREE entries on index matching
+ - 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
+
+ "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
@@ -114,7 +500,6 @@ Release tarballs are available at:
- 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
@@ -152,7 +537,6 @@ Release tarballs are available at:
* zh/trailer-cmd (2021-04-02) 1 commit
- trailer: add new trailer.<token>.cmd config option
- (this branch uses zh/commit-trailer.)
The way the command line specified by the trailer.<token>.command
configuration variable receives the end-user supplied value was
@@ -160,7 +544,8 @@ Release tarballs are available at:
same goal in a safer and more intuitive way has been added, as
the trailer.<token>.cmd configuration variable, to replace it.
- Seems to break new tests for .command variant in zh/commit-trailer.
+ Expecting a reroll.
+ cf. <CAP8UFD08Lagij6oqpOJkpbzMLRgQ08=mDfiyf1qXyD5VW6Ae7A@mail.gmail.com>
* fm/user-manual-use-preface (2021-04-03) 1 commit
@@ -172,17 +557,17 @@ Release tarballs are available at:
Will merge to 'master'.
-* 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
+* ab/send-email-validate-errors (2021-04-06) 3 commits
+ (merged to 'next' on 2021-04-06 at d7fb1dbde0)
+ + git-send-email: improve --validate error output
+ + git-send-email: refactor duplicate $? checks into a function
+ + git-send-email: test full --validate output
(this branch uses ab/perl-do-not-abuse-map.)
Clean-up codepaths that implements "git send-email --validate"
option and improves the message from it.
- Expecting a reroll.
- cf. <xmqqmtuc5yx7.fsf@gitster.g>
+ Will merge to 'master'.
* tb/precompose-prefix-simplify (2021-04-05) 2 commits
@@ -195,22 +580,8 @@ Release tarballs are available at:
Will merge to 'master'.
---------------------------------------------------
-[Cooking]
-
-* zh/commit-trailer (2021-03-23) 1 commit
- (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 'master'.
-
-
-* ab/userdiff-tests (2021-03-23) 10 commits
+* ab/userdiff-tests (2021-04-08) 9 commits
- blame tests: simplify userdiff driver test
- blame tests: don't rely on t/t4018/ directory
- userdiff: remove support for "broken" tests
@@ -220,98 +591,19 @@ Release tarballs are available at:
- userdiff style: normalize pascal regex declaration
- userdiff style: declare patterns with consistent style
- userdiff style: re-order drivers in alphabetical order
- - userdiff: refactor away the parse_bool() function
A bit of code clean-up and a lot of test clean-up around userdiff
area.
- A reroll promised "at some point".
- cf. <87im5gp2ze.fsf@evledraar.gmail.com>
-
+ Will merge to 'next'?
-* ds/clarify-hashwrite (2021-03-26) 1 commit
- (merged to 'next' on 2021-03-30 at 701f5c0696)
- + csum-file: make hashwrite() more readable
- The hashwrite() API always resulted in a call to write(2), even
- when writing a small amount of bytes that would still fit in the
- internal buffer held by the hashfile struct. It has been updated
- to delay the writing until the buffer is filled or the hashfile
- concluded for performance.
-
- Will merge to 'master'.
-
-
-* rs/daemon-sanitize-dir-sep (2021-03-26) 1 commit
- (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
+* ar/userdiff-scheme (2021-04-08) 1 commit
- userdiff: add support for Scheme
Userdiff patterns for "Scheme" has been added.
- Expecting a reroll.
-
-
-* js/cmake-vsbuild (2021-03-29) 4 commits
- (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 'master'.
-
-
-* js/security-md (2021-03-27) 2 commits
- (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-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
- (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.
-
- Will merge to 'master'.
-
-
-* 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.
-
- Will merge to 'master'.
+ Will merge to 'next'?
* gk/gitweb-redacted-email (2021-03-31) 1 commit
@@ -324,38 +616,29 @@ Release tarballs are available at:
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'.
-
-
* ds/sparse-index (2021-03-30) 21 commits
- - 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: add index.sparse config option
- - 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-index: add 'sdir' index extension
- - 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
+ (merged to 'next' on 2021-04-07 at f1290a7929)
+ + 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: add index.sparse config option
+ + 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-index: add 'sdir' index extension
+ + 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
(this branch is used by ds/sparse-index-protections.)
Both in-core and on-disk index has been updated to optionally omit
@@ -363,39 +646,28 @@ Release tarballs are available at:
corresponds to the directory that contains them when the "cone"
mode of sparse checkout is in use.
+ On hold, waiting for the "protections" topic to stablize.
+
* en/ort-perf-batch-10 (2021-03-18) 8 commits
- - 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; uses en/ort-perf-batch-9.)
+ (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.
-
-* mt/add-rm-in-sparse-checkout (2021-03-18) 7 commits
- - rm: honor sparse checkout patterns
- - add: warn when asked to update SKIP_WORKTREE entries
- - refresh_index(): add REFRESH_DONT_MARK_SPARSE_MATCHES flag
- - pathspec: allow to ignore SKIP_WORKTREE entries on index matching
- - 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
-
- "git add" and "git rm" learned not to touch those paths that are
- outside of sparse checkout.
-
- Expecting a reroll.
- cf. <xmqqlfajnn6w.fsf@gitster.g>
+ Will merge to 'master'.
-* mt/parallel-checkout-part-2 (2021-03-23) 5 commits
+* mt/parallel-checkout-part-2 (2021-04-08) 5 commits
- parallel-checkout: add design documentation
- parallel-checkout: support progress displaying
- parallel-checkout: add configuration options
@@ -403,28 +675,6 @@ Release tarballs are available at:
- unpack-trees: add basic support for parallel checkout
-* ps/pack-bitmap-optim (2021-03-22) 1 commit
- (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.
-
- Will merge to 'master'.
-
-
-* 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/).
-
- On hold. Probably needs either a reroll or incremental refinements.
- cf. <20210327183554.GD2271@szeder.dev>
-
-
* ds/sparse-index-protections (2021-03-31) 25 commits
- name-hash: use expand_to_path()
- sparse-index: expand_to_path()
@@ -472,79 +722,12 @@ Release tarballs are available at:
- 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 and en/ort-perf-batch-9.)
+ (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.
-
-* 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
- - merge: use the "octopus" strategy without forking
- - merge: use the "resolve" strategy without forking
- - merge-octopus: rewrite in C
- - merge-recursive: move better_branch_name() to merge.c
- - merge-resolve: rewrite in C
- - merge-one-file: rewrite in C
- - update-index: move add_cacheinfo() to read-cache.c
- - merge-index: add a new way to invoke `git-merge-one-file'
- - merge-index: drop the index
- - merge-index: libify merge_one_path() and merge_all()
- - t6060: add tests for removed files
- - t6060: modify multiple files to expose a possible issue with merge-index
- - t6407: modernise tests
-
- The resolve and octopus merge strategy backends have been rewritten
- in C.
-
- Expecting a (hopefully final) reroll.
- cf. <nycvar.QRO.7.76.6.2103241142220.50@tvgsbejvaqbjf.bet>
-
-
-* ab/fsck-api-cleanup (2021-03-28) 19 commits
- (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 'master'.
-
-
-* en/ort-perf-batch-9 (2021-03-10) 8 commits
- (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 'master'.
+ Will merge to 'next'?
* hn/reftable (2021-03-12) 15 commits
@@ -566,163 +749,7 @@ Release tarballs are available at:
The "reftable" backend for the refs API.
-
-* ab/unexpected-object-type (2021-03-27) 10 commits
- - 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
-
- cf. <YGBL88lYheyFmwCg@coredump.intra.peff.net>
- ... we would be much better off to say something like "somebody
- expected X to be a commit, but now somebody else expects it to be a
- blob", which is all that we can reliably say.
-
-
-* ah/plugleaks (2021-03-21) 9 commits
- (merged to 'next' on 2021-03-30 at 78636ede89)
- + transport: also free remote_refs in transport_disconnect()
- + parse-options: don't leak alias help messages
- + parse-options: convert bitfield values to use binary shift
- + init-db: silence template_dir leak when converting to absolute path
- + init: remove git_init_db_config() while fixing leaks
- + worktree: fix leak in dwim_branch()
- + clone: free or UNLEAK further pointers when finished
- + reset: free instead of leaking unneeded ref
- + symbolic-ref: don't leak shortened refname in check_symref()
-
- Plug or annotate remaining leaks that trigger while running the
- very basic set of tests.
-
- Will merge to 'master'.
-
-
-* ab/describe-tests-fix (2021-03-01) 10 commits
- - test-lib: return 1 from test_expect_{success,failure}
- - svn tests: refactor away a "set -e" in test body
- - svn tests: remove legacy re-setup from init-clone test
- - describe tests: support -C in "check_describe"
- - describe tests: fix nested "test_expect_success" call
- - describe tests: convert setup to use test_commit
- - test-lib functions: add an --annotated-tag option to "test_commit"
- - describe tests: always assert empty stderr from "describe"
- - describe tests: refactor away from glob matching
- - describe tests: improve test for --work-tree & --dirty
-
- Various updates to tests around "git describe"
-
- Expecting a reroll.
- cf. <xmqq1rcj6hzr.fsf@gitster.g>
-
-
-* 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 'master'.
-
-
-* ab/pickaxe-pcre2 (2021-02-18) 24 commits
- - pickaxe -G: don't special-case create/delete
- - pickaxe -G: terminate early on matching lines
- - xdiff-interface: support early exit in xdiff_outf()
- - xdiff-interface: allow early return from xdiff_emit_{line,hunk}_fn
- - pickaxe -S: slightly optimize contains()
- - pickaxe: rename variables in has_changes() for brevity
- - pickaxe -S: support content with NULs under --pickaxe-regex
- - pickaxe: assert that we must have a needle under -G or -S
- - pickaxe: refactor function selection in diffcore-pickaxe()
- - perf: add performance test for pickaxe
- - pickaxe/style: consolidate declarations and assignments
- - diff.h: move pickaxe fields together again
- - pickaxe: die when --find-object and --pickaxe-all are combined
- - pickaxe: die when -G and --pickaxe-regex are combined
- - pickaxe tests: test for -G, -S and --find-object incompatibility
- - pickaxe tests: add test for "log -S" not being a regex
- - pickaxe tests: add test for diffgrep_consume() internals
- - pickaxe tests: refactor to use test_commit --append --printf
- - test-lib functions: add --printf option to test_commit
- - test-lib-functions: reword "test_commit --append" docs
- - test-lib-functions: document and test test_commit --no-tag
- - grep/pcre2 tests: reword comments referring to kwset
- - Merge branch 'jk/rev-list-disk-usage' into ab/pickaxe-pcre2
- - Merge branch 'ab/test-lib' into ab/pickaxe-pcre2
-
- Rewrite the backend for "diff -G/-S" to use pcre2 engine when
- available.
-
- Needs (hopefully the final round of) review.
-
-
-* 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
-
- The "hooks defined in config" topic.
-
- Looking good.
+ What's the status of this topic?
--------------------------------------------------
[Discarded]