]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2021/09 #05)
authorJunio C Hamano <gitster@pobox.com>
Fri, 17 Sep 2021 20:24:39 +0000 (13:24 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 17 Sep 2021 20:24:39 +0000 (13:24 -0700)
whats-cooking.txt

index 3eb272f65777002d1a06bf4abf46f7615a319659..a5a37d496d1f99e12c9d891ca87819e2d2b35acd 100644 (file)
@@ -1,10 +1,10 @@
 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
@@ -18,6 +18,10 @@ useful").  Do not read too much into a topic being in (or not in)
 '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.
@@ -46,21 +50,292 @@ Release tarballs are available at:
 
        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
@@ -73,6 +348,8 @@ Release tarballs are available at:
  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
@@ -85,68 +362,77 @@ Release tarballs are available at:
  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
@@ -166,79 +452,93 @@ Release tarballs are available at:
  - 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
@@ -257,151 +557,6 @@ Release tarballs are available at:
 
  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
@@ -418,8 +573,11 @@ Release tarballs are available at:
  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.)
@@ -428,22 +586,25 @@ Release tarballs are available at:
  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
@@ -486,12 +647,16 @@ Release tarballs are available at:
  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)
@@ -523,15 +688,10 @@ Release tarballs are available at:
 
 
 * 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'.
 
@@ -548,7 +708,7 @@ Release tarballs are available at:
  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
@@ -568,7 +728,9 @@ Release tarballs are available at:
  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
 
@@ -578,24 +740,6 @@ Release tarballs are available at:
  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
@@ -610,43 +754,6 @@ Release tarballs are available at:
  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
@@ -667,20 +774,8 @@ Release tarballs are available at:
  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.
@@ -688,17 +783,6 @@ Release tarballs are available at:
  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
 
@@ -706,18 +790,6 @@ Release tarballs are available at:
  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
@@ -738,16 +810,17 @@ Release tarballs are available at:
 
 
 * 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
@@ -763,8 +836,6 @@ Release tarballs are available at:
  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
@@ -778,6 +849,8 @@ Release tarballs are available at:
 
  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
@@ -1115,6 +1188,7 @@ Release tarballs are available at:
  + 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".
 
@@ -1170,6 +1244,8 @@ Release tarballs are available at:
  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
@@ -1189,6 +1265,8 @@ Release tarballs are available at:
 
  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
@@ -1200,62 +1278,74 @@ Release tarballs are available at:
  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.