{"thread":{"id":"56466","subject":"What's cooking in git.git (Sep 2021, #02; Wed, 8)","startedAt":"2021-09-08T15:39:02Z","lastAt":"2021-09-10T09:33:20Z","messageCount":25,"participants":["Junio C Hamano","Taylor Blau","Azeem Bande-Ali","Philippe Blain","Jeff King","Derrick Stolee","Ramsay Jones","Johannes Schindelin","Ævar Arnfjörð Bjarmason","Elijah Newren"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"435110","messageId":"xmqqsfyf5b74.fsf@gitster.g","threadId":"56466","inReplyTo":null,"subject":"What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-09-08T15:38:55Z","receivedAt":"2021-09-08T15:39:02Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Here are the topics that have been cooking in my tree.  Commits\nprefixed with '+' are in 'next' (being in 'next' is a sign that a\ntopic is stable enough to be used and are candidate to be in a\nfuture release).  Commits prefixed with '-' are only in 'seen',\nwhich means nothing more than that I have found them of interest for\nsome reason (like \"it may have hard-to-resolve conflicts with\nanother topic already in flight\" or \"this may turn out to be\nuseful\").  Do not read too much into a topic being in (or not in)\n'seen'.  The ones marked with '.' do not appear in any of the\nintegration branches, but I am still holding onto them.\n\nWe have too many topics in flight that haven't been adequately\nlooked at.  I may start discarding too ancient topics to nudge\nthe authors to resubmit updates to them.\n\nBut a good news (at least for me) is that I have a lot more topics\nthan in the previous issue of this report that are marked for\nmerging down ;-).\n\nCopies of the source code to Git live in many repositories, and the\nfollowing is a list of the ones I push into or their mirrors.  Some\nrepositories have only a subset of branches.\n\nWith maint, master, next, seen, todo:\n\n\tgit://git.kernel.org/pub/scm/git/git.git/\n\tgit://repo.or.cz/alt-git.git/\n\thttps://kernel.googlesource.com/pub/scm/git/git/\n\thttps://github.com/git/git/\n\thttps://gitlab.com/git-vcs/git/\n\nWith all the integration branches and topics broken out:\n\n\thttps://github.com/gitster/git/\n\nEven though the preformatted documentation in HTML and man format\nare not sources, they are published in these repositories for\nconvenience (replace \"htmldocs\" with \"manpages\" for the manual\npages):\n\n\tgit://git.kernel.org/pub/scm/git/git-htmldocs.git/\n\thttps://github.com/gitster/git-htmldocs.git/\n\nRelease tarballs are available at:\n\n\thttps://www.kernel.org/pub/software/scm/git/\n\n--------------------------------------------------\n[Graduated to 'master']\n\n* cb/ci-use-upload-artifacts-v1 (2021-08-15) 1 commit\n  (merged to 'next' on 2021-08-24 at afdbb7ee8d)\n + ci: use upload-artifacts v1 for dockerized jobs\n\n Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the\n new version has a blocker bug for that architecture.\n\n\n* fc/completion-updates (2021-08-18) 4 commits\n  (merged to 'next' on 2021-08-24 at 593cd75c64)\n + completion: bash: add correct suffix in variables\n + completion: bash: fix for multiple dash commands\n + completion: bash: fix for suboptions with value\n + completion: bash: fix prefix detection in branch.*\n\n Command line completion updates.\n\n\n* jk/commit-edit-fixup-fix (2021-08-15) 1 commit\n  (merged to 'next' on 2021-08-24 at 0c625438c3)\n + commit: restore --edit when combined with --fixup\n\n \"git commit --fixup\" now works with \"--edit\" again, after it was\n broken in v2.32.\n\n\n* ps/connectivity-optim (2021-08-09) 5 commits\n  (merged to 'next' on 2021-08-24 at 94a7a04ca4)\n + revision: avoid hitting packfiles when commits are in commit-graph\n + commit-graph: split out function to search commit position\n + revision: stop retrieving reference twice\n + connected: do not sort input revisions\n + revision: separate walk and unsorted flags\n\n The revision traversal API has been optimized by taking advantage\n of the commit-graph, when available, to determine if a commit is\n reachable from any of the existing refs.\n\n\n* pw/rebase-r-fixes (2021-08-23) 4 commits\n  (merged to 'next' on 2021-08-24 at 81c6aff70a)\n + rebase -r: fix merge -c with a merge strategy\n + rebase -r: don't write .git/MERGE_MSG when fast-forwarding\n + rebase -i: add another reword test\n + rebase -r: make 'merge -c' behave like reword\n\n Various bugs in \"git rebase -r\" have been fixed.\n\n\n* pw/rebase-skip-final-fix (2021-08-13) 3 commits\n  (merged to 'next' on 2021-08-24 at 73ec41e9dd)\n + rebase --continue: remove .git/MERGE_MSG\n + rebase --apply: restore some tests\n + t3403: fix commit authorship\n\n Checking out all the paths from HEAD during the last conflicted\n step in \"git rebase\" and continuing would cause the step to be\n skipped (which is expected), but leaves MERGE_MSG file behind in\n $GIT_DIR and confuses the next \"git commit\", which has been\n corrected.\n\n\n* sg/make-fix-ar-invocation (2021-08-19) 1 commit\n  (merged to 'next' on 2021-08-24 at 9a3df9ec56)\n + Makefile: remove archives before manipulating them with 'ar'\n\n Build fix.\n\n\n* ti/tcsh-completion-regression-fix (2021-08-18) 1 commit\n  (merged to 'next' on 2021-08-24 at 8fa66cf037)\n + completion: tcsh: Fix regression by drop of wrapper functions\n\n Update to the command line completion (in contrib/) for tcsh.\n\n--------------------------------------------------\n[New Topics]\n\n* bs/install-strip (2021-09-05) 1 commit\n - make: add INSTALL_STRIP option variable\n\n \"make INSTALL_STRIP=-s install\" allows the installation step to use\n \"install -s\" to strip the binaries as they get installed.\n\n Will merge to 'next'.\n\n\n* cb/pedantic-build-for-developers (2021-09-03) 3 commits\n - developer: enable pedantic by default\n - win32: allow building with pedantic mode enabled\n - gettext: remove optional non-standard parens in N_() definition\n\n Update the build procedure to use the \"-pedantic\" build when\n DEVELOPER makefile macro is in effect.\n\n Will merge to 'next'?\n\n\n* js/scalar (2021-09-03) 15 commits\n - scalar: accept -C and -c options before the subcommand\n - scalar: implement the `version` command\n - scalar: implement the `delete` command\n - scalar: teach 'reconfigure' to optionally handle all registered enlistments\n - scalar: allow reconfiguring an existing enlistment\n - scalar: implement the `run` command\n - scalar: teach 'clone' to support the --single-branch option\n - scalar: implement the `clone` subcommand\n - scalar: implement 'scalar list'\n - scalar: let 'unregister' handle a deleted enlistment directory gracefully\n - scalar: 'unregister' stops background maintenance\n - scalar: 'register' sets recommended config and starts maintenance\n - scalar: create test infrastructure\n - scalar: start documenting the command\n - scalar: create a rudimentary executable\n\n Add pieces from \"scalar\" to contrib/.\n\n\n* ps/update-ref-batch-flush (2021-09-03) 1 commit\n - update-ref: fix streaming of status updates\n\n \"git update-ref --stdin\" failed to flush its output as needed,\n which potentially led the conversation to a deadlock.\n\n Will merge to 'next'?\n\n\n* ab/no-more-check-bindir (2021-09-07) 1 commit\n - Makefile: remove the check_bindir script\n\n Build simplification.\n\n Will merge to 'next'.\n\n\n* ab/send-email-config-fix (2021-09-07) 1 commit\n - send-email: fix a \"first config key wins\" regression in v2.33.0\n\n Regression fix.\n\n Will merge to 'next' and then to 'master'.\n\n\n* ab/tr2-leaks-and-fixes (2021-09-07) 6 commits\n - tr2: log N parent process names on Linux\n - tr2: do compiler enum check in trace2_collect_process_info()\n - tr2: leave the parent list empty upon failure & don't leak memory\n - tr2: stop leaking \"thread_name\" memory\n - tr2: clarify TRACE2_PROCESS_INFO_EXIT comment under Linux\n - tr2: remove NEEDSWORK comment for \"non-procfs\" implementations\n\n The tracing of process ancestry information has been enhanced.\n\n Will merge to 'next'.\n\n\n* bs/doc-bugreport-outdir (2021-09-07) 1 commit\n - Documentation: fix default directory of git bugreport -o\n\n Docfix.\n\n Will merge to 'next'.\n\n\n* jc/prefix-filename-allocates (2021-09-07) 1 commit\n - hash-object: prefix_filename() returns allocated memory these days\n\n Leakfix.\n\n Will merge to 'next'?\n\n\n* kr/doc-webserver-config-for-v2 (2021-09-07) 1 commit\n - Docs: web server must setenv GIT_PROTOCOL for v2\n\n Hints to set GIT_PROTOCOL environment in various CGI environments\n are added to the documentation.\n\n Will merge to 'next'?\n\n\n* rs/range-diff-avoid-segfault-with-I (2021-09-07) 1 commit\n - range-diff: avoid segfault with -I\n\n \"git range-diff -I... <range> <range>\" segfaulted, which has been\n corrected.\n\n Will merge to 'next'?\n\n\n* so/diff-index-regression-fix (2021-09-07) 1 commit\n - diff-index: restore -c/--cc options handling\n\n Recent \"diff -m\" changes broke \"gitk\", which has been corrected.\n\n Will merge to 'next' and then to 'master'.\n\n\n* tb/pack-finalize-ordering (2021-09-07) 2 commits\n - builtin/repack.c: move `.idx` files into place last\n - pack-write.c: rename `.idx` file into place last\n\n The order in which various files that make up a single (conceptual)\n packfile has been reevaluated and straightened up.  This matters in\n correctness, as an incomplete set of files must not be shown to a\n running Git.\n\n Will merge to 'next'?\n\n\n* ab/reverse-midx-optim (2021-09-07) 1 commit\n - pack-write: skip *.rev work when not writing *.rev\n\n\n* ab/sanitize-leak-ci (2021-09-07) 3 commits\n - tests: add a test mode for SANITIZE=leak, run it in CI\n - CI: refactor \"if\" to \"case\" statement\n - Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS\n\n--------------------------------------------------\n[Stalled]\n\n* es/config-based-hooks (2021-08-19) 7 commits\n - hook: allow out-of-repo 'git hook' invocations\n - hook: include hooks from the config\n - hook: allow running non-native hooks\n - hook: introduce \"git hook list\"\n - hook: allow parallel hook execution\n - hook: run a list of hooks instead\n - Merge branch 'ab/config-based-hooks-base' into es/config-based-hooks\n (this branch uses ab/config-based-hooks-base.)\n\n Revamp the hooks subsystem to allow multiple of them to trigger\n upon the same event and control via the configuration variables.\n\n Expecting a reroll\n but ab/config-based-hooks-base needs to be in a better shape first.\n cf. <87v93wflm0.fsf@evledraar.gmail.com>\n cf. <87tuj7xhqo.fsf@evledraar.gmail.com>\n\n\n* jh/builtin-fsmonitor (2021-09-03) 37 commits\n - fixup! fsmonitor--daemon: implement handle_client callback\n - SQUASH??? https://github.com/git/git/runs/3438543601?check_suite_focus=true#step:5:136\n - BANDAID: sparse fixes\n - t7527: test FS event reporing on MacOS WRT case and Unicode\n - fsmonitor: handle shortname for .git\n - t7527: test status with untracked-cache and fsmonitor--daemon\n - fsmonitor: force update index after large responses\n - fsmonitor: enhance existing comments\n - fsmonitor--daemon: use a cookie file to sync with file system\n - fsmonitor--daemon: periodically truncate list of modified files\n - t7527: create test for fsmonitor--daemon\n - t/perf/p7519: add fsmonitor--daemon test cases\n - t/perf: avoid copying builtin fsmonitor files into test repo\n - t/perf/p7519: speed up test using \"test-tool touch\"\n - t/helper/test-touch: add helper to touch a series of files\n - fsmonitor--daemon: implement handle_client callback\n - fsmonitor-fs-listen-macos: implement FSEvent listener on MacOS\n - fsmonitor-fs-listen-macos: add macos header files for FSEvent\n - fsmonitor-fs-listen-win32: implement FSMonitor backend on Windows\n - fsmonitor--daemon: create token-based changed path cache\n - fsmonitor--daemon: define token-ids\n - fsmonitor--daemon: add pathname classification\n - fsmonitor: do not try to operate on bare repos\n - fsmonitor--daemon: implement 'start' command\n - fsmonitor--daemon: implement 'run' command\n - fsmonitor-fs-listen-macos: stub in backend for MacOS\n - fsmonitor-fs-listen-win32: stub in backend for Windows\n - t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon\n - fsmonitor--daemon: implement 'stop' and 'status' commands\n - fsmonitor--daemon: add a built-in fsmonitor daemon\n - fsmonitor: use IPC to query the builtin FSMonitor daemon\n - fsmonitor: config settings are repository-specific\n - help: include fsmonitor--daemon feature flag in version info\n - fsmonitor-ipc: create client routines for git-fsmonitor--daemon\n - fsmonitor--daemon: update fsmonitor documentation\n - fsmonitor--daemon: man page\n - simple-ipc: preparations for supporting binary messages.\n\n An attempt to write and ship with a watchman equivalent tailored\n for our use.\n\n Expecting a reroll post 2.33 release.\n\n\n* es/superproject-aware-submodules (2021-08-19) 5 commits\n - fixup! introduce submodule.superprojectGitDir record\n - submodule: record superproject gitdir during 'update'\n - submodule: record superproject gitdir during absorbgitdirs\n - introduce submodule.superprojectGitDir record\n - t7400-submodule-basic: modernize inspect() helper\n\n A configuration variable in a submodule points at the location of\n the superproject it is bound to (RFC).\n\n Looking good.\n\n\n* en/zdiff3 (2021-06-15) 2 commits\n - update documentation for new zdiff3 conflictStyle\n - xdiff: implement a zealous diff3, or \"zdiff3\"\n\n \"Zealous diff3\" style of merge conflict presentation has been added.\n\n Expecting a reroll.\n cf. <CABPp-BE7-E03+x38EK-=AE5mwwdST+d50hiiud2eY2Nsf3rM5g@mail.gmail.com>\n\n\n* ao/p4-avoid-decoding (2021-04-12) 2 commits\n - git-p4: do not decode data from perforce by default\n - git-p4: avoid decoding more data from perforce\n\n \"git p4\" in Python-2 days used to accept a lot more kinds of data\n from Perforce server as uninterrupted byte sequence, but after\n switching to Python-3, too many things are expected to be in UTF-8,\n which broke traditional use cases.\n\n Waiting for reviews.\n\n\n* tv/p4-fallback-encoding (2021-04-30) 1 commit\n - git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset\n\n \"git p4\" learns the fallbackEncoding configuration variable to\n safely accept changeset descriptions that aren't written in UTF-8.\n\n Waiting for reviews.\n\n\n* ab/fsck-unexpected-type (2021-09-07) 22 commits\n - fsck: report invalid object type-path combinations\n - fsck: report invalid types recorded in objects\n - object-store.h: move read_loose_object() below 'struct object_info'\n - fsck: don't hard die on invalid object types\n - object-file.c: use \"enum\" return type for unpack_loose_header()\n - object-file.c: return -2 on \"header too long\" in unpack_loose_header()\n - object-file.c: return -1, not \"status\" from unpack_loose_header()\n - object-file.c: guard against future bugs in loose_object_info()\n - object-file.c: stop dying in parse_loose_header()\n - object-file.c: split up ternary in parse_loose_header()\n - object-file.c: simplify unpack_loose_short_header()\n - object-file.c: add missing braces to loose_object_info()\n - object-file.c: make parse_loose_header_extended() public\n - object-file.c: don't set \"typep\" when returning non-zero\n - cache.h: move object functions to object-store.h\n - cat-file tests: test for current --allow-unknown-type behavior\n - cat-file tests: add corrupt loose object test\n - rev-list tests: test for behavior with invalid object types\n - cat-file tests: test that --allow-unknown-type isn't on by default\n - cat-file tests: test for missing object with -t and -s\n - fsck tests: add test for fsck-ing an unknown type\n - fsck tests: refactor one test to use a sub-repo\n\n \"git fsck\" has been taught to report mismatch between expected and\n actual types of an object better.\n\n Needs review.\n\n--------------------------------------------------\n[Cooking]\n\n* jc/trivial-threeway-binary-merge (2021-09-05) 1 commit\n - apply: resolve trivial merge without hitting ll-merge with \"--3way\"\n\n The \"git apply -3\" code path learned not to bother the lower level\n merge machinery when the three-way merge can be trivially resolved\n without the content level merge.\n\n Will merge to 'next'.\n\n\n* gh/gitweb-branch-sort (2021-06-10) 1 commit\n - gitweb: use HEAD as secondary sort key in git_get_heads_list()\n\n Tie-break branches that point at the same object in the list of\n branches on GitWeb to show the one pointed at by HEAD early.\n\n Will merge to 'next'.\n\n\n* ms/customizable-ident-expansion (2021-09-01) 1 commit\n - keyword expansion: make \"$Id$\" string configurable\n\n Instead of \"$Id$\", user-specified string (like $FreeBSD$) can be\n used as an in-blob placeholder for keyword expansion.\n\n\n* pb/test-use-user-env (2021-09-07) 3 commits\n - test-lib-functions: keep user's debugger config files and TERM in 'debug'\n - test-lib-functions: optionally keep HOME, TERM and SHELL in 'test_pause'\n - test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause'\n\n Teach test_pause and test_debug to allow using the HOME and TERM\n environment variables the user usually uses.\n\n Will merge to 'next'?\n\n\n* js/retire-preserve-merges (2021-09-07) 11 commits\n - sequencer: restrict scope of a formerly public function\n - rebase: remove a no-longer-used function\n - rebase: stop mentioning the -p option in comments\n - rebase: remove obsolete code comment\n - rebase: drop the internal `rebase--interactive` command\n - git-svn: drop support for `--preserve-merges`\n - rebase: drop support for `--preserve-merges`\n - pull: remove support for `--rebase=preserve`\n - tests: stop testing `git rebase --preserve-merges`\n - remote: warn about unhandled branch.<name>.rebase values\n - t5520: do not use `pull.rebase=preserve`\n\n The \"--preserve-merges\" option of \"git rebase\" has been removed.\n\n Will merge to 'next'?\n\n\n* cb/remote-ndebug-fix (2021-09-02) 1 commit\n  (merged to 'next' on 2021-09-03 at a47f44ca9d)\n + remote: avoid -Wunused-but-set-variable in gcc with -DNDEBUG\n\n Build fix.\n\n Will merge to 'master'.\n\n\n* mr/bisect-in-c-4 (2021-09-02) 6 commits\n - bisect--helper: retire `--bisect-next-check` subcommand\n - bisect--helper: reimplement `bisect_run` shell\n - bisect--helper: reimplement `bisect_visualize()`shell function in C\n - run-command: make `exists_in_PATH()` non-static\n - t6030-bisect-porcelain: add test for bisect visualize\n - t6030-bisect-porcelain: add tests to control bisect run exit cases\n\n Rewrite of \"git bisect\" in C continues.\n\n\n* tb/add-objects-in-unpacked-packs-simplify (2021-08-29) 3 commits\n  (merged to 'next' on 2021-09-01 at 66b0f8564d)\n + builtin/pack-objects.c: remove duplicate hash lookup\n + builtin/pack-objects.c: simplify add_objects_in_unpacked_packs()\n + object-store.h: teach for_each_packed_object to ignore kept packs\n\n Code simplification with reduced memory usage.\n\n Will merge to 'master'.\n\n\n* es/walken-tutorial-fix (2021-08-30) 1 commit\n  (merged to 'next' on 2021-09-01 at 73719bee8a)\n + doc: fix syntax error and the format of printf\n\n Typofix.\n\n Will merge to 'master'.\n\n\n* jh/sparse-index-resize-fix (2021-08-30) 1 commit\n  (merged to 'next' on 2021-09-01 at 5ee2615670)\n + sparse-index: copy dir_hash in ensure_full_index()\n\n The sparse-index support can corrupt the index structure by storing\n a stale and/or uninitialized data, which has been corrected.\n\n Will merge to 'master'.\n\n\n* mh/send-email-reset-in-reply-to (2021-08-30) 1 commit\n  (merged to 'next' on 2021-09-03 at 3a60892d9a)\n + send-email: avoid incorrect header propagation\n\n Even when running \"git send-email\" without its own threaded\n discussion support, a threading related header in one message is\n carried over to the subsequent message to result in an unwanted\n threading, which has been corrected.\n\n Will merge to 'master'.\n\n\n* rs/more-fspathcmp (2021-08-30) 1 commit\n  (merged to 'next' on 2021-09-01 at 3052b89438)\n + merge-recursive: use fspathcmp() in path_hashmap_cmp()\n\n Code simplification.\n\n Will merge to 'master'.\n\n\n* sg/set-ceiling-during-tests (2021-08-30) 1 commit\n  (merged to 'next' on 2021-09-01 at 5378ce3817)\n + test-lib: set GIT_CEILING_DIRECTORIES to protect the surrounding repository\n\n Buggy tests could damage repositories outside the throw-away test\n area we created.  We now by default export GIT_CEILING_DIRECTORIES\n to limit the damage from such a stray test.\n\n Will merge to 'master'.\n\n\n* ab/gc-log-rephrase (2021-09-02) 1 commit\n  (merged to 'next' on 2021-09-03 at 24c51e3df1)\n + gc: remove trailing dot from \"gc.log\" line\n\n A pathname in an advice message has been made cut-and-paste ready.\n\n Will merge to 'master'.\n\n\n* ab/mailmap-leakfix (2021-08-31) 1 commit\n  (merged to 'next' on 2021-09-03 at 348fe07b87)\n + mailmap.c: fix a memory leak in free_mailap_{info,entry}()\n\n Leakfix.\n\n Will merge to 'master'.\n\n\n* ba/object-info (2021-08-31) 1 commit\n  (merged to 'next' on 2021-09-03 at 6d47f59ab4)\n + protocol-caps.c: fix memory leak in send_info()\n\n Leakfix.\n\n Will merge to 'master'.\n\n\n* en/remerge-diff (2021-08-31) 7 commits\n - doc/diff-options: explain the new --remerge-diff option\n - show, log: provide a --remerge-diff capability\n - tmp-objdir: new API for creating and removing primary object dirs\n - merge-ort: capture and print ll-merge warnings in our preferred fashion\n - ll-merge: add API for capturing warnings in a strbuf instead of stderr\n - merge-ort: add ability to record conflict messages in a file\n - merge-ort: mark a few more conflict messages as omittable\n\n A new presentation for two-parent merge \"--remerge-diff\" can be\n used to show the difference between mechanical (and possibly\n conflicted) merge results and the recorded resolution.\n\n\n* sg/test-split-index-fix (2021-09-07) 7 commits\n - read-cache: fix GIT_TEST_SPLIT_INDEX\n - tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests\n - read-cache: look for shared index files next to the index, too\n - t1600-index: disable GIT_TEST_SPLIT_INDEX\n - t1600-index: don't run git commands upstream of a pipe\n - t1600-index: remove unnecessary redirection\n - Merge branch 'ds/sparse-index-ignored-files' into sg/test-split-index-fix\n (this branch uses ds/sparse-index-ignored-files.)\n\n Test updates.\n\n\n* tk/fast-export-anonymized-tag-fix (2021-08-31) 1 commit\n  (merged to 'next' on 2021-09-03 at 15ce1ab44f)\n + fast-export: fix anonymized tag using original length\n\n The output from \"git fast-export\", when its anonymization feature\n is in use, showed an annotated tag incorrectly.\n\n Will merge to 'master'.\n\n\n* uk/userdiff-php-enum (2021-08-31) 1 commit\n  (merged to 'next' on 2021-09-03 at 5c9eb654fe)\n + userdiff: support enum keyword in PHP hunk header\n\n Update the userdiff pattern for PHP.\n\n Will merge to 'master'.\n\n\n* ab/commit-graph-usage (2021-08-30) 7 commits\n  (merged to 'next' on 2021-09-03 at 2254ea1e58)\n + commit-graph: show \"unexpected subcommand\" error\n + commit-graph: show usage on \"commit-graph [write|verify] garbage\"\n + commit-graph: early exit to \"usage\" on !argc\n + multi-pack-index: refactor \"goto usage\" pattern\n + commit-graph: use parse_options_concat()\n + commit-graph: remove redundant handling of -h\n + commit-graph: define common usage with a macro\n\n Fixes on usage message from \"git commit-graph\".\n\n Will merge to 'master'.\n\n\n* ab/ls-remote-packet-trace (2021-08-24) 1 commit\n  (merged to 'next' on 2021-08-30 at fec2e5a7eb)\n + ls-remote: set packet_trace_identity(<name>)\n\n Debugging aid fix.\n\n Will merge to 'master'.\n\n\n* ab/rebase-fatal-fatal-fix (2021-08-24) 1 commit\n  (merged to 'next' on 2021-08-30 at 256e1cbc9e)\n + rebase: emit one \"fatal\" in \"fatal: fatal: <error>\"\n\n Error message fix.\n\n Will merge to 'master'.\n\n\n* ab/refs-errno-cleanup (2021-08-25) 4 commits\n - refs: make errno output explicit for refs_resolve_ref_unsafe\n - refs: explicitly return failure_errno from parse_loose_ref_contents\n - branch tests: test for errno propagating on failing read\n - refs: add failure_errno to refs_read_raw_ref() signature\n (this branch uses ab/refs-files-cleanup and hn/refs-errno-cleanup.)\n\n The \"remainder\" of hn/refs-errno-cleanup topic.\n\n\n* ab/retire-advice-config (2021-08-25) 4 commits\n  (merged to 'next' on 2021-09-03 at 0045df3dbb)\n + advice: move advice.graftFileDeprecated squashing to commit.[ch]\n + advice: remove use of global advice_add_embedded_repo\n + advice: remove read uses of most global `advice_` variables\n + advice: add enum variants for missing advice variables\n\n Code clean up to migrate callers from older advice_config[] based\n API to newer advice_if_enabled() and advice_enabled() API.\n\n Will merge to 'master'.\n\n\n* dd/diff-files-unmerged-fix (2021-08-25) 1 commit\n  (merged to 'next' on 2021-08-30 at 63a1bdddfc)\n + diff-lib: ignore paths that are outside $cwd if --relative asked\n\n \"git diff --relative\" segfaulted and/or produced incorrect result\n when there are unmerged paths.\n\n Will merge to 'master'.\n\n\n* dd/t6300-wo-gpg-fix (2021-08-25) 2 commits\n  (merged to 'next' on 2021-08-30 at 59f5669dd6)\n + t6300: check for cat-file exit status code\n + t6300: don't run cat-file on non-existent object\n\n Test fix.\n\n Will merge to 'master'.\n\n\n* ga/send-email-sendmail-cmd (2021-08-24) 1 commit\n  (merged to 'next' on 2021-08-30 at 1bb659c66c)\n + t9001: PATH must not use Windows-style paths\n\n Test fix.\n\n Will merge to 'master'.\n\n\n* jb/midx-revindex-fix (2021-08-23) 1 commit\n - multi-pack-index: fix *.rev cleanups with --object-dir\n\n An implementation in \"multi-pack-index write\" that takes object\n directory inconsistently used that and the object store of the\n default repository, causing segfaults and possibly corrupting\n repositories.\n\n On hold.\n cf. <xmqqo89jbf49.fsf@gitster.g>\n\n\n* jk/t5323-no-pack-test-fix (2021-08-25) 1 commit\n  (merged to 'next' on 2021-08-30 at 2892635eaf)\n + t5323: drop mentions of \"master\"\n\n Test fix.\n\n Will merge to 'master'.\n\n\n* js/maintenance-launchctl-fix (2021-08-24) 2 commits\n  (merged to 'next' on 2021-08-30 at 12a5da47e7)\n + maintenance: skip bootout/bootstrap when plist is registered\n + maintenance: create `launchctl` configuration using a lock file\n\n \"git maintenance\" scheduler fix for macOS.\n\n Will merge to 'master'.\n\n\n* jv/pkt-line-batch (2021-09-01) 2 commits\n - upload-pack: use stdio in send_ref callbacks\n - pkt-line: add stdio packet write functions\n\n Reduce number of write(2) system calls while sending the\n ref advertisement.\n\n Will merge to 'next'?\n\n\n* me/t5582-cleanup (2021-08-24) 1 commit\n  (merged to 'next' on 2021-08-30 at e92258e72c)\n + t5582: remove spurious 'cd \"$D\"' line\n\n Test fix.\n\n Will merge to 'master'.\n\n\n* mh/credential-leakfix (2021-08-25) 1 commit\n  (merged to 'next' on 2021-08-30 at be9e67bddc)\n + credential: fix leak in credential_apply_config()\n\n Leak fix.\n\n Will merge to 'master'.\n\n\n* mt/quiet-with-delayed-checkout (2021-08-26) 1 commit\n  (merged to 'next' on 2021-08-30 at d243498893)\n + checkout: make delayed checkout respect --quiet and --no-progress\n\n The delayed checkout code path in \"git checkout\" etc. were chatty\n even when --quiet and/or --no-progress options were given.\n\n Will merge to 'master'.\n\n\n* ps/fetch-omit-formatting-under-quiet (2021-08-30) 1 commit\n  (merged to 'next' on 2021-09-01 at 2440a8a2aa)\n + fetch: skip formatting updated refs with `--quiet`\n\n \"git fetch --quiet\" optimization to avoid useless computation of\n info that will never be displayed.\n\n Will merge to 'master'.\n\n\n* ps/ls-refs-strbuf-optim (2021-08-25) 1 commit\n  (merged to 'next' on 2021-08-30 at e4cbc7243a)\n + ls-refs: reuse buffer when sending refs\n\n Micro-optimization for the wire protocol driver.\n\n Will merge to 'master'.\n\n\n* rs/branch-allow-deleting-dangling (2021-08-27) 1 commit\n  (merged to 'next' on 2021-08-30 at 35b9d158e8)\n + branch: allow deleting dangling branches with --force\n\n \"git branch -D <branch>\" used to refuse to remove a broken branch\n ref that points at a missing commit, which has been corrected.\n\n Will merge to 'master'.\n\n\n* rs/git-mmap-uses-malloc (2021-08-24) 1 commit\n  (merged to 'next' on 2021-08-30 at 6339c8e657)\n + compat: let git_mmap use malloc(3) directly\n\n mmap() imitation used to call xmalloc() that dies upon malloc()\n failure, which has been corrected to just return an error to the\n caller to be handled.\n\n Will merge to 'master'.\n\n\n* rs/xopen-reports-open-failures (2021-08-25) 2 commits\n  (merged to 'next' on 2021-08-30 at a8588775c8)\n + use xopen() to handle fatal open(2) failures\n + xopen: explicitly report creation failures\n\n Error diagnostics improvement.\n\n Will merge to 'master'.\n\n\n* sg/column-nl (2021-08-26) 1 commit\n  (merged to 'next' on 2021-08-30 at a3cb0f4745)\n + column: fix parsing of the '--nl' option\n\n The parser for the \"--nl\" option of \"git column\" has been\n corrected.\n\n Will merge to 'master'.\n\n\n* ab/unbundle-progress (2021-09-07) 4 commits\n - bundle: show progress on \"unbundle\"\n - index-pack: add --progress-title option\n - bundle API: change \"flags\" to be \"extra_index_pack_args\"\n - bundle API: start writing API documentation\n\n Add progress display to \"git bundle unbundle\".\n\n Will merge to 'next'?\n\n\n* jk/log-warn-on-bogus-encoding (2021-08-27) 2 commits\n - docs: use \"character encoding\" to refer to commit-object encoding\n - logmsg_reencode(): warn when iconv() fails\n\n Doc update plus improved error reporting.\n\n Will merge to 'next'.\n\n\n* rs/archive-use-object-id (2021-08-27) 1 commit\n - archive: convert queue_directory to struct object_id\n\n Code cleanup.\n\n Will merge to 'next'.\n\n\n* rs/show-branch-simplify (2021-08-27) 1 commit\n - show-branch: simplify rev_is_head()\n\n Code cleanup.\n\n Will merge to 'next'.\n\n\n* lh/systemd-timers (2021-09-07) 3 commits\n - maintenance: add support for systemd timers on Linux\n - maintenance: `git maintenance run` learned `--scheduler=<scheduler>`\n - cache.h: Introduce a generic \"xdg_config_home_for(…)\" function\n\n \"git maintenance\" scheduler learned to use systemd timers as a\n possible backend.\n\n Will merge to 'next'.\n\n\n* ps/fetch-optim (2021-09-01) 7 commits\n - fetch: avoid second connectivity check if we already have all objects\n - fetch: merge fetching and consuming refs\n - fetch: refactor fetch refs to be more extendable\n - fetch-pack: optimize loading of refs via commit graph\n - connected: refactor iterator to return next object ID directly\n - fetch: avoid unpacking headers in object existence check\n - fetch: speed up lookup of want refs via commit-graph\n\n Optimize code that handles large number of refs in the \"git fetch\"\n code path.\n\n Will merge to 'next'.\n\n\n* ar/submodule-run-update-procedure (2021-08-24) 1 commit\n - submodule--helper: run update procedures from C\n\n Reimplementation of parts of \"git submodule\" in C continues.\n\n Will merge to 'next'.\n\n\n* ab/help-autocorrect-prompt (2021-08-14) 1 commit\n - help.c: help.autocorrect=prompt waits for user action\n\n The logic for auto-correction of misspelt subcommands learned to go\n interactive when the help.autocorrect configuration variable is set\n to true.\n\n Will merge to 'next'.\n\n\n* zh/cherry-pick-advice (2021-08-23) 1 commit\n  (merged to 'next' on 2021-09-01 at 6ff491cc09)\n + cherry-pick: use better advice message\n\n The advice message that \"git cherry-pick\" gives when it asks\n conflicted replay of a commit to be resolved by the end user has\n been updated.\n\n Will merge to 'master'.\n\n\n* mk/clone-recurse-submodules (2021-08-30) 1 commit\n  (merged to 'next' on 2021-09-03 at 9787178599)\n + clone: set submodule.recurse=true if submodule.stickyRecursiveClone enabled\n\n After \"git clone --recurse-submodules\", all submodules are cloned\n but they are not by default recursed into by other commands.  With\n submodule.stickyRecursiveClone configuration set, submodule.recurse\n configuration is set to true in a repository created by \"clone\"\n with \"--recurse-submodules\" option.\n\n Will merge to 'master'.\n\n\n* ka/want-ref-in-namespace (2021-09-01) 3 commits\n  (merged to 'next' on 2021-09-01 at a1075a92a9)\n + docs: clarify the interaction of transfer.hideRefs and namespaces\n + upload-pack.c: treat want-ref relative to namespace\n + t5730: introduce fetch command helper\n\n \"git upload-pack\" which runs on the other side of \"git fetch\"\n forgot to take the ref namespaces into account when handling\n want-ref requests.\n\n Will merge to 'master'.\n\n\n* cb/ci-build-pedantic (2021-08-11) 1 commit\n - ci: run a pedantic build as part of the GitHub workflow\n\n CI update.\n\n Will merge to 'next'.\n\n\n* ds/sparse-index-ignored-files (2021-09-07) 10 commits\n - sparse-checkout: clear tracked sparse dirs\n - sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag\n - attr: be careful about sparse directories\n - sparse-checkout: create helper methods\n - sparse-index: use WRITE_TREE_MISSING_OK\n - sparse-index: silently return when cache tree fails\n - unpack-trees: fix nested sparse-dir search\n - sparse-index: silently return when not using cone-mode patterns\n - t7519: rewrite sparse index test\n - Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files\n (this branch is used by sg/test-split-index-fix.)\n\n In cone mode, the sparse-index codepath learned to remove ignored\n files (like build artifacts) outside the sparse cone, allowing the\n entire directory outside the sparse cone to be removed, which is\n especially useful when the sparse patterns change.\n\n Will merge to 'next'?\n\n\n* js/advise-when-skipping-cherry-picked (2021-08-30) 1 commit\n  (merged to 'next' on 2021-09-01 at bc883fce56)\n + sequencer: advise if skipping cherry-picked commit\n\n \"git rebase\" by default skips changes that are equivalent to\n commits that are already in the history the branch is rebased onto;\n give messages when this happens to let the users be aware of\n skipped commits, and also teach them how to tell \"rebase\" to keep\n duplicated changes.\n\n Will merge to 'master'.\n\n\n* jt/grep-wo-submodule-odb-as-alternate (2021-09-07) 8 commits\n - t7814: show lack of alternate ODB-adding\n - submodule-config: pass repo upon blob config read\n - grep: add repository to OID grep sources\n - grep: allocate subrepos on heap\n - grep: read submodule entry with explicit repo\n - grep: typesafe versions of grep_source_init\n - grep: use submodule-ODB-as-alternate lazy-addition\n - submodule: lazily add submodule ODBs as alternates\n\n The code to make \"git grep\" recurse into submodules has been\n updated to migrate away from the \"add submodule's object store as\n an alternate object store\" mechanism (which is suboptimal).\n\n Will merge to 'next'.\n\n\n* ar/submodule-add-more (2021-08-10) 10 commits\n - submodule--helper: rename compute_submodule_clone_url()\n - submodule--helper: remove resolve-relative-url subcommand\n - submodule--helper: remove add-config subcommand\n - submodule--helper: remove add-clone subcommand\n - submodule--helper: convert the bulk of cmd_add() to C\n - dir: libify and export helper functions from clone.c\n - submodule--helper: remove repeated code in sync_submodule()\n - submodule--helper: refactor resolve_relative_url() helper\n - submodule--helper: add options for compute_submodule_clone_url()\n - Merge branch 'ar/submodule-add-config' into ar/submodule-add\n (this branch uses ar/submodule-add-config.)\n\n More parts of \"git submoudle add\" has been rewritten in C.\n\n Will merge to 'next'.\n\n\n* cb/makefile-apple-clang (2021-08-06) 3 commits\n  (merged to 'next' on 2021-08-30 at 9fe8f1a9b3)\n + build: catch clang that identifies itself as \"$VENDOR clang\"\n + build: clang version may not be followed by extra words\n + build: update detect-compiler for newer Xcode version\n\n Build update for Apple clang.\n\n Will merge to 'master'.\n\n\n* ab/lib-subtest (2021-08-05) 11 commits\n - test-lib tests: assert 1 exit code, not non-zero\n - test-lib tests: refactor common part of check_sub_test_lib_test*()\n - test-lib tests: avoid subshell for \"test_cmp\" for readability\n - test-lib tests: assert no copy/pasted mock test code\n - test-lib tests: get rid of copy/pasted mock test code\n - test-lib tests: don't provide a description for the sub-tests\n - test-lib tests: stop using a subshell in write_sub_test_lib_test()\n - test-lib tests: split up \"write and run\" into two functions\n - test-lib tests: move \"run_sub_test\" to a new lib-subtest.sh\n - Merge branch 'ps/t0000-output-directory-fix' into ab/lib-subtest\n - Merge branch 'jk/t0000-subtests-fix' into ab/lib-subtest\n\n Updates to the tests in t0000 to test the test framework.\n\n\n* ab/only-single-progress-at-once (2021-07-23) 8 commits\n - progress.c: add & assert a \"global_progress\" variable\n - pack-bitmap-write.c: add a missing stop_progress()\n - progress.c: add temporary variable from progress struct\n - progress.c: stop eagerly fflush(stderr) when not a terminal\n - progress.c: call progress_interval() from progress_test_force_update()\n - progress.c: move signal handler functions lower\n - progress.c tests: test some invalid usage\n - progress.c tests: make start/stop verbs on stdin\n\n Further tweaks on progress API.\n\n On hold.\n cf. <20210901050406.GB76263@szeder.dev>\n\n\n* ab/progress-users-adjust-counters (2021-08-25) 2 commits\n - entry: show finer-grained counter in \"Filtering content\" progress line\n - commit-graph: fix bogus counter in \"Scanning merged commits\" progress line\n\n The code to show progress indicator in a few codepaths did not\n cover between 0-100%, which has been corrected.\n\n Will merge to 'next'?\n\n\n* ar/submodule-add-config (2021-08-10) 1 commit\n - submodule--helper: introduce add-config subcommand\n (this branch is used by ar/submodule-add-more.)\n\n Large part of \"git submodule add\" gets rewritten in C.\n\n Will merge to 'next'.\n\n\n* dt/submodule-diff-fixes (2021-08-31) 3 commits\n - diff --submodule=diff: don't print failure message twice\n - diff --submodule=diff: do not fail on ever-initialied deleted submodules\n - t4060: remove unused variable\n\n \"git diff --submodule=diff\" showed failure from run_command() when\n trying to run diff inside a submodule, when the user manually\n removes the submodule directory.\n\n Will merge to 'next'?\n cf. <20210812001332.715876-1-dturner@twosigma.com>\n\n\n* fs/ssh-signing (2021-08-29) 9 commits\n  (merged to 'next' on 2021-09-03 at eed4e814c0)\n + ssh signing: test that gpg fails for unknown keys\n + ssh signing: tests for logs, tags & push certs\n + ssh signing: duplicate t7510 tests for commits\n + ssh signing: verify signatures using ssh-keygen\n + ssh signing: provide a textual signing_key_id\n + ssh signing: retrieve a default key from ssh-agent\n + ssh signing: add ssh key format and signing code\n + ssh signing: add test prereqs\n + ssh signing: preliminary refactoring and clean-up\n\n Use ssh public crypto for object and push-cert signing.\n\n On hold.\n cf. <xmqq4kawcmqg.fsf@gitster.g>\n\n\n* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit\n - fetch: fix segfault on --set-upstream while on a detached HEAD\n\n \"git fetch --set-upstream\" while on detached HEAD segfaulted\n instead of noticing that such an operation did not make sense.\n\n Expecting a reroll.\n cf. <xmqqsg0ri5mq.fsf@gitster.g>\n\n\n* ab/make-tags-cleanup (2021-08-05) 5 commits\n - Makefile: normalize clobbering & xargs for tags targets\n - Makefile: remove \"cscope.out\", not \"cscope*\" in cscope.out target\n - Makefile: don't use \"FORCE\" for tags targets\n - Makefile: add QUIET_GEN to \"cscope\" target\n - Makefile: move \".PHONY: cscope\" near its target\n\n Build clean-up for \"make tags\" and friends.\n\n Will merge to 'next'?\n\n\n* tb/multi-pack-bitmaps (2021-09-01) 27 commits\n - p5326: perf tests for MIDX bitmaps\n - p5310: extract full and partial bitmap tests\n - midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'\n - t7700: update to work with MIDX bitmap test knob\n - t5319: don't write MIDX bitmaps in t5319\n - t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP\n - t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP\n - t5326: test multi-pack bitmap behavior\n - t/helper/test-read-midx.c: add --checksum mode\n - t5310: move some tests to lib-bitmap.sh\n - pack-bitmap: write multi-pack bitmaps\n - pack-bitmap: read multi-pack bitmaps\n - pack-bitmap.c: avoid redundant calls to try_partial_reuse\n - pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'\n - pack-bitmap.c: introduce 'nth_bitmap_object_oid()'\n - pack-bitmap.c: introduce 'bitmap_num_objects()'\n - midx: avoid opening multiple MIDXs when writing\n - midx: close linked MIDXs, avoid leaking memory\n - midx: infer preferred pack when not given one\n - midx: reject empty `--preferred-pack`'s\n - midx: clear auxiliary .rev after replacing the MIDX\n - midx: fix `*.rev` cleanups with `--object-dir`\n - midx: disallow running outside of a repository\n - Documentation: describe MIDX-based bitmaps\n - pack-bitmap-write.c: free existing bitmaps\n - pack-bitmap-write.c: gracefully fail to write non-closed bitmaps\n - pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps\n\n The reachability bitmap file used to be generated only for a single\n pack, but now we've learned to generate bitmaps for history that\n span across multiple packfiles.\n\n Will merge to 'next'.\n\n\n* ab/config-based-hooks-base (2021-08-03) 36 commits\n - hooks: fix a TOCTOU in \"did we run a hook?\" heuristic\n - receive-pack: convert receive hooks to hook.h\n - post-update: use hook.h library\n - receive-pack: convert 'update' hook to hook.h\n - hooks: allow callers to capture output\n - run-command: allow capturing of collated output\n - reference-transaction: use hook.h to run hooks\n - hook tests: use a modern style for \"pre-push\" tests\n - hook tests: test for exact \"pre-push\" hook input\n - transport: convert pre-push hook to hook.h\n - hook: convert 'post-rewrite' hook in sequencer.c to hook.h\n - hook: provide stdin by string_list or callback\n - run-command: add stdin callback for parallelization\n - am: convert 'post-rewrite' hook to hook.h\n - hook: support passing stdin to hooks\n - run-command: allow stdin for run_processes_parallel\n - run-command: remove old run_hook_{le,ve}() hook API\n - receive-pack: convert push-to-checkout hook to hook.h\n - read-cache: convert post-index-change to use hook.h\n - commit: convert {pre-commit,prepare-commit-msg} hook to hook.h\n - git-p4: use 'git hook' to run hooks\n - send-email: use 'git hook run' for 'sendemail-validate'\n - git hook run: add an --ignore-missing flag\n - merge: convert post-merge to use hook.h\n - hooks: convert 'post-checkout' hook to hook library\n - am: convert applypatch to use hook.h\n - rebase: convert pre-rebase to use hook.h\n - gc: use hook library for pre-auto-gc hook\n - hook: add 'run' subcommand\n - hook-list.h: add a generated list of hooks, like config-list.h\n - hook.c users: use \"hook_exists()\" insted of \"find_hook()\"\n - hook.c: add a hook_exists() wrapper and use it in bugreport.c\n - hook.[ch]: move find_hook() to this new library\n - Makefile: remove an out-of-date comment\n - Makefile: stop hardcoding {command,config}-list.h\n - Makefile: mark \"check\" target as .PHONY\n (this branch is used by es/config-based-hooks.)\n\n Restructuring of (a subset of) Emily's config-based-hooks series,\n to demonstrate that a series can be presented as a more logical and\n focused progression.\n\n Waiting for reviews.\n\n\n* ab/serve-cleanup (2021-08-05) 10 commits\n - upload-pack: document and rename --advertise-refs\n - serve.[ch]: remove \"serve_options\", split up --advertise-refs code\n - {upload,receive}-pack tests: add --advertise-refs tests\n - serve.c: move version line to advertise_capabilities()\n - serve: move transfer.advertiseSID check into session_id_advertise()\n - serve.[ch]: don't pass \"struct strvec *keys\" to commands\n - serve: use designated initializers\n - transport: use designated initializers\n - transport: rename \"fetch\" in transport_vtable to \"fetch_refs\"\n - serve: mark has_capability() as static\n\n Code clean-up around \"git serve\".\n\n Will merge to 'next'?\n\n\n* ab/test-tool-cache-cleanup (2021-08-24) 4 commits\n - read-cache perf: add a perf test for refresh_index()\n - test-tool: migrate read-cache-again to parse_options()\n - test-tool: migrate read-cache-perf to parse_options()\n - test-tool: split up test-tool read-cache\n\n Test code shuffling.\n\n Will discard.\n cf. <87tuj7xhqo.fsf@evledraar.gmail.com>\n\n\n* ab/pack-objects-stdin (2021-07-09) 5 commits\n - pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS\n - pack-objects.c: do stdin parsing via revision.c's API\n - revision.[ch]: add a \"handle_stdin_line\" API\n - revision.h: refactor \"disable_stdin\" and \"read_from_stdin\"\n - upload-pack: run is_repository_shallow() before setup_revisions()\n\n Introduce handle_stdin_line callback to revision API and uses it.\n\n Waiting for reviews.\n\n\n* pw/diff-color-moved-fix (2021-08-05) 13 commits\n - diff: drop unused options parameter from cmp_in_block_with_wsd()\n - diff --color-moved: intern strings\n - diff: use designated initializers for emitted_diff_symbol\n - diff --color-moved-ws=allow-indentation-change: improve hash lookups\n - diff --color-moved: stop clearing potential moved blocks\n - diff --color-moved: shrink potential moved blocks as we go\n - diff --color-moved: unify moved block growth functions\n - diff --color-moved: call comparison function directly\n - diff --color-moved-ws=allow-indentation-change: simplify and optimize\n - diff: simplify allow-indentation-change delta calculation\n - diff --color-moved: avoid false short line matches and bad zerba coloring\n - diff --color-moved=zebra: fix alternate coloring\n - diff --color-moved: add perf tests\n\n Originally merged to 'next' on 2021-08-05\n\n Long-overdue correctness and performance update to \"diff\n --color-moved\" feature.\n\n Eject for reroll.\n cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com>\n\n\n* hn/reftable (2021-09-07) 19 commits\n - Add \"test-tool dump-reftable\" command.\n - reftable: add dump utility\n - reftable: implement stack, a mutable database of reftable files.\n - reftable: implement refname validation\n - reftable: add merged table view\n - reftable: add a heap-based priority queue for reftable records\n - reftable: reftable file level tests\n - reftable: read reftable files\n - reftable: generic interface to tables\n - reftable: write reftable files\n - reftable: a generic binary tree implementation\n - reftable: reading/writing blocks\n - Provide zlib's uncompress2 from compat/zlib-compat.c\n - reftable: (de)serialization for the polymorphic record type.\n - reftable: add blocksource, an abstraction for random access reads\n - reftable: utility functions\n - reftable: add error related functionality\n - reftable: RFC: add LICENSE\n - hash.h: provide constants for the hash IDs\n\n The \"reftable\" backend for the refs API, without integrating into\n the refs subsystem.\n\n\n* ab/refs-files-cleanup (2021-08-25) 13 commits\n - refs/files: remove unused \"errno != ENOTDIR\" condition\n - refs/files: remove unused \"errno == EISDIR\" code\n - refs/files: remove unused \"oid\" in lock_ref_oid_basic()\n - refs API: remove OID argument to reflog_expire()\n - reflog expire: don't lock reflogs using previously seen OID\n - refs/files: add a comment about refs_reflog_exists() call\n - refs: make repo_dwim_log() accept a NULL oid\n - refs/debug: re-indent argument list for \"prepare\"\n - refs/files: remove unused \"skip\" in lock_raw_ref() too\n - refs/files: remove unused \"extras/skip\" in lock_ref_oid_basic()\n - refs: drop unused \"flags\" parameter to lock_ref_oid_basic()\n - refs/files: remove unused REF_DELETING in lock_ref_oid_basic()\n - refs/packet: add missing BUG() invocations to reflog callbacks\n (this branch is used by ab/refs-errno-cleanup and hn/refs-errno-cleanup.)\n\n Continued work on top of the hn/refs-errno-cleanup topic.\n\n\n* hn/refs-errno-cleanup (2021-08-25) 4 commits\n - refs: make errno output explicit for read_raw_ref_fn\n - refs/files-backend: stop setting errno from lock_ref_oid_basic\n - refs: remove EINVAL errno output from specification of read_raw_ref_fn\n - refs file backend: move raceproof_create_file() here\n (this branch is used by ab/refs-errno-cleanup; uses ab/refs-files-cleanup.)\n\n Futz with the way 'errno' is relied on in the refs API to carry the\n failure modes up the callchain.\n\n--------------------------------------------------\n[Discarded]\n\n* zh/cherry-pick-help-is-only-for-sequencer (2021-08-03) 2 commits\n . cherry-pick: use better advice message\n . cherry-pick: fix bug when used with GIT_CHERRY_PICK_HELP\n\n Originally merged to 'next' on 2021-08-04\n\n \"git cherry-pick\" loses its state file when a stray\n GIT_CHERRY_PICK_HELP environment is present, which has been\n corrected.\n\n Reverted out of 'next' at 1f62d2e1 on 2021-08-11\n\n\n* jk/refs-files-cleanup-cleanup (2021-08-19) 1 commit\n . refs: drop unused \"flags\" parameter to lock_ref_oid_basic()\n\n Code cleanup.\n\n Obsoleted by updated ab/refs-files-cleanup\n\n\n* ow/clone-bare-origin (2021-08-03) 1 commit\n - clone: Allow combining --bare and --origin\n\n \"git clone\" did not like to take \"--bare\" and \"--origin=X\" at the\n same time; loosen the restriction.\n\n cf. <20210802174944.53745-1-oystwa@gmail.com>\n\n\n* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit\n - blame: add config `blame.ignoreRevsFileIsOptional`\n\n When the file named by blame.ignoreRevsFile configuration variable\n does not exist, it causes \"git blame\" to die.  Sometimes, it is\n useful if the files named by configuration variables can be made\n optional (it would allow ~/.gitconfig to give a filename, and make\n it effective only in repositories that have a file with that name).\n\n This uses an extra variable that marks that the variable is\n optional.  Yet another alternative is being discussed to define\n syntax for \"optional\" filename values, so that the same mechanism\n can be used for not just blame.ignoreRevsFile but other filenames.\n\n Queued just as a reminder of the theme.\n"},{"id":"435114","messageId":"YTjjqV/4/oceM3lM@nand.local","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2021-09-08T16:24:09Z","receivedAt":"2021-09-08T16:24:13Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Wed, Sep 08, 2021 at 08:38:55AM -0700, Junio C Hamano wrote:\n> * tb/pack-finalize-ordering (2021-09-07) 2 commits\n>  - builtin/repack.c: move `.idx` files into place last\n>  - pack-write.c: rename `.idx` file into place last\n>\n>  The order in which various files that make up a single (conceptual)\n>  packfile has been reevaluated and straightened up.  This matters in\n>  correctness, as an incomplete set of files must not be shown to a\n>  running Git.\n>\n>  Will merge to 'next'?\n\nÆvar has a series [1] that complements this one nicely, so I would be\nhappy to see them both queued.\n\nI had some suggestions inline, but I don't feel strongly about whether\nor not they are implemented.\n\nThanks,\nTaylor\n\n[1]: https://lore.kernel.org/git/cover-v2-0.4-0000000000-20210908T003631Z-avarab@gmail.com/\n"},{"id":"435123","messageId":"CABye917yakh8sfGAmuLRiBXmYwTMo-zxquoAJTmve8cZme+G-w@mail.gmail.com","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Azeem Bande-Ali","fromEmail":"me@azeemba.com","sentAt":"2021-09-08T16:55:20Z","receivedAt":"2021-09-08T16:56:01Z","isPatch":false,"sender":{"key":"me@azeemba.com","avatar":"https://avatars.githubusercontent.com/u/2160795?v=4"},"body":"On Wed, Sep 8, 2021 at 11:39 AM Junio C Hamano <gitster@pobox.com> wrote:\n>\n> * ab/help-autocorrect-prompt (2021-08-14) 1 commit\n>  - help.c: help.autocorrect=prompt waits for user action\n>\n>  The logic for auto-correction of misspelt subcommands learned to go\n>  interactive when the help.autocorrect configuration variable is set\n>  to true.\n>\n>  Will merge to 'next'.\n\nJust a minor issue with the description: help.autocorrect will have to\nbe set to \"prompt\" for this setting to work.\n"},{"id":"435126","messageId":"67055f8a-b7ad-90f6-4b61-302e83f8e93b@gmail.com","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Philippe Blain","fromEmail":"levraiphilippeblain@gmail.com","sentAt":"2021-09-08T17:50:39Z","receivedAt":"2021-09-08T17:51:08Z","isPatch":false,"sender":{"key":"levraiphilippeblain@gmail.com","avatar":"https://avatars.githubusercontent.com/u/44212482?v=4"},"body":"Hi Junio,\n\nLe 2021-09-08 à 11:38, Junio C Hamano a écrit :\n> \n> * pb/test-use-user-env (2021-09-07) 3 commits\n>   - test-lib-functions: keep user's debugger config files and TERM in 'debug'\n>   - test-lib-functions: optionally keep HOME, TERM and SHELL in 'test_pause'\n>   - test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause'\n> \n>   Teach test_pause and test_debug to allow using the HOME and TERM\n>   environment variables the user usually uses.\n\nThe name of the debug helper is 'debug', not 'test_debug' ;)\n\nAlso, technically with my v5 'debug' does not use the full $HOME but\njust $HOME/.[g|ll]dbinit, but for this merge message I guess it does\nnot matter much, and I don't have anything better to propose :)\n\n> \n>   Will merge to 'next'?\n> \n\n From my part I think it's ready, I think I've adressed all feedback.\n\nThanks,\nPhilippe.\n"},{"id":"435146","messageId":"xmqqczpi3mds.fsf@gitster.g","threadId":"56466","inReplyTo":"CABye917yakh8sfGAmuLRiBXmYwTMo-zxquoAJTmve8cZme+G-w@mail.gmail.com","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-09-08T19:20:15Z","receivedAt":"2021-09-08T19:20:18Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Azeem Bande-Ali <me@azeemba.com> writes:\n\n> On Wed, Sep 8, 2021 at 11:39 AM Junio C Hamano <gitster@pobox.com> wrote:\n>>\n>> * ab/help-autocorrect-prompt (2021-08-14) 1 commit\n>>  - help.c: help.autocorrect=prompt waits for user action\n>>\n>>  The logic for auto-correction of misspelt subcommands learned to go\n>>  interactive when the help.autocorrect configuration variable is set\n>>  to true.\n>>\n>>  Will merge to 'next'.\n>\n> Just a minor issue with the description: help.autocorrect will have to\n> be set to \"prompt\" for this setting to work.\n\nI think this was already pointed out in an earlier edition of the\nWhat's cooking report, but I simply forgot to update it.\n\nSorry, and thanks.\n\n"},{"id":"435150","messageId":"xmqq8s063m7m.fsf@gitster.g","threadId":"56466","inReplyTo":"YTjjqV/4/oceM3lM@nand.local","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-09-08T19:23:57Z","receivedAt":"2021-09-08T19:24:03Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Taylor Blau <me@ttaylorr.com> writes:\n\n> On Wed, Sep 08, 2021 at 08:38:55AM -0700, Junio C Hamano wrote:\n>> * tb/pack-finalize-ordering (2021-09-07) 2 commits\n>>  - builtin/repack.c: move `.idx` files into place last\n>>  - pack-write.c: rename `.idx` file into place last\n>>\n>>  The order in which various files that make up a single (conceptual)\n>>  packfile has been reevaluated and straightened up.  This matters in\n>>  correctness, as an incomplete set of files must not be shown to a\n>>  running Git.\n>>\n>>  Will merge to 'next'?\n>\n> Ævar has a series [1] that complements this one nicely, so I would be\n> happy to see them both queued.\n>\n> I had some suggestions inline, but I don't feel strongly about whether\n> or not they are implemented.\n\nI hate to see multiple folks \"competing\" in the overlapping area,\neach getting reviews and responding or not responding at their own\npace.  That would force me to keep track of which one is which and\nwhat their doneness are independently.\n\nDo you mind if I nominate you the team leader to come up with a\nsingle series that is polished to be mergeable to 'next'?\n\nThanks.\n"},{"id":"435179","messageId":"YTkqr9DjMZknr/yh@coredump.intra.peff.net","threadId":"56466","inReplyTo":"YTjjqV/4/oceM3lM@nand.local","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2021-09-08T21:27:11Z","receivedAt":"2021-09-08T21:27:13Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Sep 08, 2021 at 12:24:09PM -0400, Taylor Blau wrote:\n\n> On Wed, Sep 08, 2021 at 08:38:55AM -0700, Junio C Hamano wrote:\n> > * tb/pack-finalize-ordering (2021-09-07) 2 commits\n> >  - builtin/repack.c: move `.idx` files into place last\n> >  - pack-write.c: rename `.idx` file into place last\n> >\n> >  The order in which various files that make up a single (conceptual)\n> >  packfile has been reevaluated and straightened up.  This matters in\n> >  correctness, as an incomplete set of files must not be shown to a\n> >  running Git.\n> >\n> >  Will merge to 'next'?\n> \n> Ævar has a series [1] that complements this one nicely, so I would be\n> happy to see them both queued.\n> \n> I had some suggestions inline, but I don't feel strongly about whether\n> or not they are implemented.\n\nI think regardless of Ævar's related patches, we'd want to see a re-roll\nof yours that touches index-pack's final(), too.\n\n-Peff\n"},{"id":"435181","messageId":"d6721839-114a-3309-25aa-1926fa198bf7@gmail.com","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2021-09-08T21:57:45Z","receivedAt":"2021-09-08T21:57:49Z","isPatch":false,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"On 9/8/2021 11:38 AM, Junio C Hamano wrote:> * ds/sparse-index-ignored-files (2021-09-07) 10 commits\n>  - sparse-checkout: clear tracked sparse dirs\n>  - sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag\n>  - attr: be careful about sparse directories\n>  - sparse-checkout: create helper methods\n>  - sparse-index: use WRITE_TREE_MISSING_OK\n>  - sparse-index: silently return when cache tree fails\n>  - unpack-trees: fix nested sparse-dir search\n>  - sparse-index: silently return when not using cone-mode patterns\n>  - t7519: rewrite sparse index test\n>  - Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files\n>  (this branch is used by sg/test-split-index-fix.)\n> \n>  In cone mode, the sparse-index codepath learned to remove ignored\n>  files (like build artifacts) outside the sparse cone, allowing the\n>  entire directory outside the sparse cone to be removed, which is\n>  especially useful when the sparse patterns change.\n> \n>  Will merge to 'next'?\n\nI think this one is ready to go. Elijah chimed in on the latest\nversion, too.\n\nThis also means that perhaps we could start tracking the sparse\nindex integrations with merge, rebase, cherry-pick, and revert [1]?\nThis series has also had quite a bit of review, but the latest\nversion has not had an ack. \n\n[1] https://lore.kernel.org/git/pull.1019.v3.git.1631100241.gitgitgadget@gmail.com\n\nI also plan to send a new version of the --sparse RFC [2], which\nis based on [1]. I don't want to get too far ahead of what the\ncommunity has capacity to review.\n\n[2] https://lore.kernel.org/git/pull.1018.git.1629842085.gitgitgadget@gmail.com/\n\nThanks,\n-Stolee\n"},{"id":"435191","messageId":"YTldQR1uJqslIEZU@nand.local","threadId":"56466","inReplyTo":"xmqq8s063m7m.fsf@gitster.g","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2021-09-09T01:02:57Z","receivedAt":"2021-09-09T01:03:14Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Wed, Sep 08, 2021 at 12:23:57PM -0700, Junio C Hamano wrote:\n> Taylor Blau <me@ttaylorr.com> writes:\n>\n> > On Wed, Sep 08, 2021 at 08:38:55AM -0700, Junio C Hamano wrote:\n> >> * tb/pack-finalize-ordering (2021-09-07) 2 commits\n> >>  - builtin/repack.c: move `.idx` files into place last\n> >>  - pack-write.c: rename `.idx` file into place last\n> >>\n> >>  The order in which various files that make up a single (conceptual)\n> >>  packfile has been reevaluated and straightened up.  This matters in\n> >>  correctness, as an incomplete set of files must not be shown to a\n> >>  running Git.\n> >>\n> >>  Will merge to 'next'?\n> >\n> > Ævar has a series [1] that complements this one nicely, so I would be\n> > happy to see them both queued.\n> >\n> > I had some suggestions inline, but I don't feel strongly about whether\n> > or not they are implemented.\n>\n> I hate to see multiple folks \"competing\" in the overlapping area,\n> each getting reviews and responding or not responding at their own\n> pace.  That would force me to keep track of which one is which and\n> what their doneness are independently.\n>\n> Do you mind if I nominate you the team leader to come up with a\n> single series that is polished to be mergeable to 'next'?\n\nNot at all; sorry that I missed your email before submitting a v2 of the\nearlier series.\n\nÆvar seems to have combined them while I was eating dinner, but I'll\ncoordinate with him and send out a unified result for you to queue up.\n\nThanks,\nTaylor\n"},{"id":"435202","messageId":"c0c24993-77e2-51a1-c352-0399c59f1f94@ramsayjones.plus.com","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Ramsay Jones","fromEmail":"ramsay@ramsayjones.plus.com","sentAt":"2021-09-09T02:59:57Z","receivedAt":"2021-09-09T03:00:05Z","isPatch":false,"sender":{"key":"ramsay@ramsayjones.plus.com","avatar":"https://avatars.githubusercontent.com/u/33702710?v=4"},"body":"\n\nOn 08/09/2021 16:38, Junio C Hamano wrote:\n\ntest t5319-multi-pack-index.sh on 'seen' has been failing for\nseveral days, so I had a quick look tonight. This issue relates\nto the following two topics:\n\n> * jb/midx-revindex-fix (2021-08-23) 1 commit\n>  - multi-pack-index: fix *.rev cleanups with --object-dir\n> \n>  An implementation in \"multi-pack-index write\" that takes object\n>  directory inconsistently used that and the object store of the\n>  default repository, causing segfaults and possibly corrupting\n>  repositories.\n> \n>  On hold.\n>  cf. <xmqqo89jbf49.fsf@gitster.g>\n> \n\n...\n\n> * tb/multi-pack-bitmaps (2021-09-01) 27 commits\n>  - p5326: perf tests for MIDX bitmaps\n>  - p5310: extract full and partial bitmap tests\n>  - midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'\n>  - t7700: update to work with MIDX bitmap test knob\n>  - t5319: don't write MIDX bitmaps in t5319\n>  - t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP\n>  - t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP\n>  - t5326: test multi-pack bitmap behavior\n>  - t/helper/test-read-midx.c: add --checksum mode\n>  - t5310: move some tests to lib-bitmap.sh\n>  - pack-bitmap: write multi-pack bitmaps\n>  - pack-bitmap: read multi-pack bitmaps\n>  - pack-bitmap.c: avoid redundant calls to try_partial_reuse\n>  - pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'\n>  - pack-bitmap.c: introduce 'nth_bitmap_object_oid()'\n>  - pack-bitmap.c: introduce 'bitmap_num_objects()'\n>  - midx: avoid opening multiple MIDXs when writing\n>  - midx: close linked MIDXs, avoid leaking memory\n>  - midx: infer preferred pack when not given one\n>  - midx: reject empty `--preferred-pack`'s\n>  - midx: clear auxiliary .rev after replacing the MIDX\n>  - midx: fix `*.rev` cleanups with `--object-dir`\n>  - midx: disallow running outside of a repository\n>  - Documentation: describe MIDX-based bitmaps\n>  - pack-bitmap-write.c: free existing bitmaps\n>  - pack-bitmap-write.c: gracefully fail to write non-closed bitmaps\n>  - pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps\n> \n>  The reachability bitmap file used to be generated only for a single\n>  pack, but now we've learned to generate bitmaps for history that\n>  span across multiple packfiles.\n> \n>  Will merge to 'next'.\n\nThe merge commit 24cade3ceb (\"Merge branch 'jb/midx-revindex-fix' into seen\",\n2021-09-07) basically takes two versions of the same patch and keeps both\nversions of the same test. The two patches are:\n\n  - c575d4a2d9 (\"multi-pack-index: fix *.rev cleanups with --object-dir\",\n    2021-08-23)\n  - 426c00e454 (\"midx: fix `*.rev` cleanups with `--object-dir`\", 2021-08-31)\n\n(the second patch is from the 'tb/multi-pack-bitmaps' branch).\n\nThe second patch even includes an acknowledgment of 'Original-patch-by:\nJohannes Berg <johannes@sipsolutions.net>' (ie the first patch).\n\n  $ ./t5319-multi-pack-index.sh -i -v\n...\n  expecting success of 5319.19 'multi-pack-index *.rev cleanup with --object-dir':\n...\n  ok 19 - multi-pack-index *.rev cleanup with --object-dir\n\n  expecting success of 5319.20 'multi-pack-index *.rev cleanup with --object-dir':\n...\n  fatal: not a git repository (or any of the parent directories): .git\n...\n  $\n\nThe 'fatal' message is issued by a call to 'nongit git multi-pack-index ... write'\ncommand, which implies that 'git multi-pack-index' dies when not run from\na repository. When the original patch was written, that command would not\nhave died, so somewhere between v2.33.0 and 'seen' (maybe as part of the\n'tb/multi-pack-bitmaps' branch, I haven't looked), that was changed and\nthat test no longer works.\n\nIf I had to change that test to take account of that change in behaviour,\nthen it would look pretty much the same as the new test in Taylor's commit\n(and which can now be seen as test #19 above).\n\nSo, a solution would be to simply drop 'jb/midx-revindex-fix', since it\nhas effectively been incorporated into Taylor's branch. You could also\ngo the other way around, drop commit 426c00e454 from Taylor's branch and\nfix up the test in Johannes's patch ... :-P\n\nWell, I only had a quick look so (hopefully) I haven't missed something\nobvious!\n\nATB,\nRamsay Jones\n\n"},{"id":"435240","messageId":"nycvar.QRO.7.76.6.2109091259310.59@tvgsbejvaqbjf.bet","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"js/scalar, was Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2021-09-09T11:03:08Z","receivedAt":"2021-09-09T11:03:17Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Wed, 8 Sep 2021, Junio C Hamano wrote:\n\n> * js/scalar (2021-09-03) 15 commits\n>  - scalar: accept -C and -c options before the subcommand\n>  - scalar: implement the `version` command\n>  - scalar: implement the `delete` command\n>  - scalar: teach 'reconfigure' to optionally handle all registered enlistments\n>  - scalar: allow reconfiguring an existing enlistment\n>  - scalar: implement the `run` command\n>  - scalar: teach 'clone' to support the --single-branch option\n>  - scalar: implement the `clone` subcommand\n>  - scalar: implement 'scalar list'\n>  - scalar: let 'unregister' handle a deleted enlistment directory gracefully\n>  - scalar: 'unregister' stops background maintenance\n>  - scalar: 'register' sets recommended config and starts maintenance\n>  - scalar: create test infrastructure\n>  - scalar: start documenting the command\n>  - scalar: create a rudimentary executable\n>\n>  Add pieces from \"scalar\" to contrib/.\n\nThank you for picking it up. It seems as if the reviews are starting to\ndecrease to a point where I could imagine that we can start talking about\nhow to refactor things to start bringing the benefits to Git proper.\n\nFor what it's worth, I maintain a branch thicket on top of this branch\nthat has the remaining Scalar parts, both those parts that I still intend\nto upstream as well as those parts that will most likely stay in\nmicrosoft/git (e.g. the GVFS protocol-related parts, as it was decided\nlong ago that the VFS bits won't make it into Git proper, and\nmicrosoft/git only needs these bits for compatibility with Azure Repos).\n\nHere is the CI/PR run of that branch:\nhttps://github.com/dscho/git/actions/runs/1216858695\n\nAnd much more interesting is the run of the full Scalar Functional Tests\nsuite: https://github.com/dscho/git/actions/runs/1216858693\n\n(Both pass, of course.)\n\nCiao,\nDscho\n"},{"id":"435241","messageId":"nycvar.QRO.7.76.6.2109091304360.59@tvgsbejvaqbjf.bet","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"rs/range-diff-avoid-segfault-with-I, was Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2021-09-09T11:05:03Z","receivedAt":"2021-09-09T11:05:09Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Wed, 8 Sep 2021, Junio C Hamano wrote:\n\n> * rs/range-diff-avoid-segfault-with-I (2021-09-07) 1 commit\n>  - range-diff: avoid segfault with -I\n>\n>  \"git range-diff -I... <range> <range>\" segfaulted, which has been\n>  corrected.\n>\n>  Will merge to 'next'?\n\nSounds good to me,\nDscho\n"},{"id":"435242","messageId":"nycvar.QRO.7.76.6.2109091307070.59@tvgsbejvaqbjf.bet","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"js/retire-preserve-merges, was Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2021-09-09T11:08:06Z","receivedAt":"2021-09-09T11:08:13Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Wed, 8 Sep 2021, Junio C Hamano wrote:\n\n> * js/retire-preserve-merges (2021-09-07) 11 commits\n>  - sequencer: restrict scope of a formerly public function\n>  - rebase: remove a no-longer-used function\n>  - rebase: stop mentioning the -p option in comments\n>  - rebase: remove obsolete code comment\n>  - rebase: drop the internal `rebase--interactive` command\n>  - git-svn: drop support for `--preserve-merges`\n>  - rebase: drop support for `--preserve-merges`\n>  - pull: remove support for `--rebase=preserve`\n>  - tests: stop testing `git rebase --preserve-merges`\n>  - remote: warn about unhandled branch.<name>.rebase values\n>  - t5520: do not use `pull.rebase=preserve`\n>\n>  The \"--preserve-merges\" option of \"git rebase\" has been removed.\n>\n>  Will merge to 'next'?\n\nI think so, given the rate of reviews still trickling in tending toward\nzero.\n\nWe probably want to keep it in `next` for quite a while, too, to make sure\nthat people get the memo.\n\nCiao,\nDscho\n"},{"id":"435243","messageId":"nycvar.QRO.7.76.6.2109091308200.59@tvgsbejvaqbjf.bet","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"mr/bisect-in-c-4, was Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2021-09-09T11:08:47Z","receivedAt":"2021-09-09T11:08:55Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Wed, 8 Sep 2021, Junio C Hamano wrote:\n\n> * mr/bisect-in-c-4 (2021-09-02) 6 commits\n>  - bisect--helper: retire `--bisect-next-check` subcommand\n>  - bisect--helper: reimplement `bisect_run` shell\n>  - bisect--helper: reimplement `bisect_visualize()`shell function in C\n>  - run-command: make `exists_in_PATH()` non-static\n>  - t6030-bisect-porcelain: add test for bisect visualize\n>  - t6030-bisect-porcelain: add tests to control bisect run exit cases\n>\n>  Rewrite of \"git bisect\" in C continues.\n\nFrom my point of view, this is ready for `next`.\n\nCiao,\nDscho\n"},{"id":"435244","messageId":"nycvar.QRO.7.76.6.2109091312240.59@tvgsbejvaqbjf.bet","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"lh/systemd-timers, was Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2021-09-09T11:13:24Z","receivedAt":"2021-09-09T11:13:30Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Wed, 8 Sep 2021, Junio C Hamano wrote:\n\n> * lh/systemd-timers (2021-09-07) 3 commits\n>  - maintenance: add support for systemd timers on Linux\n>  - maintenance: `git maintenance run` learned `--scheduler=<scheduler>`\n>  - cache.h: Introduce a generic \"xdg_config_home_for(…)\" function\n>\n>  \"git maintenance\" scheduler learned to use systemd timers as a\n>  possible backend.\n>\n>  Will merge to 'next'.\n\nYes!\n\nAnd since you merged down `js/maintenance-launchctl-fix` to `master`\nalready, I guess I won't be rebasing it on top.\n\nCiao,\nDscho\n"},{"id":"435245","messageId":"nycvar.QRO.7.76.6.2109091314350.59@tvgsbejvaqbjf.bet","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"ar/submodule-add-more, was Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2021-09-09T11:15:15Z","receivedAt":"2021-09-09T11:15:23Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Wed, 8 Sep 2021, Junio C Hamano wrote:\n\n> * ar/submodule-add-more (2021-08-10) 10 commits\n>  - submodule--helper: rename compute_submodule_clone_url()\n>  - submodule--helper: remove resolve-relative-url subcommand\n>  - submodule--helper: remove add-config subcommand\n>  - submodule--helper: remove add-clone subcommand\n>  - submodule--helper: convert the bulk of cmd_add() to C\n>  - dir: libify and export helper functions from clone.c\n>  - submodule--helper: remove repeated code in sync_submodule()\n>  - submodule--helper: refactor resolve_relative_url() helper\n>  - submodule--helper: add options for compute_submodule_clone_url()\n>  - Merge branch 'ar/submodule-add-config' into ar/submodule-add\n>  (this branch uses ar/submodule-add-config.)\n>\n>  More parts of \"git submoudle add\" has been rewritten in C.\n>\n>  Will merge to 'next'.\n\nIf you use the description in the release notes, please\n`s/submoudle/submodule/` first.\n\nThanks,\nDscho\n"},{"id":"435248","messageId":"87fsuedl5x.fsf@evledraar.gmail.com","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2021-09-09T11:18:41Z","receivedAt":"2021-09-09T12:41:21Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Wed, Sep 08 2021, Junio C Hamano wrote:\n\nAs usual, updates on my topics & related:\n\nFirst, I realize you're busy & I have a lot of things outstanding, but\njust for completeness, trivial one-patch topics I submitted recently\nthat you didn't pick up. I think all of these are rather simple &\nstraightforward bug fixes / improvements:\n\n* fetch-negotiator: call BUG() on API misuse, don't segfault:\n  <patch-1.1-f1da49de63-20210727T000203Z-avarab@gmail.com>\n  (https://lore.kernel.org/git/patch-1.1-f1da49de63-20210727T000203Z-avarab@gmail.com/)\n\n* http.c: use error_errno(), not error() after fopen() failure:\n  <patch-1.1-ad71faa6da-20210727T000657Z-avarab@gmail.com>\n  (https://lore.kernel.org/git/patch-1.1-ad71faa6da-20210727T000657Z-avarab@gmail.com/)\n\n* stash: print the correct usage on \"git stash [push] --invalid-option\":\n  <patch-1.1-47c582f1218-20210901T111930Z-avarab@gmail.com>:\n  https://lore.kernel.org/git/patch-1.1-47c582f1218-20210901T111930Z-avarab@gmail.com/\n\nAnd then this 2-patch and slightly more complex series to make \"git\n<built-in> -h\" output prettily aligned:\n\n* parse-options: properly align continued usage output:\n  <cover-0.2-00000000000-20210901T110917Z-avarab@gmail.com>:\n  https://lore.kernel.org/git/cover-0.2-00000000000-20210901T110917Z-avarab@gmail.com/\n\nNotes on picke-dup serieses below:\n\n> * ab/no-more-check-bindir (2021-09-07) 1 commit\n>  Will merge to 'next'.\n> * ab/send-email-config-fix (2021-09-07) 1 commit\n>  Will merge to 'next' and then to 'master'.\n>  Will merge to 'next'.\n\nThanks!\n\n>> * ab/reverse-midx-optim (2021-09-07) 1 commit\n>  - pack-write: skip *.rev work when not writing *.rev\n\nAlready merged to \"next\" I see, thanks!\n\n> * ab/sanitize-leak-ci (2021-09-07) 3 commits\n\nPer your comment about this & my reply at\nhttps://lore.kernel.org/git/87sfyfgtfh.fsf@evledraar.gmail.com/ & not\nhaving heard back from Emily...\n\n> * es/config-based-hooks (2021-08-19) 7 commits\n> [...]\n>  - Merge branch 'ab/config-based-hooks-base' into es/config-based-hooks\n>  (this branch uses ab/config-based-hooks-base.)\n>\n>  Revamp the hooks subsystem to allow multiple of them to trigger\n>  upon the same event and control via the configuration variables.\n>\n>  Expecting a reroll\n>  but ab/config-based-hooks-base needs to be in a better shape first.\n>  cf. <87v93wflm0.fsf@evledraar.gmail.com>\n>  cf. <87tuj7xhqo.fsf@evledraar.gmail.com>\n\n... I'll submit my version of this on top of my not-yet-picked-up (due\nto a conflict with this stale topic) ab/config-based-hooks-base, pending\nEmily's canonical version of that..\n\n> * jh/builtin-fsmonitor (2021-09-03) 37 commits\n> [...]\n> Expecting a reroll post 2.33 release.\n\nPer your \"I may start discarding too ancient topics to nudge the authors\nto resubmit updates to them\" above I've got one one-patch series cleanup\nthat's been blocked by a conflict with this for a long time. Perhaps a\ncandidate for ejection until the re-roll materializes?\n\n> * ab/fsck-unexpected-type (2021-09-07) 22 commits\n> [...]\n>\n>  \"git fsck\" has been taught to report mismatch between expected and\n>  actual types of an object better.\n>\n>  Needs review.\n\nIndeed, any takers? It's been cooking for a long time and I think it\nshould be well tested / mature at this point, but if there's no takers I\nmight need to split it up and submit it incrementally. I haven't thought\nof a way to do that that doesn't make it more confusing, e.g. just the\ntests or just some of the prep work is a \"bridge to nowhere\" without the\nend parts of it...\n\n> * gh/gitweb-branch-sort (2021-06-10) 1 commit\n>  - gitweb: use HEAD as secondary sort key in git_get_heads_list()\n>\n>  Tie-break branches that point at the same object in the list of\n>  branches on GitWeb to show the one pointed at by HEAD early.\n>\n>  Will merge to 'next'.\n\nNice!\n\n> * js/retire-preserve-merges (2021-09-07) 11 commits\n> [...]\n>  The \"--preserve-merges\" option of \"git rebase\" has been removed.\n>\n>  Will merge to 'next'?\n\nI agree that that would be nice, and re\nhttps://lore.kernel.org/git/nycvar.QRO.7.76.6.2109091307070.59@tvgsbejvaqbjf.bet/\nthink it would be fine for that to happen sooner than later, but if\nJohannes would prefer to wait a while...\n\n> * ab/gc-log-rephrase (2021-09-02) 1 commit\n>  Will merge to 'master'.\n> * ab/mailmap-leakfix (2021-08-31) 1 commit\n>  Will merge to 'master'.\n> * ba/object-info (2021-08-31) 1 commit\n>  Will merge to 'master'.\n\nThanks!\n\n> * ab/commit-graph-usage (2021-08-30) 7 commits\n> [...]\n>  Will merge to 'master'.\n\nThanks, I've got some more parse_options() fixes waiting on this.\n\n> * ab/ls-remote-packet-trace (2021-08-24) 1 commit\n>  Will merge to 'master'.\n> * ab/rebase-fatal-fatal-fix (2021-08-24) 1 commit\n>  Will merge to 'master'.\n\nThanks!\n\n> * ab/refs-errno-cleanup (2021-08-25) 4 commits\n>  - refs: make errno output explicit for refs_resolve_ref_unsafe\n>  - refs: explicitly return failure_errno from parse_loose_ref_contents\n>  - branch tests: test for errno propagating on failing read\n>  - refs: add failure_errno to refs_read_raw_ref() signature\n>  (this branch uses ab/refs-files-cleanup and hn/refs-errno-cleanup.)\n>\n>  The \"remainder\" of hn/refs-errno-cleanup topic.\n\nIt would be nice to get some movement on this and the dependant topics,\nper my https://lore.kernel.org/git/8735qnax0o.fsf@evledraar.gmail.com/\n\n> * ab/retire-advice-config (2021-08-25) 4 commits\n> [...]\n>  Will merge to 'master'.\n\nThanks. I've also got some more advice fixes waiting on this.\n\n> * js/maintenance-launchctl-fix (2021-08-24) 2 commits\n> [...]\n>  Will merge to 'master'.\n\nMerged already I see, I have a trivial fix-on-top at\nhttps://lore.kernel.org/git/patch-1.1-93adb856b0c-20210909T012244Z-avarab@gmail.com/\n\n> * jv/pkt-line-batch (2021-09-01) 2 commits\n>  - upload-pack: use stdio in send_ref callbacks\n>  - pkt-line: add stdio packet write functions\n>\n>  Reduce number of write(2) system calls while sending the\n>  ref advertisement.\n>\n>  Will merge to 'next'?\n\nLGTM!\n\n> * ab/unbundle-progress (2021-09-07) 4 commits\n>  - bundle: show progress on \"unbundle\"\n>  - index-pack: add --progress-title option\n>  - bundle API: change \"flags\" to be \"extra_index_pack_args\"\n>  - bundle API: start writing API documentation\n>\n>  Add progress display to \"git bundle unbundle\".\n>\n>  Will merge to 'next'?\n\nI think so, the last re-roll was small, reduced net complexity, and\naddressed all outstanding feedback.\n\n> * ab/lib-subtest (2021-08-05) 11 commits\n>  - test-lib tests: assert 1 exit code, not non-zero\n>  - test-lib tests: refactor common part of check_sub_test_lib_test*()\n>  - test-lib tests: avoid subshell for \"test_cmp\" for readability\n>  - test-lib tests: assert no copy/pasted mock test code\n>  - test-lib tests: get rid of copy/pasted mock test code\n>  - test-lib tests: don't provide a description for the sub-tests\n>  - test-lib tests: stop using a subshell in write_sub_test_lib_test()\n>  - test-lib tests: split up \"write and run\" into two functions\n>  - test-lib tests: move \"run_sub_test\" to a new lib-subtest.sh\n>  - Merge branch 'ps/t0000-output-directory-fix' into ab/lib-subtest\n>  - Merge branch 'jk/t0000-subtests-fix' into ab/lib-subtest\n>\n>  Updates to the tests in t0000 to test the test framework.\n\nWould be nice to get movement on this, any takers for reviews? Perhaps I\nshould re-submit it.\n\n> * ab/only-single-progress-at-once (2021-07-23) 8 commits\n>  - progress.c: add & assert a \"global_progress\" variable\n>  - pack-bitmap-write.c: add a missing stop_progress()\n>  - progress.c: add temporary variable from progress struct\n>  - progress.c: stop eagerly fflush(stderr) when not a terminal\n>  - progress.c: call progress_interval() from progress_test_force_update()\n>  - progress.c: move signal handler functions lower\n>  - progress.c tests: test some invalid usage\n>  - progress.c tests: make start/stop verbs on stdin\n>\n>  Further tweaks on progress API.\n>\n>  On hold.\n>  cf. <20210901050406.GB76263@szeder.dev>\n\nSZEDER: Any hints as to what that issue is or how to reproduce it?\n\n> * ab/progress-users-adjust-counters (2021-08-25) 2 commits\n>  - entry: show finer-grained counter in \"Filtering content\" progress line\n>  - commit-graph: fix bogus counter in \"Scanning merged commits\" progress line\n>\n>  The code to show progress indicator in a few codepaths did not\n>  cover between 0-100%, which has been corrected.\n>\n>  Will merge to 'next'?\n\nSounds good, I re-rolled this at\nhttps://lore.kernel.org/git/cover-v4-0.2-00000000000-20210909T010722Z-avarab@gmail.com/\nto fix a relatively trivial and new conflict with \"master\", t omake that\neasier.\n\n> * ab/make-tags-cleanup (2021-08-05) 5 commits\n> [...]\n>  Build clean-up for \"make tags\" and friends.\n>\n>  Will merge to 'next'?\n\nI think it's ready & has all previous feedback addressed.\n\n> * ab/config-based-hooks-base (2021-08-03) 36 commits\n> [...]\n>  (this branch is used by es/config-based-hooks.)\n>\n>  Restructuring of (a subset of) Emily's config-based-hooks series,\n>  to demonstrate that a series can be presented as a more logical and\n>  focused progression.\n>\n>  Waiting for reviews.\n\nPer note on es/config-based-hooks above this is the v4 that's replaced\nby my not-yet-picked-up due to conflict with es/config-based-hooks v5.\n\n> * ab/serve-cleanup (2021-08-05) 10 commits\n>  - upload-pack: document and rename --advertise-refs\n>  - serve.[ch]: remove \"serve_options\", split up --advertise-refs code\n>  - {upload,receive}-pack tests: add --advertise-refs tests\n>  - serve.c: move version line to advertise_capabilities()\n>  - serve: move transfer.advertiseSID check into session_id_advertise()\n>  - serve.[ch]: don't pass \"struct strvec *keys\" to commands\n>  - serve: use designated initializers\n>  - transport: use designated initializers\n>  - transport: rename \"fetch\" in transport_vtable to \"fetch_refs\"\n>  - serve: mark has_capability() as static\n>\n>  Code clean-up around \"git serve\".\n>\n>  Will merge to 'next'?\n\nThat would be very nice, I think it's received thorough reviews of the\nrelevant parts that still remain, and the whole \"config callback\"\nmechanism people were on the fence about has been entirely ejected.\n\n> * ab/pack-objects-stdin (2021-07-09) 5 commits\n>  - pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS\n>  - pack-objects.c: do stdin parsing via revision.c's API\n>  - revision.[ch]: add a \"handle_stdin_line\" API\n>  - revision.h: refactor \"disable_stdin\" and \"read_from_stdin\"\n>  - upload-pack: run is_repository_shallow() before setup_revisions()\n>\n>  Introduce handle_stdin_line callback to revision API and uses it.\n>\n>  Waiting for reviews.\n\nPer https://lore.kernel.org/git/8735qnax0o.fsf@evledraar.gmail.com/ I'd\nprefer to have this reviewed & go in in isolation, but per the note\nthere if there's no interest perhaps I'll re-submit a larger version of\nthis that implements the \"refs and tips on stdin to git bundle\" that I\ncreated this for.\n\n> * ab/refs-files-cleanup (2021-08-25) 13 commits\n>  - refs/files: remove unused \"errno != ENOTDIR\" condition\n>  - refs/files: remove unused \"errno == EISDIR\" code\n>  - refs/files: remove unused \"oid\" in lock_ref_oid_basic()\n>  - refs API: remove OID argument to reflog_expire()\n>  - reflog expire: don't lock reflogs using previously seen OID\n>  - refs/files: add a comment about refs_reflog_exists() call\n>  - refs: make repo_dwim_log() accept a NULL oid\n>  - refs/debug: re-indent argument list for \"prepare\"\n>  - refs/files: remove unused \"skip\" in lock_raw_ref() too\n>  - refs/files: remove unused \"extras/skip\" in lock_ref_oid_basic()\n>  - refs: drop unused \"flags\" parameter to lock_ref_oid_basic()\n>  - refs/files: remove unused REF_DELETING in lock_ref_oid_basic()\n>  - refs/packet: add missing BUG() invocations to reflog callbacks\n>  (this branch is used by ab/refs-errno-cleanup and hn/refs-errno-cleanup.)\n>\n>  Continued work on top of the hn/refs-errno-cleanup topic.\n>\n>\n> * hn/refs-errno-cleanup (2021-08-25) 4 commits\n>  - refs: make errno output explicit for read_raw_ref_fn\n>  - refs/files-backend: stop setting errno from lock_ref_oid_basic\n>  - refs: remove EINVAL errno output from specification of read_raw_ref_fn\n>  - refs file backend: move raceproof_create_file() here\n>  (this branch is used by ab/refs-errno-cleanup; uses ab/refs-files-cleanup.)\n>\n>  Futz with the way 'errno' is relied on in the refs API to carry the\n>  failure modes up the callchain.\n\nI think these should be ready for merger down, also per the note in last\nweek's What's Cooking at\nhttps://lore.kernel.org/git/8735qnax0o.fsf@evledraar.gmail.com/\n"},{"id":"435265","messageId":"CABPp-BGW4Bfjgi580mXwtQMQt=PLpgGsEWg6fNw41VRj1B3LUg@mail.gmail.com","threadId":"56466","inReplyTo":"xmqqsfyf5b74.fsf@gitster.g","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2021-09-09T14:12:54Z","receivedAt":"2021-09-09T14:42:07Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"A few comments on some topics from other folks...\n\nOn Wed, Sep 8, 2021 at 8:40 AM Junio C Hamano <gitster@pobox.com> wrote:\n\n> * pb/test-use-user-env (2021-09-07) 3 commits\n>  - test-lib-functions: keep user's debugger config files and TERM in 'debug'\n>  - test-lib-functions: optionally keep HOME, TERM and SHELL in 'test_pause'\n>  - test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause'\n>\n>  Teach test_pause and test_debug to allow using the HOME and TERM\n>  environment variables the user usually uses.\n>\n>  Will merge to 'next'?\n\nSounds good to me; I'm happy with the latest series.\n\n> * js/retire-preserve-merges (2021-09-07) 11 commits\n>  - sequencer: restrict scope of a formerly public function\n>  - rebase: remove a no-longer-used function\n>  - rebase: stop mentioning the -p option in comments\n>  - rebase: remove obsolete code comment\n>  - rebase: drop the internal `rebase--interactive` command\n>  - git-svn: drop support for `--preserve-merges`\n>  - rebase: drop support for `--preserve-merges`\n>  - pull: remove support for `--rebase=preserve`\n>  - tests: stop testing `git rebase --preserve-merges`\n>  - remote: warn about unhandled branch.<name>.rebase values\n>  - t5520: do not use `pull.rebase=preserve`\n>\n>  The \"--preserve-merges\" option of \"git rebase\" has been removed.\n>\n>  Will merge to 'next'?\n\nI came a bit late to the party, but skimmed over the series as well.\nI'm very happy with the cleanups.  The direction of the patches looks\ngood in general, and didn't spot any problems in my spot checking.\nMerging down sounds good to me.\n\n> * ds/sparse-index-ignored-files (2021-09-07) 10 commits\n>  - sparse-checkout: clear tracked sparse dirs\n>  - sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag\n>  - attr: be careful about sparse directories\n>  - sparse-checkout: create helper methods\n>  - sparse-index: use WRITE_TREE_MISSING_OK\n>  - sparse-index: silently return when cache tree fails\n>  - unpack-trees: fix nested sparse-dir search\n>  - sparse-index: silently return when not using cone-mode patterns\n>  - t7519: rewrite sparse index test\n>  - Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files\n>  (this branch is used by sg/test-split-index-fix.)\n>\n>  In cone mode, the sparse-index codepath learned to remove ignored\n>  files (like build artifacts) outside the sparse cone, allowing the\n>  entire directory outside the sparse cone to be removed, which is\n>  especially useful when the sparse patterns change.\n>\n>  Will merge to 'next'?\n\nI've reviewed each of the rounds in detail and I'm happy with this\none; I think it's ready.\n"},{"id":"435267","messageId":"CABPp-BH1Zdh7esBKeUu9hr4tM9kO=dgpyDwCMnsJ=XGxpZ7RvQ@mail.gmail.com","threadId":"56466","inReplyTo":"d6721839-114a-3309-25aa-1926fa198bf7@gmail.com","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2021-09-09T14:23:41Z","receivedAt":"2021-09-09T14:43:53Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Wed, Sep 8, 2021 at 2:57 PM Derrick Stolee <stolee@gmail.com> wrote:\n>\n> On 9/8/2021 11:38 AM, Junio C Hamano wrote:> * ds/sparse-index-ignored-files (2021-09-07) 10 commits\n> >  - sparse-checkout: clear tracked sparse dirs\n> >  - sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag\n> >  - attr: be careful about sparse directories\n> >  - sparse-checkout: create helper methods\n> >  - sparse-index: use WRITE_TREE_MISSING_OK\n> >  - sparse-index: silently return when cache tree fails\n> >  - unpack-trees: fix nested sparse-dir search\n> >  - sparse-index: silently return when not using cone-mode patterns\n> >  - t7519: rewrite sparse index test\n> >  - Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files\n> >  (this branch is used by sg/test-split-index-fix.)\n> >\n> >  In cone mode, the sparse-index codepath learned to remove ignored\n> >  files (like build artifacts) outside the sparse cone, allowing the\n> >  entire directory outside the sparse cone to be removed, which is\n> >  especially useful when the sparse patterns change.\n> >\n> >  Will merge to 'next'?\n>\n> I think this one is ready to go. Elijah chimed in on the latest\n> version, too.\n\nYep, looks good to me.\n\n> This also means that perhaps we could start tracking the sparse\n> index integrations with merge, rebase, cherry-pick, and revert [1]?\n> This series has also had quite a bit of review, but the latest\n> version has not had an ack.\n>\n> [1] https://lore.kernel.org/git/pull.1019.v3.git.1631100241.gitgitgadget@gmail.com\n\nv2 was already nearly ready to go, with just some very minor comments\nand questions.  Your email responses to individual patches explained\nmost of the remaining bits, leaving just the typo, which you corrected\nin v3.  So, I went ahead and put my Reviewed-by on it.\n\nIf this series had been picked up by Junio and listed in the \"What's\ncooking\" email, I'd suggest it was also ready for next.\n\n> I also plan to send a new version of the --sparse RFC [2], which\n> is based on [1]. I don't want to get too far ahead of what the\n> community has capacity to review.\n>\n> [2] https://lore.kernel.org/git/pull.1018.git.1629842085.gitgitgadget@gmail.com/\n\nSorry for not responding.  I found a simple typo but wanted to have\nsomething more to say than just that.  I was happy with what looked\nlike the high level direction, and then noticed that Matheus was\ngiving you lots of good comments and he understood some of the details\nbetter than me.  I'll try to find some time to review when you send\nthe re-roll.\n"},{"id":"435284","messageId":"xmqq1r5x1w3n.fsf@gitster.g","threadId":"56466","inReplyTo":"c0c24993-77e2-51a1-c352-0399c59f1f94@ramsayjones.plus.com","subject":"Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-09-09T17:45:32Z","receivedAt":"2021-09-09T17:45:36Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ramsay Jones <ramsay@ramsayjones.plus.com> writes:\n\n> On 08/09/2021 16:38, Junio C Hamano wrote:\n>\n> test t5319-multi-pack-index.sh on 'seen' has been failing for\n> several days, so I had a quick look tonight. This issue relates\n> to the following two topics:\n> ...\n> The merge commit 24cade3ceb (\"Merge branch 'jb/midx-revindex-fix' into seen\",\n> 2021-09-07) basically takes two versions of the same patch and keeps both\n> versions of the same test. The two patches are:\n> ...\n> The second patch even includes an acknowledgment of 'Original-patch-by:\n> Johannes Berg <johannes@sipsolutions.net>' (ie the first patch).\n\nYou're right.\nThanks for helping me straighten the mess.\n\n\n"},{"id":"435364","messageId":"xmqqv939uis8.fsf@gitster.g","threadId":"56466","inReplyTo":"nycvar.QRO.7.76.6.2109091307070.59@tvgsbejvaqbjf.bet","subject":"Re: js/retire-preserve-merges, was Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-09-10T05:00:23Z","receivedAt":"2021-09-10T05:00:27Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> Hi Junio,\n>\n> On Wed, 8 Sep 2021, Junio C Hamano wrote:\n>\n>> * js/retire-preserve-merges (2021-09-07) 11 commits\n>>  - sequencer: restrict scope of a formerly public function\n>>  - rebase: remove a no-longer-used function\n>>  - rebase: stop mentioning the -p option in comments\n>>  - rebase: remove obsolete code comment\n>>  - rebase: drop the internal `rebase--interactive` command\n>>  - git-svn: drop support for `--preserve-merges`\n>>  - rebase: drop support for `--preserve-merges`\n>>  - pull: remove support for `--rebase=preserve`\n>>  - tests: stop testing `git rebase --preserve-merges`\n>>  - remote: warn about unhandled branch.<name>.rebase values\n>>  - t5520: do not use `pull.rebase=preserve`\n>>\n>>  The \"--preserve-merges\" option of \"git rebase\" has been removed.\n>>\n>>  Will merge to 'next'?\n>\n> I think so, given the rate of reviews still trickling in tending toward\n> zero.\n\nWe need to be careful about making our decision on such a trend.\nFor a later iteration, the lack of comments does not give us much\ninformation.  It can happen if all the comments have adequately been\naddressed, but it also can happen if none of the suggestions given\nin earlier rounds are addressed---the reviewers can easily give up\nand leave.\n\nI think I've followed the topic well enough to tell that it is the\nformer for this instance (i.e. the patches have been polished well\nenough).  Let's merge to 'next' so that we can keep it there long\nenough.\n\nThanks.\n\n> We probably want to keep it in `next` for quite a while, too, to make sure\n> that people get the memo.\n>\n> Ciao,\n> Dscho\n"},{"id":"435365","messageId":"xmqqr1dxuigf.fsf@gitster.g","threadId":"56466","inReplyTo":"nycvar.QRO.7.76.6.2109091308200.59@tvgsbejvaqbjf.bet","subject":"Re: mr/bisect-in-c-4, was Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-09-10T05:07:28Z","receivedAt":"2021-09-10T05:07:35Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> On Wed, 8 Sep 2021, Junio C Hamano wrote:\n>\n>> * mr/bisect-in-c-4 (2021-09-02) 6 commits\n>>  - bisect--helper: retire `--bisect-next-check` subcommand\n>>  - bisect--helper: reimplement `bisect_run` shell\n>>  - bisect--helper: reimplement `bisect_visualize()`shell function in C\n>>  - run-command: make `exists_in_PATH()` non-static\n>>  - t6030-bisect-porcelain: add test for bisect visualize\n>>  - t6030-bisect-porcelain: add tests to control bisect run exit cases\n>>\n>>  Rewrite of \"git bisect\" in C continues.\n>\n> From my point of view, this is ready for `next`.\n\nYou agreed that redirection with dup2()'s in [5/6] was good enough\nfor now [*1*], but in that case, we need to add a few fflush(stdout)\naround the dup2() dance [*2*].\n\nSo this is not quite ready for 'next' yet, although it is almost\nthere, I'd think.\n\n\n[References]\n\n*1* https://lore.kernel.org/git/nycvar.QRO.7.76.6.2109090922310.55@tvgsbejvaqbjf.bet/\n\n*2* https://lore.kernel.org/git/xmqqtuj2h7cp.fsf@gitster.g/\n"},{"id":"435368","messageId":"xmqqmtoluheu.fsf@gitster.g","threadId":"56466","inReplyTo":"nycvar.QRO.7.76.6.2109091314350.59@tvgsbejvaqbjf.bet","subject":"Re: ar/submodule-add-more, was Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-09-10T05:30:01Z","receivedAt":"2021-09-10T05:30:08Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> Hi Junio,\n>\n> On Wed, 8 Sep 2021, Junio C Hamano wrote:\n>\n>> * ar/submodule-add-more (2021-08-10) 10 commits\n>>  - submodule--helper: rename compute_submodule_clone_url()\n>>  - submodule--helper: remove resolve-relative-url subcommand\n>>  - submodule--helper: remove add-config subcommand\n>>  - submodule--helper: remove add-clone subcommand\n>>  - submodule--helper: convert the bulk of cmd_add() to C\n>>  - dir: libify and export helper functions from clone.c\n>>  - submodule--helper: remove repeated code in sync_submodule()\n>>  - submodule--helper: refactor resolve_relative_url() helper\n>>  - submodule--helper: add options for compute_submodule_clone_url()\n>>  - Merge branch 'ar/submodule-add-config' into ar/submodule-add\n>>  (this branch uses ar/submodule-add-config.)\n>>\n>>  More parts of \"git submoudle add\" has been rewritten in C.\n>>\n>>  Will merge to 'next'.\n>\n> If you use the description in the release notes, please\n> `s/submoudle/submodule/` first.\n\nThank you.\n"},{"id":"435373","messageId":"xmqqczpgvml9.fsf@gitster.g","threadId":"56466","inReplyTo":"nycvar.QRO.7.76.6.2109091259310.59@tvgsbejvaqbjf.bet","subject":"Re: js/scalar, was Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-09-10T08:52:50Z","receivedAt":"2021-09-10T08:52:57Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> On Wed, 8 Sep 2021, Junio C Hamano wrote:\n>\n>> * js/scalar (2021-09-03) 15 commits\n>>  ...\n>>\n>>  Add pieces from \"scalar\" to contrib/.\n>\n> Thank you for picking it up. It seems as if the reviews are starting to\n> decrease to a point where I could imagine that we can start talking about\n> how to refactor things to start bringing the benefits to Git proper.\n\nFor now I've given all what I thought about the patches I looked at,\nand I think a handful other folks made comments on them.  I am not\nkeeping track of which comments have not yet been addressed, but it\nseems that we hopefully do not need more than a couple more rounds.\n"},{"id":"435374","messageId":"nycvar.QRO.7.76.6.2109101132460.59@tvgsbejvaqbjf.bet","threadId":"56466","inReplyTo":"xmqqr1dxuigf.fsf@gitster.g","subject":"Re: mr/bisect-in-c-4, was Re: What's cooking in git.git (Sep 2021, #02; Wed, 8)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2021-09-10T09:33:10Z","receivedAt":"2021-09-10T09:33:20Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Thu, 9 Sep 2021, Junio C Hamano wrote:\n\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n>\n> > On Wed, 8 Sep 2021, Junio C Hamano wrote:\n> >\n> >> * mr/bisect-in-c-4 (2021-09-02) 6 commits\n> >>  - bisect--helper: retire `--bisect-next-check` subcommand\n> >>  - bisect--helper: reimplement `bisect_run` shell\n> >>  - bisect--helper: reimplement `bisect_visualize()`shell function in C\n> >>  - run-command: make `exists_in_PATH()` non-static\n> >>  - t6030-bisect-porcelain: add test for bisect visualize\n> >>  - t6030-bisect-porcelain: add tests to control bisect run exit cases\n> >>\n> >>  Rewrite of \"git bisect\" in C continues.\n> >\n> > From my point of view, this is ready for `next`.\n>\n> You agreed that redirection with dup2()'s in [5/6] was good enough\n> for now [*1*], but in that case, we need to add a few fflush(stdout)\n> around the dup2() dance [*2*].\n>\n> So this is not quite ready for 'next' yet, although it is almost\n> there, I'd think.\n\nOh right, I fogot about the `fflush()` stuff.\n\nThanks,\nDscho\n\n>\n>\n> [References]\n>\n> *1* https://lore.kernel.org/git/nycvar.QRO.7.76.6.2109090922310.55@tvgsbejvaqbjf.bet/\n>\n> *2* https://lore.kernel.org/git/xmqqtuj2h7cp.fsf@gitster.g/\n>\n"}]}