To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Sep 2021, #04; Mon, 13)
-X-master-at: 8b7c11b8668b4e774f81a9f0b4c30144b818f1d1
-X-next-at: 22d4bfa14b6169731ecee0d0e0a4cb3b00676ae4
+Subject: What's cooking in git.git (Sep 2021, #05; Fri, 17)
+X-master-at: 4c719308ce59dc70e606f910f40801f2c6051b24
+X-next-at: 186eaaae567db501179c0af0bf89b34cbea02c26
-What's cooking in git.git (Sep 2021, #04; Mon, 13)
+What's cooking in git.git (Sep 2021, #05; Fri, 17)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
'seen'. The ones marked with '.' do not appear in any of the
integration branches, but I am still holding onto them.
+The sixth batch is out. I've marked quite many topics for 'next'
+but with a question mark in this issue of the report, to which help
+in triaging them would be greatly appreciated as ever.
+
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.
https://www.kernel.org/pub/software/scm/git/
+--------------------------------------------------
+[Graduated to 'master']
+
+* ab/no-more-check-bindir (2021-09-07) 1 commit
+ (merged to 'next' on 2021-09-08 at 4fddb3864f)
+ + Makefile: remove the check_bindir script
+
+ Build simplification.
+
+
+* ab/reverse-midx-optim (2021-09-07) 1 commit
+ (merged to 'next' on 2021-09-08 at 1972c5931b)
+ + pack-write: skip *.rev work when not writing *.rev
+
+ The code that optionally creates the *.rev reverse index file has
+ been optimized to avoid needless computation when it is not writing
+ the file out.
+
+
+* ab/send-email-config-fix (2021-09-07) 1 commit
+ (merged to 'next' on 2021-09-08 at c2000e9689)
+ + send-email: fix a "first config key wins" regression in v2.33.0
+
+ Regression fix.
+
+
+* bs/doc-bugreport-outdir (2021-09-07) 1 commit
+ (merged to 'next' on 2021-09-08 at 5ea3df204d)
+ + Documentation: fix default directory of git bugreport -o
+
+ Docfix.
+
+
+* bs/install-strip (2021-09-05) 1 commit
+ (merged to 'next' on 2021-09-08 at 40cfa71c8d)
+ + make: add INSTALL_STRIP option variable
+
+ "make INSTALL_STRIP=-s install" allows the installation step to use
+ "install -s" to strip the binaries as they get installed.
+
+
+* jc/prefix-filename-allocates (2021-09-07) 1 commit
+ (merged to 'next' on 2021-09-10 at a5221ea92e)
+ + hash-object: prefix_filename() returns allocated memory these days
+
+ Leakfix.
+
+
+* jc/trivial-threeway-binary-merge (2021-09-05) 1 commit
+ (merged to 'next' on 2021-09-08 at d6ba0735d8)
+ + apply: resolve trivial merge without hitting ll-merge with "--3way"
+
+ The "git apply -3" code path learned not to bother the lower level
+ merge machinery when the three-way merge can be trivially resolved
+ without the content level merge.
+
+
+* pb/test-use-user-env (2021-09-07) 3 commits
+ (merged to 'next' on 2021-09-08 at 6fa5d96723)
+ + test-lib-functions: keep user's debugger config files and TERM in 'debug'
+ + test-lib-functions: optionally keep HOME, TERM and SHELL in 'test_pause'
+ + test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause'
+
+ Teach "test_pause" and "debug" helpers to allow using the HOME and
+ TERM environment variables the user usually uses.
+
+
+* rs/range-diff-avoid-segfault-with-I (2021-09-07) 1 commit
+ (merged to 'next' on 2021-09-10 at e8bac5f9ea)
+ + range-diff: avoid segfault with -I
+
+ "git range-diff -I... <range> <range>" segfaulted, which has been
+ corrected.
+
+
+* so/diff-index-regression-fix (2021-09-07) 1 commit
+ (merged to 'next' on 2021-09-08 at ca17912ed3)
+ + diff-index: restore -c/--cc options handling
+
+ Recent "diff -m" changes broke "gitk", which has been corrected.
+
--------------------------------------------------
[New Topics]
+* jk/reduce-malloc-in-v2-servers (2021-09-15) 12 commits
+ (merged to 'next' on 2021-09-16 at 40cfe41efc)
+ + ls-refs: reject unknown arguments
+ + serve: reject commands used as capabilities
+ + serve: reject bogus v2 "command=ls-refs=foo"
+ + docs/protocol-v2: clarify some ls-refs ref-prefix details
+ + ls-refs: ignore very long ref-prefix counts
+ + serve: drop "keys" strvec
+ + serve: provide "receive" function for session-id capability
+ + serve: provide "receive" function for object-format capability
+ + serve: add "receive" method for v2 capabilities table
+ + serve: return capability "value" from get_capability()
+ + serve: rename is_command() to parse_command()
+ + Merge branch 'ab/serve-cleanup' into jk/reduce-malloc-in-v2-servers
+ (this branch uses ab/serve-cleanup.)
+
+ Code cleanup to limit memory consumption and tighten protocol
+ message parsing.
+
+ Will merge to 'master'.
+
+
+* jt/submodule-name-to-gitdir (2021-09-15) 1 commit
+ (merged to 'next' on 2021-09-16 at c658fbfdb8)
+ + submodule: extract path to submodule gitdir func
+
+ Code refactoring.
+
+ Will merge to 'master'.
+
+
+* ma/doc-git-version (2021-09-14) 1 commit
+ (merged to 'next' on 2021-09-16 at 54a6a3f8b5)
+ + documentation: add documentation for 'git version'
+
+ Doc update.
+
+ Will merge to 'master'.
+
+
+* ma/help-w-check-for-requested-page (2021-09-14) 1 commit
+ (merged to 'next' on 2021-09-16 at 292dd7174d)
+ + help: make sure local html page exists before calling external processes
+
+ The error in "git help no-such-git-command" is handled better.
+
+ Will merge to 'master'.
+
+
+* ns/batched-fsync (2021-09-14) 5 commits
+ - core.fsyncobjectfiles: performance tests for add and stash
+ - update-index: use the bulk-checkin infrastructure
+ - core.fsyncobjectfiles: add windows support for batch mode
+ - core.fsyncobjectfiles: batched disk flushes
+ - bulk-checkin: rename 'state' variable and separate 'plugged' boolean
+
+ The "core.fsyncobjectfiles" configuration variable can now be set
+ to "batch" for improved performance.
+
+ Will merge to 'next'?
+
+
+* cb/plug-leaks-in-alloca-emu-users (2021-09-16) 2 commits
+ (merged to 'next' on 2021-09-16 at 2eecae2de3)
+ + t0000: avoid masking git exit value through pipes
+ + tree-diff: fix leak when not HAVE_ALLOCA_H
+
+ Leakfix.
+
+ Will merge to 'master'.
+
+
+* jh/builtin-fsmonitor-part1 (2021-09-15) 7 commits
+ - t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command
+ - run-command: create start_bg_command
+ - simple-ipc/ipc-win32: add Windows ACL to named pipe
+ - simple-ipc/ipc-win32: add trace2 debugging
+ - simple-ipc: move definition of ipc_active_state outside of ifdef
+ - simple-ipc: preparations for supporting binary messages.
+ - trace2: fix memory leak of thread name
+
+ Built-in fsmonitor (part 1).
+
+
+* kz/revindex-comment-fix (2021-09-15) 1 commit
+ (merged to 'next' on 2021-09-16 at b4797add3a)
+ + pack-revindex.h: correct the time complexity descriptions
+
+ Header comment fix.
+
+ Will merge to 'master'.
+
+
+* cb/cvsserver (2021-09-16) 3 commits
+ - Documentation: cleanup git-cvsserver
+ - git-cvsserver: protect against NULL in crypt(3)
+ - git-cvsserver: use crypt correctly to compare password hashes
+
+ "git cvsserver" had a long-standing bug in its authentication code,
+ which has finally been corrected (it is unclear and is a separate
+ question if anybody is seriously using it, though).
+
+ Will merge to 'next'.
+
+
+* cb/unicode-14 (2021-09-17) 1 commit
+ - unicode: update the width tables to Unicode 14
+
+ The unicode character width table (used for output alignment) has
+ been updated.
+
+ Will merge to 'next'.
+
+--------------------------------------------------
+[Stalled]
+
+* ab/pack-objects-stdin (2021-07-09) 5 commits
+ - pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS
+ - pack-objects.c: do stdin parsing via revision.c's API
+ - revision.[ch]: add a "handle_stdin_line" API
+ - revision.h: refactor "disable_stdin" and "read_from_stdin"
+ - upload-pack: run is_repository_shallow() before setup_revisions()
+
+ Introduce handle_stdin_line callback to revision API and uses it.
+
+ Waiting for reviews.
+
+
+* es/config-based-hooks (2021-09-09) 6 commits
+ - hook: allow out-of-repo 'git hook' invocations
+ - hook: include hooks from the config
+ - hook: introduce "git hook list"
+ - hook: allow parallel hook execution
+ - fixup! hook: run a list of hooks instead
+ - hook: run a list of hooks instead
+ (this branch uses ab/config-based-hooks-base.)
+
+ Revamp the hooks subsystem to allow multiple of them to trigger
+ upon the same event and control via the configuration variables.
+
+ On hold.
+ This is an interim one that goes with the updated ab/config-based-hooks-base.
+
+
+* es/superproject-aware-submodules (2021-08-19) 5 commits
+ - fixup! introduce submodule.superprojectGitDir record
+ - submodule: record superproject gitdir during 'update'
+ - submodule: record superproject gitdir during absorbgitdirs
+ - introduce submodule.superprojectGitDir record
+ - t7400-submodule-basic: modernize inspect() helper
+
+ A configuration variable in a submodule points at the location of
+ the superproject it is bound to (RFC).
+
+ Looking good.
+
+
+* ab/fsck-unexpected-type (2021-09-07) 22 commits
+ - fsck: report invalid object type-path combinations
+ - fsck: report invalid types recorded in objects
+ - object-store.h: move read_loose_object() below 'struct object_info'
+ - fsck: don't hard die on invalid object types
+ - object-file.c: use "enum" return type for unpack_loose_header()
+ - object-file.c: return -2 on "header too long" in unpack_loose_header()
+ - object-file.c: return -1, not "status" from unpack_loose_header()
+ - object-file.c: guard against future bugs in loose_object_info()
+ - object-file.c: stop dying in parse_loose_header()
+ - object-file.c: split up ternary in parse_loose_header()
+ - object-file.c: simplify unpack_loose_short_header()
+ - object-file.c: add missing braces to loose_object_info()
+ - object-file.c: make parse_loose_header_extended() public
+ - object-file.c: don't set "typep" when returning non-zero
+ - cache.h: move object functions to object-store.h
+ - cat-file tests: test for current --allow-unknown-type behavior
+ - cat-file tests: add corrupt loose object test
+ - rev-list tests: test for behavior with invalid object types
+ - cat-file tests: test that --allow-unknown-type isn't on by default
+ - cat-file tests: test for missing object with -t and -s
+ - fsck tests: add test for fsck-ing an unknown type
+ - fsck tests: refactor one test to use a sub-repo
+
+ "git fsck" has been taught to report mismatch between expected and
+ actual types of an object better.
+
+ Needs review.
+
+--------------------------------------------------
+[Cooking]
+
* jk/http-server-protocol-versions (2021-09-10) 5 commits
- - docs/protocol-v2: point readers transport config discussion
- - docs/git: discuss server-side config for GIT_PROTOCOL
- - docs/http-backend: mention v2 protocol
- - http-backend: handle HTTP_GIT_PROTOCOL CGI variable
- - t5551: test v2-to-v0 http protocol fallback
+ (merged to 'next' on 2021-09-13 at 9174cd6d37)
+ + docs/protocol-v2: point readers transport config discussion
+ + docs/git: discuss server-side config for GIT_PROTOCOL
+ + docs/http-backend: mention v2 protocol
+ + http-backend: handle HTTP_GIT_PROTOCOL CGI variable
+ + t5551: test v2-to-v0 http protocol fallback
Taking advantage of the CGI interface, http-backend has been
updated to enable protocol v2 automatically when the other side
asks for it.
- Will merge to 'next'.
+ Will merge to 'master'.
* ab/align-parse-options-help (2021-09-12) 4 commits
the cmd subcommand may take sub-sub-command), parse-options API
learned to align these lines, even across i18n/l10n.
+ Will merge to 'next'?
+
* ab/help-config-vars (2021-09-10) 6 commits
- fixup! help / completion: make "git help" do the hard work
Teach "git help -c" into helping the command line completion of
configuration variables.
+ Will merge to 'next'?
+
* en/am-abort-fix (2021-09-10) 3 commits
- - am: fix incorrect exit status on am fail to abort
- - t4151: add a few am --abort tests
- - git-am.txt: clarify --abort behavior
+ (merged to 'next' on 2021-09-13 at 11f3d2dc90)
+ + am: fix incorrect exit status on am fail to abort
+ + t4151: add a few am --abort tests
+ + git-am.txt: clarify --abort behavior
When "git am --abort" fails to abort correctly, it still exited
with exit status of 0, which has been corrected.
- Will merge to 'next'.
+ Will merge to 'master'.
-* tb/repack-write-midx (2021-09-10) 8 commits
+* tb/repack-write-midx (2021-09-16) 8 commits
- builtin/repack.c: pass `--refs-snapshot` when writing bitmaps
- builtin/repack.c: make largest pack preferred
- builtin/repack.c: support writing a MIDX while repacking
- builtin/repack.c: extract showing progress to a variable
- builtin/repack.c: keep track of existing packs unconditionally
- midx: preliminary support for `--refs-snapshot`
- - builtin/multi-pack-index.c: support --stdin-packs mode
- - midx: expose 'write_midx_file_only()' publicly
+ - builtin/multi-pack-index.c: support `--stdin-packs` mode
+ - midx: expose `write_midx_file_only()` publicly
(this branch uses tb/multi-pack-bitmaps.)
"git repack" has been taught to generate multi-pack reachability
bitmaps.
+ Will merge to 'next'?
+
* ab/gc-remove-unused-call (2021-09-12) 1 commit
- - gc: remove unused launchctl_get_uid() call
+ (merged to 'next' on 2021-09-13 at 14f69ed198)
+ + gc: remove unused launchctl_get_uid() call
Code clean-up.
- Will merge to 'next'.
+ Will merge to 'master'.
* ab/test-tool-run-command-cleanup (2021-09-12) 1 commit
- - test-tool run-command: fix flip-flop init pattern
+ (merged to 'next' on 2021-09-13 at 086310d0f4)
+ + test-tool run-command: fix flip-flop init pattern
Code clean-up.
- Will merge to 'next'.
+ Will merge to 'master'.
* ab/unused-script-helpers (2021-09-12) 4 commits
- - test-lib: remove unused $_x40 and $_z40 variables
- - git-bisect: remove unused SHA-1 $x40 shell variable
- - git-sh-setup: remove unused "pull with rebase" message
- - git-submodule: remove unused is_zero_oid() function
+ (merged to 'next' on 2021-09-15 at 14e6b0f26e)
+ + test-lib: remove unused $_x40 and $_z40 variables
+ + git-bisect: remove unused SHA-1 $x40 shell variable
+ + git-sh-setup: remove unused "pull with rebase" message
+ + git-submodule: remove unused is_zero_oid() function
Code clean-up.
- Will merge to 'next'.
+ Will merge to 'master'.
-* cb/unix-sockets-with-windows (2021-09-12) 3 commits
- - git-compat-util: include declaration for unix sockets
- - credential-cache: check for windows specific errors
- - t0301: fixes for windows compatibility
+* cb/unix-sockets-with-windows (2021-09-14) 3 commits
+ (merged to 'next' on 2021-09-16 at e2921332ef)
+ + git-compat-util: include declaration for unix sockets in windows
+ + credential-cache: check for windows specific errors
+ + t0301: fixes for windows compatibility
Adjust credential-cache helper to Windows.
- Expecting a reroll.
+ Will merge to 'master'.
* ds/add-rm-with-sparse-index (2021-09-12) 14 commits
- t3705: test that 'sparse_entry' is unstaged
(this branch uses ds/mergies-with-sparse-index and ds/sparse-index-ignored-files.)
- "git add", "git mv", and "git rm" have been adjusted to work better
- with the sparse index.
+ "git add", "git mv", and "git rm" have been adjusted to avoid
+ updating paths outside of the sparse-checkout definition unless
+ the user specifies a "--sparse" option.
+
+ Will merge to 'next'?
* en/tests-cleanup-leftover-untracked (2021-09-12) 1 commit
- - tests: remove leftover untracked files
+ (merged to 'next' on 2021-09-13 at cf38118205)
+ + tests: remove leftover untracked files
Test clean-up.
- Will merge to 'next'.
+ Will merge to 'master'.
* jk/strvec-typefix (2021-09-12) 1 commit
- - strvec: use size_t to store nr and alloc
+ (merged to 'next' on 2021-09-13 at e07858581d)
+ + strvec: use size_t to store nr and alloc
Correct nr and alloc members of strvec struct to be of type size_t.
- Will merge to 'next'.
+ Will merge to 'master'.
* rs/drop-core-compression-vars (2021-09-12) 1 commit
- - compression: drop write-only core_compression_* variables
+ (merged to 'next' on 2021-09-13 at 3bd06626c3)
+ + compression: drop write-only core_compression_* variables
Code clean-up.
- Will merge to 'next'.
+ Will merge to 'master'.
* rs/packfile-bad-object-list-in-oidset (2021-09-12) 5 commits
- - packfile: use oidset for bad objects
- - packfile: convert has_packed_and_bad() to object_id
- - packfile: convert mark_bad_packed_object() to object_id
- - midx: inline nth_midxed_pack_entry()
- - oidset: make oidset_size() an inline function
+ (merged to 'next' on 2021-09-13 at 80e72f5f97)
+ + packfile: use oidset for bad objects
+ + packfile: convert has_packed_and_bad() to object_id
+ + packfile: convert mark_bad_packed_object() to object_id
+ + midx: inline nth_midxed_pack_entry()
+ + oidset: make oidset_size() an inline function
Replace a handcrafted data structure used to keep track of bad
objects in the packfile API by an oidset.
- Will merge to 'next'.
+ Will merge to 'master'.
-* tb/midx-write-propagate-namehash (2021-09-12) 4 commits
+* tb/midx-write-propagate-namehash (2021-09-14) 7 commits
- t5326: test propagating hashcache values
+ - p5326: generate pack bitmaps before writing the MIDX bitmap
+ - p5326: don't set core.multiPackIndex unnecessarily
+ - p5326: create missing 'perf-tag' tag
- midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
- pack-bitmap.c: propagate namehash values from existing bitmaps
- t/helper/test-bitmap.c: add 'dump-hashes' mode
(this branch uses tb/multi-pack-bitmaps.)
- "git multi-pack-bitmap write" learns to propagate the hashcache
- from original bitmap to resulting bitmap.
+ "git multi-pack-index write --bitmap" learns to propagate the
+ hashcache from original bitmap to resulting bitmap.
+
+ Will merge to 'next'?
* ab/retire-option-argument (2021-09-12) 4 commits
- - parse-options API: remove OPTION_ARGUMENT feature
- - difftool: use run_command() API in run_file_diff()
- - difftool: prepare "diff" cmdline in cmd_difftool()
- - difftool: prepare "struct child_process" in cmd_difftool()
+ (merged to 'next' on 2021-09-15 at 0bd7ce1161)
+ + parse-options API: remove OPTION_ARGUMENT feature
+ + difftool: use run_command() API in run_file_diff()
+ + difftool: prepare "diff" cmdline in cmd_difftool()
+ + difftool: prepare "struct child_process" in cmd_difftool()
An oddball OPTION_ARGUMENT feature has been removed from the
parse-options API.
- Will merge to 'next'.
+ Will merge to 'master'.
* po/git-config-doc-mentions-help-c (2021-09-13) 1 commit
- - doc: config, tell readers of `git help --config`
+ (merged to 'next' on 2021-09-13 at bddbd5c25d)
+ + doc: config, tell readers of `git help --config`
Doc update.
- Will merge to 'next'.
+ Will merge to 'master'.
-* pw/rebase-on-a-tag-fix (2021-09-13) 11 commits
+* pw/rebase-of-a-tag-fix (2021-09-13) 11 commits
- rebase: dereference tags
- rebase: use lookup_commit_reference_by_name()
- rebase: use our standard error return value
Expecting a reroll.
---------------------------------------------------
-[Stalled]
-
-* ab/pack-objects-stdin (2021-07-09) 5 commits
- - pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS
- - pack-objects.c: do stdin parsing via revision.c's API
- - revision.[ch]: add a "handle_stdin_line" API
- - revision.h: refactor "disable_stdin" and "read_from_stdin"
- - upload-pack: run is_repository_shallow() before setup_revisions()
-
- Introduce handle_stdin_line callback to revision API and uses it.
-
- Waiting for reviews.
-
-
-* es/config-based-hooks (2021-09-09) 6 commits
- - hook: allow out-of-repo 'git hook' invocations
- - hook: include hooks from the config
- - hook: introduce "git hook list"
- - hook: allow parallel hook execution
- - fixup! hook: run a list of hooks instead
- - hook: run a list of hooks instead
- (this branch uses ab/config-based-hooks-base.)
-
- Revamp the hooks subsystem to allow multiple of them to trigger
- upon the same event and control via the configuration variables.
-
- On hold.
- This is an interim one that goes with the updated ab/config-based-hooks-base.
-
-
-* jh/builtin-fsmonitor (2021-09-03) 37 commits
- - fixup! fsmonitor--daemon: implement handle_client callback
- - SQUASH??? https://github.com/git/git/runs/3438543601?check_suite_focus=true#step:5:136
- - BANDAID: sparse fixes
- - t7527: test FS event reporing on MacOS WRT case and Unicode
- - fsmonitor: handle shortname for .git
- - t7527: test status with untracked-cache and fsmonitor--daemon
- - fsmonitor: force update index after large responses
- - fsmonitor: enhance existing comments
- - fsmonitor--daemon: use a cookie file to sync with file system
- - fsmonitor--daemon: periodically truncate list of modified files
- - t7527: create test for fsmonitor--daemon
- - t/perf/p7519: add fsmonitor--daemon test cases
- - t/perf: avoid copying builtin fsmonitor files into test repo
- - t/perf/p7519: speed up test using "test-tool touch"
- - t/helper/test-touch: add helper to touch a series of 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: do not try to operate on bare repos
- - fsmonitor--daemon: implement 'start' command
- - fsmonitor--daemon: implement 'run' command
- - fsmonitor-fs-listen-macos: stub in backend for MacOS
- - fsmonitor-fs-listen-win32: stub in backend for Windows
- - t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon
- - fsmonitor--daemon: implement 'stop' and 'status' commands
- - fsmonitor--daemon: add a built-in fsmonitor daemon
- - fsmonitor: use IPC to query the builtin FSMonitor daemon
- - fsmonitor: config settings are repository-specific
- - help: include fsmonitor--daemon feature flag in version info
- - fsmonitor-ipc: create client routines for git-fsmonitor--daemon
- - fsmonitor--daemon: update fsmonitor documentation
- - fsmonitor--daemon: man page
- - simple-ipc: preparations for supporting binary messages.
-
- An attempt to write and ship with a watchman equivalent tailored
- for our use.
-
- Expecting a reroll post 2.33 release.
-
-
-* es/superproject-aware-submodules (2021-08-19) 5 commits
- - fixup! introduce submodule.superprojectGitDir record
- - submodule: record superproject gitdir during 'update'
- - submodule: record superproject gitdir during absorbgitdirs
- - introduce submodule.superprojectGitDir record
- - t7400-submodule-basic: modernize inspect() helper
-
- A configuration variable in a submodule points at the location of
- the superproject it is bound to (RFC).
-
- Looking good.
-
-
-* ao/p4-avoid-decoding (2021-04-12) 2 commits
- - git-p4: do not decode data from perforce by default
- - git-p4: avoid decoding more data from perforce
-
- "git p4" in Python-2 days used to accept a lot more kinds of data
- from Perforce server as uninterrupted byte sequence, but after
- switching to Python-3, too many things are expected to be in UTF-8,
- which broke traditional use cases.
-
- Will discard.
- Have been stalled for too long.
- cf. <20210504220153.1d9f0cb2@ado-tr>
-
-
-* tv/p4-fallback-encoding (2021-04-30) 1 commit
- - git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset
-
- "git p4" learns the fallbackEncoding configuration variable to
- safely accept changeset descriptions that aren't written in UTF-8.
-
- Will discard.
- Have been stalled for too long.
- cf. <CAKu1iLUaLuAZWqjNK4tfhhR=YaSt4MdQ+90ZY-JcEh_SeHyYCw@mail.gmail.com>
-
-
-* ab/fsck-unexpected-type (2021-09-07) 22 commits
- - fsck: report invalid object type-path combinations
- - fsck: report invalid types recorded in objects
- - object-store.h: move read_loose_object() below 'struct object_info'
- - fsck: don't hard die on invalid object types
- - object-file.c: use "enum" return type for unpack_loose_header()
- - object-file.c: return -2 on "header too long" in unpack_loose_header()
- - object-file.c: return -1, not "status" from unpack_loose_header()
- - object-file.c: guard against future bugs in loose_object_info()
- - object-file.c: stop dying in parse_loose_header()
- - object-file.c: split up ternary in parse_loose_header()
- - object-file.c: simplify unpack_loose_short_header()
- - object-file.c: add missing braces to loose_object_info()
- - object-file.c: make parse_loose_header_extended() public
- - object-file.c: don't set "typep" when returning non-zero
- - cache.h: move object functions to object-store.h
- - cat-file tests: test for current --allow-unknown-type behavior
- - cat-file tests: add corrupt loose object test
- - rev-list tests: test for behavior with invalid object types
- - cat-file tests: test that --allow-unknown-type isn't on by default
- - cat-file tests: test for missing object with -t and -s
- - fsck tests: add test for fsck-ing an unknown type
- - fsck tests: refactor one test to use a sub-repo
-
- "git fsck" has been taught to report mismatch between expected and
- actual types of an object better.
-
- Needs review.
-
---------------------------------------------------
-[Cooking]
* en/zdiff3 (2021-09-12) 2 commits
- update documentation for new zdiff3 conflictStyle
Fix "git stash" corner case where the tentative change involves
changing a directory to a file (or vice versa).
+ Will merge to 'next'.
+
* js/pull-release-packs-before-fetching (2021-09-08) 2 commits
+ (merged to 'next' on 2021-09-12 at 05cdcab392)
+ pull: release packs before fetching
+ commit-graph: when closing the graph, also release the slab
(this branch is used by js/run-command-close-packs.)
packfiles before spawning "git fetch" to help auto-gc that may be
invoked by it.
+ Will merge to 'master'.
+
* ab/http-drop-old-curl-plus (2021-09-13) 9 commits
- - http: don't hardcode the value of CURL_SOCKOPT_OK
- - http: centralize the accounting of libcurl dependencies
- - http: correct curl version check for CURLOPT_PINNEDPUBLICKEY
- - http: correct version check for CURL_HTTP_VERSION_2
- - http: drop support for curl < 7.18.0 (again)
- - Makefile: drop support for curl < 7.9.8 (again)
- - INSTALL: mention that we need libcurl 7.19.4 or newer to build
- - INSTALL: reword and copy-edit the "libcurl" section
- - INSTALL: don't mention the "curl" executable at all
+ (merged to 'next' on 2021-09-15 at 16aaab36f1)
+ + http: don't hardcode the value of CURL_SOCKOPT_OK
+ + http: centralize the accounting of libcurl dependencies
+ + http: correct curl version check for CURLOPT_PINNEDPUBLICKEY
+ + http: correct version check for CURL_HTTP_VERSION_2
+ + http: drop support for curl < 7.18.0 (again)
+ + Makefile: drop support for curl < 7.9.8 (again)
+ + INSTALL: mention that we need libcurl 7.19.4 or newer to build
+ + INSTALL: reword and copy-edit the "libcurl" section
+ + INSTALL: don't mention the "curl" executable at all
Conditional compilation around versions of libcURL has been
straightened out.
- Will merge to 'next'.
+ Will merge to 'master'.
* ds/mergies-with-sparse-index (2021-09-09) 6 commits
More code paths that uses the hack to add submodule's object
database to the set of alternate object store have been cleaned up.
+ Will merge to 'next'.
+
* jx/ci-l10n (2021-09-09) 1 commit
- ci: new github-action for git-l10n code review
CI help for l10n.
+ Will merge to 'next'.
+
* jk/t5562-racefix (2021-09-09) 1 commit
(merged to 'next' on 2021-09-12 at 22d4bfa14b)
* rs/use-xopen-in-index-pack (2021-09-10) 1 commit
- - index-pack: use xopen in init_thread
-
-
-* bs/install-strip (2021-09-05) 1 commit
- (merged to 'next' on 2021-09-08 at 40cfa71c8d)
- + make: add INSTALL_STRIP option variable
+ (merged to 'next' on 2021-09-16 at 186eaaae56)
+ + index-pack: use xopen in init_thread
- "make INSTALL_STRIP=-s install" allows the installation step to use
- "install -s" to strip the binaries as they get installed.
+ Code clean-up.
Will merge to 'master'.
Will merge to 'master'.
-* js/scalar (2021-09-08) 15 commits
+* js/scalar (2021-09-14) 15 commits
- scalar: accept -C and -c options before the subcommand
- scalar: implement the `version` command
- scalar: implement the `delete` command
Add pieces from "scalar" to contrib/.
-* ps/update-ref-batch-flush (2021-09-03) 1 commit
+* ps/update-ref-batch-flush (2021-09-15) 2 commits
+ (merged to 'next' on 2021-09-15 at 39a69141e3)
+ + t1400: avoid SIGPIPE race condition on fifo
(merged to 'next' on 2021-09-10 at 4ae19a5f34)
+ update-ref: fix streaming of status updates
Will merge to 'master'.
-* ab/no-more-check-bindir (2021-09-07) 1 commit
- (merged to 'next' on 2021-09-08 at 4fddb3864f)
- + Makefile: remove the check_bindir script
-
- Build simplification.
-
- Will merge to 'master'.
-
-
-* ab/send-email-config-fix (2021-09-07) 1 commit
- (merged to 'next' on 2021-09-08 at c2000e9689)
- + send-email: fix a "first config key wins" regression in v2.33.0
-
- Regression fix.
-
- Will merge to 'master'.
-
-
* ab/tr2-leaks-and-fixes (2021-09-07) 6 commits
(merged to 'next' on 2021-09-10 at 14f0dd5580)
+ tr2: log N parent process names on Linux
Will merge to 'master'.
-* bs/doc-bugreport-outdir (2021-09-07) 1 commit
- (merged to 'next' on 2021-09-08 at 5ea3df204d)
- + Documentation: fix default directory of git bugreport -o
-
- Docfix.
-
- Will merge to 'master'.
-
-
-* jc/prefix-filename-allocates (2021-09-07) 1 commit
- (merged to 'next' on 2021-09-10 at a5221ea92e)
- + hash-object: prefix_filename() returns allocated memory these days
-
- Leakfix.
-
- Will merge to 'master'.
-
-
-* rs/range-diff-avoid-segfault-with-I (2021-09-07) 1 commit
- (merged to 'next' on 2021-09-10 at e8bac5f9ea)
- + range-diff: avoid segfault with -I
-
- "git range-diff -I... <range> <range>" segfaulted, which has been
- corrected.
-
- Will merge to 'master'.
-
-
-* so/diff-index-regression-fix (2021-09-07) 1 commit
- (merged to 'next' on 2021-09-08 at ca17912ed3)
- + diff-index: restore -c/--cc options handling
-
- Recent "diff -m" changes broke "gitk", which has been corrected.
-
- Will merge to 'master'.
-
-
* tb/pack-finalize-ordering (2021-09-09) 9 commits
(merged to 'next' on 2021-09-10 at 7b39c39e31)
+ pack-objects: rename .idx files into place after .bitmap files
Will merge to 'master'.
-* ab/reverse-midx-optim (2021-09-07) 1 commit
- (merged to 'next' on 2021-09-08 at 1972c5931b)
- + pack-write: skip *.rev work when not writing *.rev
-
- The code that optionally creates the *.rev reverse index file has
- been optimized to avoid needless computation when it is not writing
- the file out.
-
- Will merge to 'master'.
-
-
-* ab/sanitize-leak-ci (2021-09-07) 3 commits
+* ab/sanitize-leak-ci (2021-09-16) 2 commits
- tests: add a test mode for SANITIZE=leak, run it in CI
- - CI: refactor "if" to "case" statement
- Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS
CI learns to run the leak sanitizer builds.
Will merge to 'next'?
-* jc/trivial-threeway-binary-merge (2021-09-05) 1 commit
- (merged to 'next' on 2021-09-08 at d6ba0735d8)
- + apply: resolve trivial merge without hitting ll-merge with "--3way"
-
- The "git apply -3" code path learned not to bother the lower level
- merge machinery when the three-way merge can be trivially resolved
- without the content level merge.
-
- Will merge to 'master'.
-
-
* ms/customizable-ident-expansion (2021-09-01) 1 commit
- keyword expansion: make "$Id$" string configurable
used as an in-blob placeholder for keyword expansion.
-* pb/test-use-user-env (2021-09-07) 3 commits
- (merged to 'next' on 2021-09-08 at 6fa5d96723)
- + test-lib-functions: keep user's debugger config files and TERM in 'debug'
- + test-lib-functions: optionally keep HOME, TERM and SHELL in 'test_pause'
- + test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause'
-
- Teach "test_pause" and "debug" helpers to allow using the HOME and
- TERM environment variables the user usually uses.
-
- Will merge to 'master'.
-
-
* js/retire-preserve-merges (2021-09-07) 11 commits
(merged to 'next' on 2021-09-10 at f645ffd7a3)
+ sequencer: restrict scope of a formerly public function
* mr/bisect-in-c-4 (2021-09-13) 6 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
- - t6030-bisect-porcelain: add test for bisect visualize
- - t6030-bisect-porcelain: add tests to control bisect run exit cases
+ (merged to 'next' on 2021-09-15 at 2af7f048d4)
+ + 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
+ + t6030-bisect-porcelain: add test for bisect visualize
+ + t6030-bisect-porcelain: add tests to control bisect run exit cases
Rewrite of "git bisect" in C continues.
- Will merge to 'next'.
+ Will merge to 'master'.
* en/remerge-diff (2021-08-31) 7 commits
used to show the difference between mechanical (and possibly
conflicted) merge results and the recorded resolution.
- What's the status of this one?
-
* sg/test-split-index-fix (2021-09-07) 7 commits
- read-cache: fix GIT_TEST_SPLIT_INDEX
Test updates.
+ Will merge to 'next'?
+
* ab/refs-errno-cleanup (2021-08-25) 4 commits
- refs: make errno output explicit for refs_resolve_ref_unsafe
+ transport: use designated initializers
+ transport: rename "fetch" in transport_vtable to "fetch_refs"
+ serve: mark has_capability() as static
+ (this branch is used by jk/reduce-malloc-in-v2-servers.)
Code clean-up around "git serve".
The "reftable" backend for the refs API, without integrating into
the refs subsystem.
+ Will merge to 'next'?
+
* ab/refs-files-cleanup (2021-08-25) 13 commits
- refs/files: remove unused "errno != ENOTDIR" condition
Continued work on top of the hn/refs-errno-cleanup topic.
+ Will merge to 'next'?
+
* hn/refs-errno-cleanup (2021-08-25) 4 commits
- refs: make errno output explicit for read_raw_ref_fn
Futz with the way 'errno' is relied on in the refs API to carry the
failure modes up the callchain.
+ Will merge to 'next'?
+
--------------------------------------------------
[Discarded]
-* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit
- . blame: add config `blame.ignoreRevsFileIsOptional`
-
- When the file named by blame.ignoreRevsFile configuration variable
- does not exist, it causes "git blame" to die. Sometimes, it is
- useful if the files named by configuration variables can be made
- optional (it would allow ~/.gitconfig to give a filename, and make
- it effective only in repositories that have a file with that name).
-
- This uses an extra variable that marks that the variable is
- optional. Yet another alternative is being discussed to define
- syntax for "optional" filename values, so that the same mechanism
- can be used for not just blame.ignoreRevsFile but other filenames.
-
- Queued just as a reminder of the theme.
-
-
-* ab/test-tool-cache-cleanup (2021-08-24) 4 commits
- . read-cache perf: add a perf test for refresh_index()
- . test-tool: migrate read-cache-again to parse_options()
- . test-tool: migrate read-cache-perf to parse_options()
- . test-tool: split up test-tool read-cache
-
- Test code shuffling.
-
- Discarded.
- cf. <87tuj7xhqo.fsf@evledraar.gmail.com>
-
- * ow/clone-bare-origin (2021-08-03) 1 commit
- . clone: Allow combining --bare and --origin
+* ao/p4-avoid-decoding (2021-04-12) 2 commits
+ . git-p4: do not decode data from perforce by default
+ . git-p4: avoid decoding more data from perforce
- "git clone" did not like to take "--bare" and "--origin=X" at the
- same time; loosen the restriction.
+ "git p4" in Python-2 days used to accept a lot more kinds of data
+ from Perforce server as uninterrupted byte sequence, but after
+ switching to Python-3, too many things are expected to be in UTF-8,
+ which broke traditional use cases.
- cf. <20210802174944.53745-1-oystwa@gmail.com>
+ Have been stalled for too long.
+ cf. <20210504220153.1d9f0cb2@ado-tr>
-* jk/http-backend-handle-proto-header (2021-09-09) 1 commit
- . http-backend: handle HTTP_GIT_PROTOCOL CGI variable
+* tv/p4-fallback-encoding (2021-04-30) 1 commit
+ . git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset
- Taking advantage of the CGI interface, http-backend has been
- updated to enable protocol v2 automatically when the other side
- asks for it.
+ "git p4" learns the fallbackEncoding configuration variable to
+ safely accept changeset descriptions that aren't written in UTF-8.
- Discarded.
- The jk/http-server-protocol-versions topic supersedes this.
+ Have been stalled for too long.
+ cf. <CAKu1iLUaLuAZWqjNK4tfhhR=YaSt4MdQ+90ZY-JcEh_SeHyYCw@mail.gmail.com>
-* kr/doc-webserver-config-for-v2 (2021-09-07) 1 commit
- . Docs: web server must setenv GIT_PROTOCOL for v2
+* jh/builtin-fsmonitor (2021-09-03) 37 commits
+ . fixup! fsmonitor--daemon: implement handle_client callback
+ . SQUASH??? https://github.com/git/git/runs/3438543601?check_suite_focus=true#step:5:136
+ . BANDAID: sparse fixes
+ . t7527: test FS event reporing on MacOS WRT case and Unicode
+ . fsmonitor: handle shortname for .git
+ . t7527: test status with untracked-cache and fsmonitor--daemon
+ . fsmonitor: force update index after large responses
+ . fsmonitor: enhance existing comments
+ . fsmonitor--daemon: use a cookie file to sync with file system
+ . fsmonitor--daemon: periodically truncate list of modified files
+ . t7527: create test for fsmonitor--daemon
+ . t/perf/p7519: add fsmonitor--daemon test cases
+ . t/perf: avoid copying builtin fsmonitor files into test repo
+ . t/perf/p7519: speed up test using "test-tool touch"
+ . t/helper/test-touch: add helper to touch a series of 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: do not try to operate on bare repos
+ . fsmonitor--daemon: implement 'start' command
+ . fsmonitor--daemon: implement 'run' command
+ . fsmonitor-fs-listen-macos: stub in backend for MacOS
+ . fsmonitor-fs-listen-win32: stub in backend for Windows
+ . t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon
+ . fsmonitor--daemon: implement 'stop' and 'status' commands
+ . fsmonitor--daemon: add a built-in fsmonitor daemon
+ . fsmonitor: use IPC to query the builtin FSMonitor daemon
+ . fsmonitor: config settings are repository-specific
+ . help: include fsmonitor--daemon feature flag in version info
+ . fsmonitor-ipc: create client routines for git-fsmonitor--daemon
+ . fsmonitor--daemon: update fsmonitor documentation
+ . fsmonitor--daemon: man page
+ . simple-ipc: preparations for supporting binary messages.
- Hints to set GIT_PROTOCOL environment in various CGI environments
- are added to the documentation.
+ An attempt to write and ship with a watchman equivalent tailored
+ for our use.
- Discarded.
- The jk/http-server-protocol-versions topic supersedes this.
+ Will be rerolled in pieces.