{"thread":{"id":"56576","subject":"What's cooking in git.git (Sep 2021, #07; Thu, 23)","startedAt":"2021-09-23T23:22:06Z","lastAt":"2021-09-27T17:34:46Z","messageCount":8,"participants":["Junio C Hamano","Taylor Blau","Elijah Newren","Carlo Marcelo Arenas Belón","Johannes Sixt","Andrzej Hunt"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"436907","messageId":"xmqqa6k2yj1j.fsf@gitster.g","threadId":"56576","inReplyTo":null,"subject":"What's cooking in git.git (Sep 2021, #07; Thu, 23)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-09-23T23:22:00Z","receivedAt":"2021-09-23T23:22:06Z","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\nThe eighth batch is out.\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* ab/gc-remove-unused-call (2021-09-12) 1 commit\n  (merged to 'next' on 2021-09-13 at 14f69ed198)\n + gc: remove unused launchctl_get_uid() call\n\n Code clean-up.\n\n\n* ab/http-drop-old-curl-plus (2021-09-13) 9 commits\n  (merged to 'next' on 2021-09-15 at 16aaab36f1)\n + http: don't hardcode the value of CURL_SOCKOPT_OK\n + http: centralize the accounting of libcurl dependencies\n + http: correct curl version check for CURLOPT_PINNEDPUBLICKEY\n + http: correct version check for CURL_HTTP_VERSION_2\n + http: drop support for curl < 7.18.0 (again)\n + Makefile: drop support for curl < 7.9.8 (again)\n + INSTALL: mention that we need libcurl 7.19.4 or newer to build\n + INSTALL: reword and copy-edit the \"libcurl\" section\n + INSTALL: don't mention the \"curl\" executable at all\n\n Conditional compilation around versions of libcURL has been\n straightened out.\n\n\n* ab/retire-option-argument (2021-09-12) 4 commits\n  (merged to 'next' on 2021-09-15 at 0bd7ce1161)\n + parse-options API: remove OPTION_ARGUMENT feature\n + difftool: use run_command() API in run_file_diff()\n + difftool: prepare \"diff\" cmdline in cmd_difftool()\n + difftool: prepare \"struct child_process\" in cmd_difftool()\n (this branch is used by da/difftool.)\n\n An oddball OPTION_ARGUMENT feature has been removed from the\n parse-options API.\n\n\n* ab/test-tool-run-command-cleanup (2021-09-12) 1 commit\n  (merged to 'next' on 2021-09-13 at 086310d0f4)\n + test-tool run-command: fix flip-flop init pattern\n\n Code clean-up.\n\n\n* ab/unused-script-helpers (2021-09-12) 4 commits\n  (merged to 'next' on 2021-09-15 at 14e6b0f26e)\n + test-lib: remove unused $_x40 and $_z40 variables\n + git-bisect: remove unused SHA-1 $x40 shell variable\n + git-sh-setup: remove unused \"pull with rebase\" message\n + git-submodule: remove unused is_zero_oid() function\n\n Code clean-up.\n\n\n* cb/plug-leaks-in-alloca-emu-users (2021-09-16) 2 commits\n  (merged to 'next' on 2021-09-16 at 2eecae2de3)\n + t0000: avoid masking git exit value through pipes\n + tree-diff: fix leak when not HAVE_ALLOCA_H\n\n Leakfix.\n\n\n* cb/unix-sockets-with-windows (2021-09-14) 3 commits\n  (merged to 'next' on 2021-09-16 at e2921332ef)\n + git-compat-util: include declaration for unix sockets in windows\n + credential-cache: check for windows specific errors\n + t0301: fixes for windows compatibility\n\n Adjust credential-cache helper to Windows.\n\n\n* en/am-abort-fix (2021-09-10) 3 commits\n  (merged to 'next' on 2021-09-13 at 11f3d2dc90)\n + am: fix incorrect exit status on am fail to abort\n + t4151: add a few am --abort tests\n + git-am.txt: clarify --abort behavior\n (this branch is used by en/removing-untracked-fixes.)\n\n When \"git am --abort\" fails to abort correctly, it still exited\n with exit status of 0, which has been corrected.\n\n\n* en/tests-cleanup-leftover-untracked (2021-09-12) 1 commit\n  (merged to 'next' on 2021-09-13 at cf38118205)\n + tests: remove leftover untracked files\n\n Test clean-up.\n\n\n* jk/http-server-protocol-versions (2021-09-10) 5 commits\n  (merged to 'next' on 2021-09-13 at 9174cd6d37)\n + docs/protocol-v2: point readers transport config discussion\n + docs/git: discuss server-side config for GIT_PROTOCOL\n + docs/http-backend: mention v2 protocol\n + http-backend: handle HTTP_GIT_PROTOCOL CGI variable\n + t5551: test v2-to-v0 http protocol fallback\n\n Taking advantage of the CGI interface, http-backend has been\n updated to enable protocol v2 automatically when the other side\n asks for it.\n\n\n* jk/strvec-typefix (2021-09-12) 1 commit\n  (merged to 'next' on 2021-09-13 at e07858581d)\n + strvec: use size_t to store nr and alloc\n\n Correct nr and alloc members of strvec struct to be of type size_t.\n\n\n* jt/submodule-name-to-gitdir (2021-09-15) 1 commit\n  (merged to 'next' on 2021-09-16 at c658fbfdb8)\n + submodule: extract path to submodule gitdir func\n\n Code refactoring.\n\n\n* kz/revindex-comment-fix (2021-09-15) 1 commit\n  (merged to 'next' on 2021-09-16 at b4797add3a)\n + pack-revindex.h: correct the time complexity descriptions\n\n Header comment fix.\n\n\n* ma/doc-git-version (2021-09-14) 1 commit\n  (merged to 'next' on 2021-09-16 at 54a6a3f8b5)\n + documentation: add documentation for 'git version'\n\n Doc update.\n\n\n* ma/help-w-check-for-requested-page (2021-09-14) 1 commit\n  (merged to 'next' on 2021-09-16 at 292dd7174d)\n + help: make sure local html page exists before calling external processes\n\n The error in \"git help no-such-git-command\" is handled better.\n\n\n* mr/bisect-in-c-4 (2021-09-13) 6 commits\n  (merged to 'next' on 2021-09-15 at 2af7f048d4)\n + bisect--helper: retire `--bisect-next-check` subcommand\n + bisect--helper: reimplement `bisect_run` shell function in C\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* po/git-config-doc-mentions-help-c (2021-09-13) 1 commit\n  (merged to 'next' on 2021-09-13 at bddbd5c25d)\n + doc: config, tell readers of `git help --config`\n\n Doc update.\n\n\n* ps/update-ref-batch-flush (2021-09-15) 2 commits\n  (merged to 'next' on 2021-09-15 at 39a69141e3)\n + t1400: avoid SIGPIPE race condition on fifo\n  (merged to 'next' on 2021-09-10 at 4ae19a5f34)\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\n* rs/drop-core-compression-vars (2021-09-12) 1 commit\n  (merged to 'next' on 2021-09-13 at 3bd06626c3)\n + compression: drop write-only core_compression_* variables\n\n Code clean-up.\n\n\n* rs/packfile-bad-object-list-in-oidset (2021-09-12) 5 commits\n  (merged to 'next' on 2021-09-13 at 80e72f5f97)\n + packfile: use oidset for bad objects\n + packfile: convert has_packed_and_bad() to object_id\n + packfile: convert mark_bad_packed_object() to object_id\n + midx: inline nth_midxed_pack_entry()\n + oidset: make oidset_size() an inline function\n\n Replace a handcrafted data structure used to keep track of bad\n objects in the packfile API by an oidset.\n\n\n* rs/use-xopen-in-index-pack (2021-09-10) 1 commit\n  (merged to 'next' on 2021-09-16 at 186eaaae56)\n + index-pack: use xopen in init_thread\n\n Code clean-up.\n\n--------------------------------------------------\n[New Topics]\n\n* ab/make-clean-depend-dirs (2021-09-22) 1 commit\n - Makefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes\n\n \"make clean\" has been updated to remove leftover .depend/\n directories, even when it is not told to use them to compute header\n dependencies.\n\n Will merge to 'next'.\n\n\n* bs/ls-files-opt-help-text-update (2021-09-22) 1 commit\n - ls-files: use imperative mood for -X and -z option description\n\n Help test for \"ls-files\" options have been updated.\n\n Will merge to 'next'.\n\n\n* cb/make-compdb-fix (2021-09-22) 1 commit\n - Makefile: avoid breaking compilation database generation with DEVELOPER\n\n Adjust to recent change to use -pedantic for developer builds.\n\n Will merge to 'next'.\n\n\n* ds/perf-test-built-path-fix (2021-09-22) 1 commit\n - t/perf/run: fix bin-wrappers computation\n\n Perf test fix.\n\n Will merge to 'next'.\n\n\n* gc/doc-first-contribution-reroll (2021-09-22) 1 commit\n - MyFirstContribution: Document --range-diff option when writing v2\n\n Doc update.\n\n Will merge to 'next'.\n\n\n* jk/grep-haystack-is-read-only (2021-09-22) 5 commits\n - grep: store grep_source buffer as const\n - grep: mark \"haystack\" buffers as const\n - grep: stop modifying buffer in grep_source_1()\n - grep: stop modifying buffer in show_line()\n - grep: stop modifying buffer in strip_timestamp\n (this branch is used by hm/paint-hits-in-log-grep.)\n\n Code clean-up in the \"grep\" machinery.\n\n Will merge to 'next'.\n\n\n* jk/http-redact-fix (2021-09-22) 1 commit\n - http: match headers case-insensitively when redacting\n\n Sensitive data in the HTTP trace were supposed to be redacted, but\n we failed to do so in HTTP/2 requests.\n\n Will merge to 'next'.\n\n\n* js/win-lazyload-buildfix (2021-09-23) 2 commits\n - lazyload.h: use an even more generic function pointer than FARPROC\n - lazyload.h: fix warnings about mismatching function pointer types\n\n Compilation fix.\n\n Will merge to 'next'.\n\n\n* ab/auto-depend-with-pedantic (2021-09-22) 1 commit\n - Makefile: make COMPUTE_HEADER_DEPENDENCIES=auto work with DEVOPTS=pedantic\n\n Improve build procedure for developers.\n\n Will merge to 'next'.\n\n\n* ab/make-sparse-for-real (2021-09-22) 1 commit\n - Makefile: make the \"sparse\" target non-.PHONY\n\n Prevent \"make sparse\" from running for the source files that\n haven't been modified.\n\n\n* bs/difftool-msg-tweak (2021-09-22) 1 commit\n - difftool: fix word spacing in the usage strings\n\n Message tweak.\n\n Will merge to 'next'.\n\n\n* ew/midx-doc-update (2021-09-23) 1 commit\n - doc/technical: update note about core.multiPackIndex\n\n Doc tweak.\n\n Will merge to 'next'.\n\n\n* jt/no-abuse-alternate-odb-for-submodules (2021-09-22) 10 commits\n - submodule: trace adding submodule ODB as alternate\n - refs: change refs_for_each_ref_in() to take repo\n - submodule: pass repo to check_has_commit()\n - object-file: only register submodule ODB if needed\n - merge-{ort,recursive}: remove add_submodule_odb()\n - refs: teach refs_for_each_ref() arbitrary repos\n - refs iterator: support non-the_repository advance\n - refs: add repo paramater to _iterator_peel()\n - refs: make _advance() check struct repo, not flag\n - Merge branch 'jt/add-submodule-odb-clean-up' into jt/no-abuse-alternate-odb-for-submodules\n (this branch uses jt/add-submodule-odb-clean-up.)\n\n Follow through the work to use the repo interface to access\n submodule objects in-process, instead of abusing the alternate\n object database interface.\n\n\n* tp/send-email-completion (2021-09-22) 3 commits\n - send-email docs: add format-patch options\n - send-email: move bash completions to core script\n - send-email: terminate --git-completion-helper with LF\n\n The command line complation for \"git send-email\" options have been\n tweaked to make it easier to keep it in sync with the command itself.\n\n\n* hm/paint-hits-in-log-grep (2021-09-23) 3 commits\n - pretty: colorize pattern matches in commit messages\n - grep: refactor next_match() and match_one_pattern() for external use\n - Merge branch 'jk/grep-haystack-is-read-only' into hm/paint-hits-in-log-grep\n (this branch uses jk/grep-haystack-is-read-only.)\n\n \"git log --grep=string --author=name\" learns to highlight hits just\n like \"git grep string\" does.\n\n--------------------------------------------------\n[Stalled]\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 Expecting a reroll.\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 Kicked out of 'seen' tentatively to see how well a conflicting\n ar/submodule-update topic fares.\n\n\n* ab/fsck-unexpected-type (2021-09-22) 17 commits\n - fsck: report invalid object type-path combinations\n - fsck: don't hard die on invalid object types\n - object-file.c: stop dying in parse_loose_header()\n - object-file.c: return ULHR_TOO_LONG on \"header too long\"\n - object-file.c: use \"enum\" return type for unpack_loose_header()\n - object-file.c: simplify unpack_loose_short_header()\n - object-file.c: make parse_loose_header_extended() public\n - object-file.c: return -1, not \"status\" from unpack_loose_header()\n - object-file.c: don't set \"typep\" when returning non-zero\n - cat-file tests: test for current --allow-unknown-type behavior\n - cat-file tests: add corrupt loose object test\n - cat-file tests: test for missing/bogus object with -t, -s and -p\n - cat-file tests: move bogus_* variable declarations earlier\n - fsck tests: test for garbage appended to a loose object\n - fsck tests: test current hash/type mismatch behavior\n - fsck tests: refactor one test to use a sub-repo\n - fsck tests: add test for fsck-ing an unknown type\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* ab/repo-settings-cleanup (2021-09-22) 5 commits\n - repository.h: don't use a mix of int and bitfields\n - repo-settings.c: simplify the setup\n - read-cache & fetch-negotiator: check \"enum\" values in switch()\n - environment.c: remove test-specific \"ignore_untracked...\" variable\n - wrapper.c: add x{un,}setenv(), and use xsetenv() in environment.c\n\n Code cleanup.\n\n Will merge to 'next'.\n\n\n* ah/connect-parse-feature-v0-fix (2021-09-23) 1 commit\n - connect: also update offset for features without values\n\n Protocol v0 clients can get stuck parsing a malformed feature line.\n\n Will merge to 'next'.\n\n\n* ah/unreak-revisions (2021-09-20) 2 commits\n - log: UNLEAK original pending objects\n - log: UNLEAK rev to silence a large number of leaks\n\n Mark a few structures with UNLEAK() to help leak detection CI jobs.\n\n Will merge to 'next'.\n\n\n* ar/submodule-update (2021-09-20) 8 commits\n - submodule--helper: rename helper functions\n - submodule--helper: remove unused helpers\n - submodule--helper: remove update-clone subcommand\n - submodule: move core cmd_update() logic to C\n - submodule--helper: refactor get_submodule_displaypath()\n - submodule--helper: rename helpers for update-clone\n - submodule--helper: get remote names from any repository\n - submodule--helper: split up ensure_core_worktree()\n\n Rewrite of \"git submodule update\" in C.\n\n Expecting a reroll.\n Stomps on a handful of other topics and comes with an overly large step.\n\n\n* da/difftool (2021-09-23) 4 commits\n - difftool: add a missing space to the run_dir_diff() comments\n - difftool: create a tmpdir path without repeated slashes\n - Merge branch 'da/difftool-dir-diff-symlink-fix' into da/difftool\n - Merge branch 'ab/retire-option-argument' into da/difftool\n (this branch uses da/difftool-dir-diff-symlink-fix.)\n\n Code clean-up in \"git difftool\".\n\n Will merge to 'next'?\n\n\n* da/difftool-dir-diff-symlink-fix (2021-09-23) 1 commit\n - difftool: fix symlink-file writing in dir-diff mode\n (this branch is used by da/difftool.)\n\n \"git difftool --dir-diff\" mishandled symbolic links.\n\n Will merge to 'next'.\n\n\n* en/removing-untracked-fixes (2021-09-20) 7 commits\n - Documentation: call out commands that nuke untracked files/directories\n - Comment important codepaths regarding nuking untracked files/dirs\n - unpack-trees: avoid nuking untracked dir in way of locally deleted file\n - unpack-trees: avoid nuking untracked dir in way of unmerged file\n - Split unpack_trees 'reset' flag into two for untracked handling\n - t2500: add various tests for nuking untracked files\n - Merge branch 'en/am-abort-fix' into en/removing-untracked-fixes\n\n Various fixes in code paths that move untracked files away to make room.\n\n\n* en/typofixes (2021-09-20) 2 commits\n  (merged to 'next' on 2021-09-20 at 48648dafa3)\n + merge-ort: fix completely wrong comment\n + trace2.h: fix trivial comment typo\n\n Typofixes.\n\n Will merge to 'master'.\n\n\n* ks/submodule-add-message-fix (2021-09-20) 1 commit\n - submodule--helper: fix incorrect newlines in an error message\n\n Message regression fix.\n\n Will merge to 'next'.\n\n\n* tb/commit-graph-usage-fix (2021-09-22) 2 commits\n - builtin/multi-pack-index.c: disable top-level --[no-]progress\n - builtin/commit-graph.c: don't accept common --[no-]progress\n\n Regression fix for \"git commit-graph\" command line parsing.\n\n Will merge to 'next'.\n\n\n* ws/refer-to-forkpoint-config-in-rebase-doc (2021-09-20) 1 commit\n - Document `rebase.forkpoint` in rebase man page\n\n Doc update.\n\n Will merge to 'next'?\n\n\n* jk/clone-unborn-head-in-bare (2021-09-20) 1 commit\n  (merged to 'next' on 2021-09-20 at 93c93b8d51)\n + clone: handle unborn branch in bare repos\n\n \"git clone\" from a repository whose HEAD is unborn into a bare\n repository didn't follow the branch name the other side used, which\n is corrected.\n\n Will merge to 'master'.\n\n\n* jk/reduce-malloc-in-v2-servers (2021-09-15) 12 commits\n  (merged to 'next' on 2021-09-16 at 40cfe41efc)\n + ls-refs: reject unknown arguments\n + serve: reject commands used as capabilities\n + serve: reject bogus v2 \"command=ls-refs=foo\"\n + docs/protocol-v2: clarify some ls-refs ref-prefix details\n + ls-refs: ignore very long ref-prefix counts\n + serve: drop \"keys\" strvec\n + serve: provide \"receive\" function for session-id capability\n + serve: provide \"receive\" function for object-format capability\n + serve: add \"receive\" method for v2 capabilities table\n + serve: return capability \"value\" from get_capability()\n + serve: rename is_command() to parse_command()\n + Merge branch 'ab/serve-cleanup' into jk/reduce-malloc-in-v2-servers\n\n Code cleanup to limit memory consumption and tighten protocol\n message parsing.\n\n Will merge to 'master'.\n\n\n* ns/batched-fsync (2021-09-22) 6 commits\n - core.fsyncobjectfiles: performance tests for add and stash\n - core.fsyncobjectfiles: tests for batch mode\n - update-index: use the bulk-checkin infrastructure\n - core.fsyncobjectfiles: add windows support for batch mode\n - core.fsyncobjectfiles: batched disk flushes\n - bulk-checkin: rename 'state' variable and separate 'plugged' boolean\n\n The \"core.fsyncobjectfiles\" configuration variable can now be set\n to \"batch\" for improved performance.\n\n\n* jh/builtin-fsmonitor-part1 (2021-09-20) 7 commits\n - t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command\n - run-command: create start_bg_command\n - simple-ipc/ipc-win32: add Windows ACL to named pipe\n - simple-ipc/ipc-win32: add trace2 debugging\n - simple-ipc: move definition of ipc_active_state outside of ifdef\n - simple-ipc: preparations for supporting binary messages.\n - trace2: add trace2_child_ready() to report on background children\n\n Built-in fsmonitor (part 1).\n\n\n* cb/cvsserver (2021-09-16) 3 commits\n  (merged to 'next' on 2021-09-23 at 98f5f3f9cf)\n + Documentation: cleanup git-cvsserver\n + git-cvsserver: protect against NULL in crypt(3)\n + git-cvsserver: use crypt correctly to compare password hashes\n\n \"git cvsserver\" had a long-standing bug in its authentication code,\n which has finally been corrected (it is unclear and is a separate\n question if anybody is seriously using it, though).\n\n Will merge to 'master'.\n\n\n* cb/unicode-14 (2021-09-17) 1 commit\n  (merged to 'next' on 2021-09-20 at 7873b310ad)\n + unicode: update the width tables to Unicode 14\n\n The unicode character width table (used for output alignment) has\n been updated.\n\n Will merge to 'master'.\n\n\n* ab/align-parse-options-help (2021-09-22) 4 commits\n - parse-options: properly align continued usage output\n - git rev-parse --parseopt tests: add more usagestr tests\n - send-pack: properly use parse_options() API for usage string\n - parse-options API users: align usage output in C-strings\n\n When \"git cmd -h\" shows more than one line of usage text (e.g.\n the cmd subcommand may take sub-sub-command), parse-options API\n learned to align these lines, even across i18n/l10n.\n\n Will merge to 'next'?\n\n\n* ab/help-config-vars (2021-09-23) 9 commits\n - help: move column config discovery to help.c library\n - help / completion: make \"git help\" do the hard work\n - help tests: test --config-for-completion option & output\n - help: simplify by moving to OPT_CMDMODE()\n - help: correct logic error in combining --all and --guides\n - help: correct logic error in combining --all and --config\n - help tests: add test for --config output\n - help: correct usage & behavior of \"git help --guides\"\n - help: correct the usage string in -h and documentation\n\n Teach \"git help -c\" into helping the command line completion of\n configuration variables.\n\n Will merge to 'next'?\n\n\n* tb/repack-write-midx (2021-09-16) 8 commits\n - builtin/repack.c: pass `--refs-snapshot` when writing bitmaps\n - builtin/repack.c: make largest pack preferred\n - builtin/repack.c: support writing a MIDX while repacking\n - builtin/repack.c: extract showing progress to a variable\n - builtin/repack.c: keep track of existing packs unconditionally\n - midx: preliminary support for `--refs-snapshot`\n - builtin/multi-pack-index.c: support `--stdin-packs` mode\n - midx: expose `write_midx_file_only()` publicly\n\n \"git repack\" has been taught to generate multi-pack reachability\n bitmaps.\n\n Will merge to 'next'?\n\n\n* ds/add-rm-with-sparse-index (2021-09-22) 14 commits\n - advice: update message to suggest '--sparse'\n - mv: refuse to move sparse paths\n - rm: skip sparse paths with missing SKIP_WORKTREE\n - rm: add --sparse option\n - add: update --renormalize to skip sparse paths\n - add: update --chmod to skip sparse paths\n - add: implement the --sparse option\n - add: skip tracked paths outside sparse-checkout cone\n - add: fail when adding an untracked sparse file\n - dir: fix pattern matching on dirs\n - dir: select directories correctly\n - dir: extract directory-matching logic\n - t1092: behavior for adding sparse files\n - t3705: test that 'sparse_entry' is unstaged\n\n \"git add\", \"git mv\", and \"git rm\" have been adjusted to avoid\n updating paths outside of the sparse-checkout definition unless\n the user specifies a \"--sparse\" option.\n\n\n* tb/midx-write-propagate-namehash (2021-09-17) 7 commits\n - t5326: test propagating hashcache values\n - p5326: generate pack bitmaps before writing the MIDX bitmap\n - p5326: don't set core.multiPackIndex unnecessarily\n - p5326: create missing 'perf-tag' tag\n - midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps\n - pack-bitmap.c: propagate namehash values from existing bitmaps\n - t/helper/test-bitmap.c: add 'dump-hashes' mode\n\n \"git multi-pack-index write --bitmap\" learns to propagate the\n hashcache from original bitmap to resulting bitmap.\n\n Will merge to 'next'?\n\n\n* pw/rebase-of-a-tag-fix (2021-09-22) 10 commits\n - rebase: dereference tags\n - rebase: use lookup_commit_reference_by_name()\n - rebase: use our standard error return value\n - t3407: rework rebase --quit tests\n - t3407: strengthen rebase --abort tests\n - t3407: use test_path_is_missing\n - t3407: rename a variable\n - t3407: use test_cmp_rev\n - t3407: use test_commit\n - t3407: run tests in $TEST_DIRECTORY\n\n \"git rebase <upstream> <tag>\" failed when aborted in the middle, as\n it mistakenly tried to write the tag object instead of peeling it\n to HEAD.\n\n Will merge to 'next'?\n\n\n* en/zdiff3 (2021-09-20) 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\n* en/stash-df-fix (2021-09-10) 3 commits\n  (merged to 'next' on 2021-09-20 at 513c11fb11)\n + stash: restore untracked files AFTER restoring tracked files\n + stash: avoid feeding directories to update-index\n + t3903: document a pair of directory/file bugs\n\n Fix \"git stash\" corner case where the tentative change involves\n changing a directory to a file (or vice versa).\n\n Will merge to 'master'.\n\n\n* jt/add-submodule-odb-clean-up (2021-09-09) 3 commits\n - revision: remove \"submodule\" from opt struct\n - repository: support unabsorbed in repo_submodule_init\n - submodule: remove unnecessary unabsorbed fallback\n (this branch is used by jt/no-abuse-alternate-odb-for-submodules.)\n\n More code paths that uses the hack to add submodule's object\n database to the set of alternate object store have been cleaned up.\n\n Will merge to 'next'.\n\n\n* jx/ci-l10n (2021-09-09) 1 commit\n  (merged to 'next' on 2021-09-23 at b2d7f5eecb)\n + ci: new github-action for git-l10n code review\n\n CI help for l10n.\n\n Will merge to 'master'.\n\n\n* js/scalar (2021-09-14) 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* ab/sanitize-leak-ci (2021-09-23) 2 commits\n - tests: add a test mode for SANITIZE=leak, run it in CI\n - Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS\n\n CI learns to run the leak sanitizer builds.\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* js/retire-preserve-merges (2021-09-07) 11 commits\n  (merged to 'next' on 2021-09-10 at f645ffd7a3)\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 cook in 'next'.\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\n Test updates.\n\n Will merge to 'next'?\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/lib-subtest (2021-09-22) 9 commits\n - test-lib tests: get rid of copy/pasted mock test code\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: don't provide a description for the sub-tests\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-09-22) 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\n* fs/ssh-signing (2021-09-10) 9 commits\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. <pull.1041.v8.git.git.1631304462.gitgitgadget@gmail.com>\n cf. <532d97e7-8c91-df6a-6d90-70668256f513@gigacodes.de>\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* 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 Expecting a reroll.\n cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com>\n\n\n* hn/reftable (2021-09-10) 20 commits\n - fixup! reftable: implement stack, a mutable database of reftable files.\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 Will merge to 'next'?\n\n\n* ab/refs-files-cleanup (2021-08-25) 13 commits\n  (merged to 'next' on 2021-09-23 at eb5668523f)\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 Will merge to 'master'.\n\n\n* hn/refs-errno-cleanup (2021-08-25) 4 commits\n  (merged to 'next' on 2021-09-23 at 502e6b6b08)\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 call chain.\n\n Will merge to 'master'.\n\n--------------------------------------------------\n[Discarded]\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 Have been stalled for too long.\n cf. <20210504220153.1d9f0cb2@ado-tr>\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 Have been stalled for too long.\n cf. <CAKu1iLUaLuAZWqjNK4tfhhR=YaSt4MdQ+90ZY-JcEh_SeHyYCw@mail.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 Will be rerolled in pieces.\n\n\n* ab/config-based-hooks-base (2021-09-09) 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()\" instead of \"find_hook()\"\n . hook.c: add a hook_exists() wrapper and use it in bugreport.c\n . hook.[ch]: move find_hook() from run-command.c to hook.c\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 Will be rerolled in pieces.\n\n\n* es/config-based-hooks (2021-09-09) 6 commits\n . hook: allow out-of-repo 'git hook' invocations\n . hook: include hooks from the config\n . hook: introduce \"git hook list\"\n . hook: allow parallel hook execution\n . fixup! hook: run a list of hooks instead\n . hook: run a list of hooks instead\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"},{"id":"436909","messageId":"YU0TS+KsWY36oeKU@nand.local","threadId":"56576","inReplyTo":"xmqqa6k2yj1j.fsf@gitster.g","subject":"Re: What's cooking in git.git (Sep 2021, #07; Thu, 23)","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2021-09-23T23:52:43Z","receivedAt":"2021-09-23T23:52:46Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Thu, Sep 23, 2021 at 04:22:00PM -0700, Junio C Hamano wrote:\n> * tb/commit-graph-usage-fix (2021-09-22) 2 commits\n>  Will merge to 'next'.\n\nThanks, this pair of trivial fixes hopefully shouldn't cause many\nissues ;).\n\n> * tb/repack-write-midx (2021-09-16) 8 commits\n>  Will merge to 'next'?\n\nProbably good to hold off; I know that Google folks made this the\nsubject of their review club meeting, and had only gotten part of the\nway through the series.\n\n> * tb/midx-write-propagate-namehash (2021-09-17) 7 commits\n>  Will merge to 'next'?\n\nYes, please. Peff reviewed this and was happy with the latest version,\nwhich matches your copy.\n\nc.f., https://lore.kernel.org/git/YUUS4Mrh85KPucmi@coredump.intra.peff.net/\n\nThanks,\nTaylor\n"},{"id":"436913","messageId":"CABPp-BFXrdj7ZV5LYW0cLghzX1Q8a=NuBfWaUsj4JO9m+v7yxw@mail.gmail.com","threadId":"56576","inReplyTo":"xmqqa6k2yj1j.fsf@gitster.g","subject":"Re: What's cooking in git.git (Sep 2021, #07; Thu, 23)","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2021-09-24T01:30:21Z","receivedAt":"2021-09-24T01:30:35Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Thu, Sep 23, 2021 at 4:24 PM Junio C Hamano <gitster@pobox.com> wrote:\n\n> * pw/rebase-of-a-tag-fix (2021-09-22) 10 commits\n>  - rebase: dereference tags\n>  - rebase: use lookup_commit_reference_by_name()\n>  - rebase: use our standard error return value\n>  - t3407: rework rebase --quit tests\n>  - t3407: strengthen rebase --abort tests\n>  - t3407: use test_path_is_missing\n>  - t3407: rename a variable\n>  - t3407: use test_cmp_rev\n>  - t3407: use test_commit\n>  - t3407: run tests in $TEST_DIRECTORY\n>\n>  \"git rebase <upstream> <tag>\" failed when aborted in the middle, as\n>  it mistakenly tried to write the tag object instead of peeling it\n>  to HEAD.\n>\n>  Will merge to 'next'?\n\nI think so; the series looks good to me, and it appears Phillip\naddressed everyone else's feedback.\n"},{"id":"436935","messageId":"YU2W24RUaN4OHrcn@carlos-mbp.lan","threadId":"56576","inReplyTo":"xmqqa6k2yj1j.fsf@gitster.g","subject":"js/win-lazyload-buildfix (was Re: What's cooking in git.git (Sep 2021, #07; Thu, 23))","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2021-09-24T09:14:03Z","receivedAt":"2021-09-24T09:14:08Z","isPatch":false,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"On Thu, Sep 23, 2021 at 04:22:00PM -0700, Junio C Hamano wrote:\n> \n> * js/win-lazyload-buildfix (2021-09-23) 2 commits\n>  - lazyload.h: use an even more generic function pointer than FARPROC\n>  - lazyload.h: fix warnings about mismatching function pointer types\n> \n>  Compilation fix.\n> \n>  Will merge to 'next'.\n\nSorry to hijack this thread with this minor point, but I was hoping[1]\nfrom a reroll of this topic from Hannes.\n\nAlternatively the patch below the scissors would be nice to squash or\nit will be harder to fix later.\n\nCarlo\n\nCC: +Hannes\n[1] https://lore.kernel.org/git/CAPUEspivB=07OponiMrfXFBrC+L7qjSUuZEV9q-Ug5Z_ShnFNA@mail.gmail.com/\n----- >8 -----\nSubject: [PATCH] fixup! lazyload.h: fix warnings about mismatching function\n pointer types\n\nThe original patch will require the declaration this macro creates\nto be moved to the end of the local variables or will trigger\n-Wdeclaration-after-statement because it will likely end in \";;\" if\nthe macro call has one, as it is common.\n\nRemove trailing ';' from macro definition, for easy of use.\n\nSigned-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n---\n compat/win32/lazyload.h | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/compat/win32/lazyload.h b/compat/win32/lazyload.h\nindex c688e545ad..2b3637135f 100644\n--- a/compat/win32/lazyload.h\n+++ b/compat/win32/lazyload.h\n@@ -29,7 +29,7 @@ struct proc_addr {\n \tstatic struct proc_addr proc_addr_##function = \\\n \t{ #dll, #function, NULL, 0 }; \\\n \ttypedef rettype (WINAPI *proc_type_##function)(__VA_ARGS__); \\\n-\tstatic proc_type_##function function;\n+\tstatic proc_type_##function function\n \n /*\n  * Loads a function from a DLL (once-only).\n-- \n2.33.0.955.gee03ddbf0e\n\n"},{"id":"436952","messageId":"xmqqv92qvva3.fsf@gitster.g","threadId":"56576","inReplyTo":"YU2W24RUaN4OHrcn@carlos-mbp.lan","subject":"Re: js/win-lazyload-buildfix (was Re: What's cooking in git.git (Sep 2021, #07; Thu, 23))","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-09-24T15:38:12Z","receivedAt":"2021-09-24T15:38:16Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón <carenas@gmail.com> writes:\n\n> On Thu, Sep 23, 2021 at 04:22:00PM -0700, Junio C Hamano wrote:\n>> \n>> * js/win-lazyload-buildfix (2021-09-23) 2 commits\n>>  - lazyload.h: use an even more generic function pointer than FARPROC\n>>  - lazyload.h: fix warnings about mismatching function pointer types\n>> \n>>  Compilation fix.\n>> \n>>  Will merge to 'next'.\n>\n> Sorry to hijack this thread with this minor point, but I was hoping[1]\n> from a reroll of this topic from Hannes.\n>\n> Alternatively the patch below the scissors would be nice to squash or\n> it will be harder to fix later.\n\nYour message is *not* hijacking the topic.  What's cooking reports\nare designed to invite a comment like yours to stop me from acting\non my faulty understanding of the status of each topic.\n\nThanks.  Will hold to see what J6t says.\n\n\n\n"},{"id":"437049","messageId":"3f963bba-3197-8c52-9828-6d78ef1d25b1@kdbg.org","threadId":"56576","inReplyTo":"YU2W24RUaN4OHrcn@carlos-mbp.lan","subject":"Re: js/win-lazyload-buildfix (was Re: What's cooking in git.git (Sep 2021, #07; Thu, 23))","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2021-09-24T21:30:38Z","receivedAt":"2021-09-24T21:30:43Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 24.09.21 um 11:14 schrieb Carlo Marcelo Arenas Belón:\n> Subject: [PATCH] fixup! lazyload.h: fix warnings about mismatching function\n>  pointer types\n> \n> The original patch will require the declaration this macro creates\n> to be moved to the end of the local variables or will trigger\n> -Wdeclaration-after-statement because it will likely end in \";;\" if\n> the macro call has one, as it is common.\n> \n> Remove trailing ';' from macro definition, for easy of use.\n> \n> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n> ---\n>  compat/win32/lazyload.h | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/compat/win32/lazyload.h b/compat/win32/lazyload.h\n> index c688e545ad..2b3637135f 100644\n> --- a/compat/win32/lazyload.h\n> +++ b/compat/win32/lazyload.h\n> @@ -29,7 +29,7 @@ struct proc_addr {\n>  \tstatic struct proc_addr proc_addr_##function = \\\n>  \t{ #dll, #function, NULL, 0 }; \\\n>  \ttypedef rettype (WINAPI *proc_type_##function)(__VA_ARGS__); \\\n> -\tstatic proc_type_##function function;\n> +\tstatic proc_type_##function function\n>  \n>  /*\n>   * Loads a function from a DLL (once-only).\n> \n\nGood find! This looks correct. The trailing semicolon was not present\nbefore I added it with my change. Thank you very much for fixing up my\ncarelessness.\n\n-- Hannes\n"},{"id":"437086","messageId":"95edb81b-f440-50eb-77e6-282de1a452d6@ahunt.org","threadId":"56576","inReplyTo":"xmqqa6k2yj1j.fsf@gitster.g","subject":"Re: What's cooking in git.git (Sep 2021, #07; Thu, 23)","fromName":"Andrzej Hunt","fromEmail":"andrzej@ahunt.org","sentAt":"2021-09-26T16:00:06Z","receivedAt":"2021-09-26T16:00:13Z","isPatch":false,"sender":{"key":"andrzej@ahunt.org","avatar":"https://avatars.githubusercontent.com/u/1546915?v=4"},"body":"\n\nOn 24/09/2021 01:22, Junio C Hamano wrote:\n> * ah/connect-parse-feature-v0-fix (2021-09-23) 1 commit\n>   - connect: also update offset for features without values\n> \n>   Protocol v0 clients can get stuck parsing a malformed feature line.\n> \n>   Will merge to 'next'.\n> \n\nI hope it's not too late - I ended up sending out a V2 at:\nhttps://public-inbox.org/git/e1395ff2-e697-83b2-082b-d5468b7a11ac@ahunt.org/T/#md3a45bb0fdf9cfd49e0fabdb1b21cd045df523c5\n\nThe differences are:\n- Peff's test (and most importantly: test stability) improvements - \nwhich you might already have incorporated - from \nhttps://public-inbox.org/git/e1395ff2-e697-83b2-082b-d5468b7a11ac@ahunt.org/T/#m5cac36b2e4aa03d452a391a3c9d2495c3a423810\n- An attempt at improving the commit message, which isn't crucial.\n\nATB,\n\n     Andrzej\n\n"},{"id":"437166","messageId":"xmqqbl4drkii.fsf@gitster.g","threadId":"56576","inReplyTo":"95edb81b-f440-50eb-77e6-282de1a452d6@ahunt.org","subject":"Re: What's cooking in git.git (Sep 2021, #07; Thu, 23)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-09-27T17:33:25Z","receivedAt":"2021-09-27T17:34:46Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Andrzej Hunt <andrzej@ahunt.org> writes:\n\n> On 24/09/2021 01:22, Junio C Hamano wrote:\n>> * ah/connect-parse-feature-v0-fix (2021-09-23) 1 commit\n>>   - connect: also update offset for features without values\n>>   Protocol v0 clients can get stuck parsing a malformed feature\n>> line.\n>>   Will merge to 'next'.\n>> \n>\n> I hope it's not too late - I ended up sending out a V2 at:\n> https://public-inbox.org/git/e1395ff2-e697-83b2-082b-d5468b7a11ac@ahunt.org/T/#md3a45bb0fdf9cfd49e0fabdb1b21cd045df523c5\n\nThanks.  Will take a look.\n"}]}