{"thread":{"id":"57251","subject":"[ANNOUNCE] Git v2.35.0-rc1","startedAt":"2022-01-15T02:19:05Z","lastAt":"2022-01-17T18:52:25Z","messageCount":4,"participants":["Junio C Hamano","rsbecker@nexbridge.com"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"446285","messageId":"xmqq35lp68rw.fsf@gitster.g","threadId":"57251","inReplyTo":null,"subject":"[ANNOUNCE] Git v2.35.0-rc1","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-01-15T02:18:59Z","receivedAt":"2022-01-15T02:19:05Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"A release candidate Git v2.35.0-rc1 is now available for testing at\nthe usual places.  It is comprised of 467 non-merge commits since\nv2.34.0, contributed by 80 people, 32 of which are new faces [*].\n\nThe tarballs are found at:\n\n    https://www.kernel.org/pub/software/scm/git/testing/\n\nThe following public repositories all have a copy of the\n'v2.35.0-rc1' tag and the 'master' branch that the tag points at:\n\n  url = https://git.kernel.org/pub/scm/git/git\n  url = https://kernel.googlesource.com/pub/scm/git/git\n  url = git://repo.or.cz/alt-git.git\n  url = https://github.com/gitster/git\n\nNew contributors whose contributions weren't in v2.34.0 are as follows.\nWelcome to the Git development community!\n\n  AJ Henderson, Alex Waite, Baruch Burstein, Calbabreaker, Calvin\n  Wan, Christoph Reiter, Clemens Fruhwirth, Danial Alihosseini,\n  Dotan Cohen, Enzo Matsumiya, Erwin Villejo, Gustave Granroth,\n  Hans Krentel (hakre), Ivan Frade, James Limbouris, Jan Pokorný,\n  Joel Holdsworth, John Burnett, John Cai, Josh Rampersad, Kashav\n  Madan, Lessley Dennington, Matt Cooper, Matthew John Cheetham,\n  Mike Marcelais, Mugdha Pattnaik, Nikita Bobko, Robin Jarry,\n  Thiago Perrotta, Thomas Weißschuh, William Sprent, and 徐沛文\n  (Aleen).\n\nReturning contributors who helped this release are as follows.\nThanks for your continued support.\n\n  Ævar Arnfjörð Bjarmason, Alex Henrie, Anders Kaseorg,\n  Bagas Sanjaya, brian m. carlson, Carlo Marcelo Arenas Belón,\n  Derrick Stolee, Elijah Newren, Eli Schwartz, Eric Sunshine,\n  Eric Wong, Fabian Stelzer, Glen Choo, Greg Hurrell, Han-Wen\n  Nienhuys, Jacob Vosmaer, Jean-Noël Avila, Jeff King, Jerry\n  Zhang, Jiang Xin, Johannes Altmanninger, Johannes Schindelin,\n  Johannes Sixt, Jonathan Tan, Josh Steadmon, Junio C Hamano,\n  Lénaïc Huard, Linus Torvalds, Marc Strapetz, Martin Ågren,\n  Matthias Aßhauer, Mike Hommey, Neeraj Singh, Øystein Walle,\n  Patrick Steinhardt, Philip Oakley, Philippe Blain, Phillip Wood,\n  Ralf Thielow, Randall S. Becker, René Scharfe, Robert Estelle,\n  Sergey Organov, SZEDER Gábor, Taylor Blau, Teng Long, Victoria\n  Dye, and Yoichi Nakayama.\n\n[*] We are counting not just the authorship contribution but issue\n    reporting, mentoring, helping and reviewing that are recorded in\n    the commit trailers.\n\n----------------------------------------------------------------\n\nGit 2.35 Release Notes (draft)\n==============================\n\nUpdates since Git 2.34\n----------------------\n\nBackward compatibility warts\n\n * \"_\" is now treated as any other URL-valid characters in an URL when\n   matching the per-URL configuration variable names.\n\n * The color palette used by \"git grep\" has been updated to match that\n   of GNU grep.\n\n\nUI, Workflows & Features\n\n * \"git status --porcelain=v2\" now show the number of stash entries\n   with --show-stash like the normal output does.\n\n * \"git stash\" learned the \"--staged\" option to stash away what has\n   been added to the index (and nothing else).\n\n * \"git var GIT_DEFAULT_BRANCH\" is a way to see what name is used for\n   the newly created branch if \"git init\" is run.\n\n * Various operating modes of \"git reset\" have been made to work\n   better with the sparse index.\n\n * \"git submodule deinit\" for a submodule whose .git metadata\n   directory is embedded in its working tree refused to work, until\n   the submodule gets converted to use the \"absorbed\" form where the\n   metadata directory is stored in superproject, and a gitfile at the\n   top-level of the working tree of the submodule points at it.  The\n   command is taught to convert such submodules to the absorbed form\n   as needed.\n\n * The completion script (in contrib/) learns that the \"--date\"\n   option of commands from the \"git log\" family takes \"human\" and\n   \"auto\" as valid values.\n\n * \"Zealous diff3\" style of merge conflict presentation has been added.\n\n * The \"git log --format=%(describe)\" placeholder has been extended to\n   allow passing selected command-line options to the underlying \"git\n   describe\" command.\n\n * \"default\" and \"reset\" have been added to our color palette.\n\n * The cryptographic signing using ssh keys can specify literal keys\n   for keytypes whose name do not begin with the \"ssh-\" prefix by\n   using the \"key::\" prefix mechanism (e.g. \"key::ecdsa-sha2-nistp256\").\n\n * \"git fetch\" without the \"--update-head-ok\" option ought to protect\n   a checked out branch from getting updated, to prevent the working\n   tree that checks it out to go out of sync.  The code was written\n   before the use of \"git worktree\" got widespread, and only checked\n   the branch that was checked out in the current worktree, which has\n   been updated.\n\n * \"git name-rev\" has been tweaked to give output that is shorter and\n   easier to understand.\n\n * \"git apply\" has been taught to ignore a message without a patch\n   with the \"--allow-empty\" option.  It also learned to honor the\n   \"--quiet\" option given from the command line.\n\n * The \"init\" and \"set\" subcommands in \"git sparse-checkout\" have been\n   unified for a better user experience and performance.\n\n * Many git commands that deal with working tree files try to remove a\n   directory that becomes empty (i.e. \"git switch\" from a branch that\n   has the directory to another branch that does not would attempt\n   remove all files in the directory and the directory itself).  This\n   drops users into an unfamiliar situation if the command was run in\n   a subdirectory that becomes subject to removal due to the command.\n   The commands have been taught to keep an empty directory if it is\n   the directory they were started in to avoid surprising users.\n\n * \"git am\" learns \"--empty=(stop|drop|keep)\" option to tweak what is\n   done to a piece of e-mail without a patch in it.\n\n * The default merge message prepared by \"git merge\" records the name\n   of the current branch; the name can be overridden with a new option\n   to allow users to pretend a merge is made on a different branch.\n\n * The way \"git p4\" shows file sizes in its output has been updated to\n   use human-readable units.\n\n * \"git -c branch.autosetupmerge=inherit branch new old\" makes \"new\"\n   to have the same upstream as the \"old\" branch, instead of marking\n   \"old\" itself as its upstream.\n\n\nPerformance, Internal Implementation, Development Support etc.\n\n * The use of errno as a means to carry the nature of error in the ref\n   API implementation has been reworked and reduced.\n\n * Teach and encourage first-time contributors to this project to\n   state the base commit when they submit their topic.\n\n * The command line completion for \"git send-email\" options have been\n   tweaked to make it easier to keep it in sync with the command itself.\n\n * Ensure that the sparseness of the in-core index matches the\n   index.sparse configuration specified by the repository immediately\n   after the on-disk index file is read.\n\n * Code clean-up to eventually allow information on remotes defined\n   for an arbitrary repository to be read.\n\n * Build optimization.\n\n * Tighten code for testing pack-bitmap.\n\n * Weather balloon to break people with compilers that do not support\n   C99.\n\n * The \"reftable\" backend for the refs API, without integrating into\n   the refs subsystem, has been added.\n\n * More tests are marked as leak-free.\n\n * The test framework learns to list unsatisfied test prerequisites,\n   and optionally error out when prerequisites that are expected to be\n   satisfied are not.\n\n * The default setting for trace2 event nesting was too low to cause\n   test failures, which is worked around by bumping it up in the test\n   framework.\n\n * Drop support for TravisCI and update test workflows at GitHub.\n\n * Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME\n   mechanism to force \"git\" to use 'master' as the default name for\n   the initial branch no longer need it; the use of the mechanism from\n   them have been removed.\n\n * Allow running our tests while disabling fsync.\n\n * Document the parameters given to the reflog entry iterator callback\n   functions.\n   (merge e6e94f34b2 jc/reflog-iterator-callback-doc later to maint).\n\n * The test helper for refs subsystem learned to write bogus and/or\n   nonexistent object name to refs to simulate error situations we\n   want to test Git in.\n\n * \"diff --histogram\" optimization.\n\n * Weather balloon to find compilers that do not grok variable\n   declaration in the for() loop.\n\n * diff and blame commands have been taught to work better with sparse\n   index.\n\n * The chainlint test script linter in the test suite has been updated.\n\n * The DEVELOPER=yes build uses -std=gnu99 now.\n\n * \"git format-patch\" uses a single rev_info instance and then exits.\n   Mark the structure with UNLEAK() macro to squelch leak sanitizer.\n\n * New interface into the tmp-objdir API to help in-core use of the\n   quarantine feature.\n\n * Broken &&-chains in the test scripts have been corrected.\n\n * The RCS keyword substitution in \"git p4\" used to be done assuming\n   that the contents are UTF-8 text, which can trigger decoding\n   errors.  We now treat the contents as a bytestring for robustness\n   and correctness.\n\n * The conditions to choose different definitions of the FLEX_ARRAY\n   macro for vendor compilers has been simplified to make it easier to\n   maintain.\n\n * Correctness and performance update to \"diff --color-moved\" feature.\n\n * \"git upload-pack\" (the other side of \"git fetch\") used a 8kB buffer\n   but most of its payload came on 64kB \"packets\".  The buffer size\n   has been enlarged so that such a packet fits.\n\n * \"git fetch\" and \"git pull\" are now declared sparse-index clean.\n   Also \"git ls-files\" learns the \"--sparse\" option to help debugging.\n\n * Similar message templates have been consolidated so that\n   translators need to work on fewer number of messages.\n\n\nFixes since v2.34\n-----------------\n\n * \"git grep\" looking in a blob that has non-UTF8 payload was\n   completely broken when linked with certain versions of PCREv2\n   library in the latest release.\n\n * Other code cleanup, docfix, build fix, etc.\n\n * \"git pull\" with any strategy when the other side is behind us\n   should succeed as it is a no-op, but doesn't.\n\n * An earlier change in 2.34.0 caused JGit application (that abused\n   GIT_EDITOR mechanism when invoking \"git config\") to get stuck with\n   a SIGTTOU signal; it has been reverted.\n\n * An earlier change that broke .gitignore matching has been reverted.\n\n * Things like \"git -c branch.sort=bogus branch new HEAD\", i.e. the\n   operation modes of the \"git branch\" command that do not need the\n   sort key information, no longer errors out by seeing a bogus sort\n   key.\n   (merge 98e7ab6d42 jc/fix-ref-sorting-parse later to maint).\n\n * The compatibility implementation for unsetenv(3) were written to\n   mimic ancient, non-POSIX, variant seen in an old glibc; it has been\n   changed to return an integer to match the more modern era.\n   (merge a38989bd5b jc/unsetenv-returns-an-int later to maint).\n\n * The clean/smudge conversion code path has been prepared to better\n   work on platforms where ulong is narrower than size_t.\n   (merge 596b5e77c9 mc/clean-smudge-with-llp64 later to maint).\n\n * Redact the path part of packfile URI that appears in the trace output.\n   (merge 0ba558ffb1 if/redact-packfile-uri later to maint).\n\n * CI has been taught to catch some Unicode directional formatting\n   sequence that can be used in certain mischief.\n   (merge 0e7696c64d js/ci-no-directional-formatting later to maint).\n\n * The \"--date=format:<strftime>\" gained a workaround for the lack of\n   system support for a non-local timezone to handle \"%s\" placeholder.\n   (merge 9b591b9403 jk/strbuf-addftime-seconds-since-epoch later to maint).\n\n * The \"merge\" subcommand of \"git jump\" (in contrib/) silently ignored\n   pathspec and other parameters.\n   (merge 67ba13e5a4 jk/jump-merge-with-pathspec later to maint).\n\n * The code to decode the length of packed object size has been\n   corrected.\n   (merge 34de5b8eac jt/pack-header-lshift-overflow later to maint).\n\n * The advice message given by \"git pull\" when the user hasn't made a\n   choice between merge and rebase still said that the merge is the\n   default, which no longer is the case.  This has been corrected.\n   (merge 71076d0edd ah/advice-pull-has-no-preference-between-rebase-and-merge later to maint).\n\n * \"git fetch\", when received a bad packfile, can fail with SIGPIPE.\n   This wasn't wrong per-se, but we now detect the situation and fail\n   in a more predictable way.\n   (merge 2a4aed42ec jk/fetch-pack-avoid-sigpipe-to-index-pack later to maint).\n\n * The function to cull a child process and determine the exit status\n   had two separate code paths for normal callers and callers in a\n   signal handler, and the latter did not yield correct value when the\n   child has caught a signal.  The handling of the exit status has\n   been unified for these two code paths.  An existing test with\n   flakiness has also been corrected.\n   (merge 5263e22cba jk/t7006-sigpipe-tests-fix later to maint).\n\n * When a non-existent program is given as the pager, we tried to\n   reuse an uninitialized child_process structure and crashed, which\n   has been fixed.\n   (merge f917f57f40 em/missing-pager later to maint).\n\n * The single-key-input mode in \"git add -p\" had some code to handle\n   keys that generate a sequence of input via ReadKey(), which did not\n   handle end-of-file correctly, which has been fixed.\n   (merge fc8a8126df cb/add-p-single-key-fix later to maint).\n\n * \"git rebase -x\" added an unnecessary 'exec' instructions before\n   'noop', which has been corrected.\n   (merge cc9dcdee61 en/rebase-x-fix later to maint).\n\n * When the \"git push\" command is killed while the receiving end is\n   trying to report what happened to the ref update proposals, the\n   latter used to die, due to SIGPIPE.  The code now ignores SIGPIPE\n   to increase our chances to run the post-receive hook after it\n   happens.\n   (merge d34182b9e3 rj/receive-pack-avoid-sigpipe-during-status-reporting later to maint).\n\n * \"git worktree add\" showed \"Preparing worktree\" message to the\n   standard output stream, but when it failed, the message from die()\n   went to the standard error stream.  Depending on the order the\n   stdio streams are flushed at the program end, this resulted in\n   confusing output.  It has been corrected by sending all the chatty\n   messages to the standard error stream.\n   (merge b50252484f es/worktree-chatty-to-stderr later to maint).\n\n * Coding guideline document has been updated to clarify what goes to\n   standard error in our system.\n   (merge e258eb4800 es/doc-stdout-vs-stderr later to maint).\n\n * The sparse-index/sparse-checkout feature had a bug in its use of\n   the matching code to determine which path is in or outside the\n   sparse checkout patterns.\n   (merge 8c5de0d265 ds/sparse-deep-pattern-checkout-fix later to maint).\n\n * \"git rebase -x\" by mistake started exporting the GIT_DIR and\n   GIT_WORK_TREE environment variables when the command was rewritten\n   in C, which has been corrected.\n   (merge 434e0636db en/rebase-x-wo-git-dir-env later to maint).\n\n * When \"git log\" implicitly enabled the \"decoration\" processing\n   without being explicitly asked with \"--decorate\" option, it failed\n   to read and honor the settings given by the \"--decorate-refs\"\n   option.\n\n * \"git fetch --set-upstream\" did not check if there is a current\n   branch, leading to a segfault when it is run on a detached HEAD,\n   which has been corrected.\n   (merge 17baeaf82d ab/fetch-set-upstream-while-detached later to maint).\n\n * Among some code paths that ask an yes/no question, only one place\n   gave a prompt that looked different from the others, which has been\n   updated to match what the others create.\n   (merge 0fc8ed154c km/help-prompt-fix later to maint).\n\n * \"git log --invert-grep --author=<name>\" used to exclude commits\n   written by the given author, but now \"--invert-grep\" only affects\n   the matches made by the \"--grep=<pattern>\" option.\n   (merge 794c000267 rs/log-invert-grep-with-headers later to maint).\n\n * \"git grep --perl-regexp\" failed to match UTF-8 characters with\n   wildcard when the pattern consists only of ASCII letters, which has\n   been corrected.\n   (merge 32e3e8bc55 rs/pcre2-utf later to maint).\n\n * Certain sparse-checkout patterns that are valid in non-cone mode\n   led to segfault in cone mode, which has been corrected.\n\n * Use of certain \"git rev-list\" options with \"git fast-export\"\n   created nonsense results (the worst two of which being \"--reverse\"\n   and \"--invert-grep --grep=<foo>\").  The use of \"--first-parent\" is\n   made to behave a bit more sensible than before.\n   (merge 726a228dfb ws/fast-export-with-revision-options later to maint).\n\n * Perf tests were run with end-user's shell, but it has been\n   corrected to use the shell specified by $TEST_SHELL_PATH.\n   (merge 9ccab75608 ja/perf-use-specified-shell later to maint).\n\n * Fix dependency rules to generate hook-list.h header file.\n   (merge d3fd1a6667 ab/makefile-hook-list-dependency-fix later to maint).\n\n * \"git stash\" by default triggers its \"push\" action, but its\n   implementation also made \"git stash -h\" to show short help only for\n   \"git stash push\", which has been corrected.\n   (merge ca7990cea5 ab/do-not-limit-stash-help-to-push later to maint).\n\n * \"git apply --3way\" bypasses the attempt to do a three-way\n   application in more cases to address the regression caused by the\n   recent change to use direct application as a fallback.\n   (merge 34d607032c jz/apply-3-corner-cases later to maint).\n\n * Fix performance-releated bug in \"git subtree\" (in contrib/).\n   (merge 3ce8888fb4 jl/subtree-check-parents-argument-passing-fix later to maint).\n\n * Extend the guidance to choose the base commit to build your work\n   on, and hint/nudge contributors to read others' changes.\n   (merge fdfae830f8 jc/doc-submitting-patches-choice-of-base later to maint).\n\n * A corner case bug in the ort merge strategy has been corrected.\n   (merge d30126c20d en/merge-ort-renorm-with-rename-delete-conflict-fix later to maint).\n\n * \"git stash apply\" forgot to attempt restoring untracked files when\n   it failed to restore changes to tracked ones.\n   (merge 71cade5a0b en/stash-df-fix later to maint).\n\n * Calling dynamically loaded functions on Windows has been corrected.\n   (merge 4a9b204920 ma/windows-dynload-fix later to maint).\n\n * Some lockfile code called free() in signal-death code path, which\n   has been corrected.\n   (merge 58d4d7f1c5 ps/lockfile-cleanup-fix later to maint).\n\n * Other code cleanup, docfix, build fix, etc.\n   (merge 74db416c9c cw/protocol-v2-doc-fix later to maint).\n   (merge f9b2b6684d ja/doc-cleanup later to maint).\n   (merge 7d1b866778 jc/fix-first-object-walk later to maint).\n   (merge 538ac74604 js/trace2-avoid-recursive-errors later to maint).\n   (merge 152923b132 jk/t5319-midx-corruption-test-deflake later to maint).\n   (merge 9081a421a6 ab/checkout-branch-info-leakfix later to maint).\n   (merge 42c456ff81 rs/mergesort later to maint).\n   (merge ad506e6780 tl/midx-docfix later to maint).\n   (merge bf5b83fd8a hk/ci-checkwhitespace-commentfix later to maint).\n   (merge 49f1eb3b34 jk/refs-g11-workaround later to maint).\n   (merge 7d3fc7df70 jt/midx-doc-fix later to maint).\n   (merge 7b089120d9 hn/create-reflog-simplify later to maint).\n   (merge 9e12400da8 cb/mingw-gmtime-r later to maint).\n   (merge 0bf0de6cc7 tb/pack-revindex-on-disk-cleanup later to maint).\n   (merge 2c68f577fc ew/cbtree-remove-unused-and-broken-cb-unlink later to maint).\n   (merge eafd6e7e55 ab/die-with-bug later to maint).\n   (merge 91028f7659 jc/grep-patterntype-default-doc later to maint).\n   (merge 47ca93d071 ds/repack-fixlets later to maint).\n   (merge e6a9bc0c60 rs/t4202-invert-grep-test-fix later to maint).\n   (merge deb5407a42 gh/gpg-doc-markup-fix later to maint).\n   (merge 999bba3e0b rs/daemon-plug-leak later to maint).\n   (merge 786eb1ba39 js/l10n-mention-ngettext-early-in-readme later to maint).\n   (merge 2f12b31b74 ab/makefile-msgfmt-wo-stats later to maint).\n   (merge 0517f591ca fs/gpg-unknown-key-test-fix later to maint).\n   (merge 97d6fb5a1f ma/header-dup-cleanup later to maint).\n\n----------------------------------------------------------------\n\nChanges since v2.34.0 are as follows:\n\nAlex Henrie (1):\n      pull: don't say that merge is \"the default strategy\"\n\nAnders Kaseorg (8):\n      fetch: lowercase error messages\n      receive-pack: lowercase error messages\n      branch: lowercase error messages\n      worktree: simplify find_shared_symref() memory ownership model\n      fetch: protect branches checked out in all worktrees\n      receive-pack: clean dead code from update_worktree()\n      receive-pack: protect current branch for bare repository worktree\n      branch: protect branches checked out in all worktrees\n\nBagas Sanjaya (1):\n      branch: missing space fix at line 313\n\nCalvin Wan (1):\n      protocol-v2.txt: align delim-pkt spec with usage\n\nCarlo Marcelo Arenas Belón (4):\n      test-genzeros: allow more than 2G zeros in Windows\n      test-lib: add prerequisite for 64-bit platforms\n      mingw: avoid fallback for {local,gm}time_r()\n      add -p: avoid use of undefined $key when ReadKey -> EOF\n\nDerrick Stolee (19):\n      dir: revert \"dir: select directories correctly\"\n      test-lib.sh: set GIT_TRACE2_EVENT_NESTING\n      t/t*: remove custom GIT_TRACE2_EVENT_NESTING\n      scalar: 'register' sets recommended config and starts maintenance\n      scalar: 'unregister' stops background maintenance\n      scalar: implement 'scalar list'\n      scalar: implement the `run` command\n      t1092: add deeper changes during a checkout\n      unpack-trees: use traverse_path instead of name\n      repack: respect kept objects with '--write-midx -b'\n      repack: make '--quiet' disable progress\n      fetch/pull: use the sparse index\n      ls-files: add --sparse option\n      t1092: replace 'read-cache --table' with 'ls-files --sparse'\n      t1091/t3705: remove 'test-tool read-cache --table'\n      test-read-cache: remove --table, --expand options\n      sparse-checkout: fix segfault on malformed patterns\n      sparse-checkout: fix OOM error with mixed patterns\n      sparse-checkout: refuse to add to bad patterns\n\nEli Schwartz (3):\n      pretty.c: rework describe options parsing for better extensibility\n      pretty: add tag option to %(describe)\n      pretty: add abbrev option to %(describe)\n\nElijah Newren (28):\n      sequencer: avoid adding exec commands for non-commit creating commands\n      update documentation for new zdiff3 conflictStyle\n      name-rev: prefer shorter names over following merges\n      sequencer: do not export GIT_DIR and GIT_WORK_TREE for 'exec'\n      t2501: add various tests for removing the current working directory\n      setup: introduce startup_info->original_cwd\n      unpack-trees: refuse to remove startup_info->original_cwd\n      unpack-trees: add special cwd handling\n      symlinks: do not include startup_info->original_cwd in dir removal\n      clean: do not attempt to remove startup_info->original_cwd\n      rebase: do not attempt to remove startup_info->original_cwd\n      stash: do not attempt to remove startup_info->original_cwd\n      dir: avoid incidentally removing the original_cwd in remove_path()\n      dir: new flag to remove_dir_recurse() to spare the original_cwd\n      t2501: simplify the tests since we can now assume desired behavior\n      sparse-checkout: pass use_stdin as a parameter instead of as a global\n      sparse-checkout: break apart functions for sparse_checkout_(set|add)\n      sparse-checkout: add sanity-checks on initial sparsity state\n      sparse-checkout: disallow --no-stdin as an argument to set\n      sparse-checkout: split out code for tweaking settings config\n      sparse-checkout: enable `set` to initialize sparse-checkout mode\n      sparse-checkout: enable reapply to take --[no-]{cone,sparse-index}\n      git-sparse-checkout.txt: update to document init/set/reapply changes\n      Documentation: clarify/correct a few sparsity related statements\n      clone: avoid using deprecated `sparse-checkout init`\n      sparse-checkout: remove stray trailing space\n      merge-ort: fix bug with renormalization and rename/delete conflicts\n      stash: do not return before restoring untracked files\n\nEnzo Matsumiya (1):\n      pager: fix crash when pager program doesn't exist\n\nEric Sunshine (38):\n      worktree: stop being overly intimate with run_command() internals\n      CodingGuidelines: document which output goes to stdout vs. stderr\n      worktree: send \"chatty\" messages to stderr\n      git-worktree.txt: add missing `-v` to synopsis for `worktree list`\n      t/lib-pager: use sane_unset() to avoid breaking &&-chain\n      t1010: fix unnoticed failure on Windows\n      t1020: avoid aborting entire test script when one test fails\n      t4202: clarify intent by creating expected content less cleverly\n      t5516: drop unnecessary subshell and command invocation\n      t6300: make `%(raw:size) --shell` test more robust\n      t9107: use shell parameter expansion to avoid breaking &&-chain\n      tests: simplify construction of large blocks of text\n      tests: use test_write_lines() to generate line-oriented output\n      tests: fix broken &&-chains in compound statements\n      tests: fix broken &&-chains in `$(...)` command substitutions\n      tests: fix broken &&-chains in `{...}` groups\n      tests: apply modern idiom for signaling test failure\n      tests: apply modern idiom for exiting loop upon failure\n      tests: simplify by dropping unnecessary `for` loops\n      t0000-t3999: detect and signal failure within loop\n      t4000-t4999: detect and signal failure within loop\n      t5000-t5999: detect and signal failure within loop\n      t6000-t9999: detect and signal failure within loop\n      t/chainlint/*.test: don't use invalid shell syntax\n      t/chainlint/*.test: fix invalid test cases due to mixing quote types\n      t/chainlint/*.test: generalize self-test commentary\n      t/chainlint/one-liner: avoid overly intimate chainlint.sed knowledge\n      t/Makefile: optimize chainlint self-test\n      chainlint.sed: improve ?!AMP?! placement accuracy\n      chainlint.sed: improve ?!SEMI?! placement accuracy\n      chainlint.sed: tolerate harmless \";\" at end of last line in block\n      chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?!\n      chainlint.sed: drop subshell-closing \">\" annotation\n      chainlint.sed: make here-doc \"<<-\" operator recognition more POSIX-like\n      chainlint.sed: don't mistake `<< word` in string as here-doc operator\n      chainlint.sed: stop throwing away here-doc tags\n      chainlint.sed: swallow comments consistently\n      chainlint.sed: stop splitting \"(...\" into separate lines \"(\" and \"...\"\n\nEric Wong (2):\n      tests: disable fsync everywhere\n      cbtree: remove broken and unused cb_unlink\n\nErwin Villejo (1):\n      pull: should be noop when already-up-to-date\n\nFabian Stelzer (15):\n      ssh signing: support non ssh-* keytypes\n      ssh signing: make sign/amend test more resilient\n      test-lib: show missing prereq summary\n      test-lib: introduce required prereq for test runs\n      test-lib: make BAIL_OUT() work in tests and prereq\n      t/fmt-merge-msg: do not redirect stderr\n      t/fmt-merge-msg: make gpgssh tests more specific\n      ssh signing: use sigc struct to pass payload\n      ssh signing: add key lifetime test prereqs\n      ssh signing: make verify-commit consider key lifetime\n      ssh signing: make git log verify key lifetime\n      ssh signing: make verify-tag consider key lifetime\n      ssh signing: make fmt-merge-msg consider key lifetime\n      ssh signing: verify ssh-keygen in test prereq\n      t/gpg: simplify test for unknown key\n\nGlen Choo (5):\n      t5516: add test case for pushing remote refspecs\n      remote: move static variables into per-repository struct\n      remote: use remote_state parameter internally\n      remote: remove the_repository->remote_state from static methods\n      remote: die if branch is not found in repository\n\nGreg Hurrell (1):\n      docs: add missing colon to Documentation/config/gpg.txt\n\nHan-Wen Nienhuys (49):\n      hash.h: provide constants for the hash IDs\n      reftable: add LICENSE\n      reftable: add error related functionality\n      reftable: utility functions\n      reftable: add blocksource, an abstraction for random access reads\n      reftable: (de)serialization for the polymorphic record type.\n      Provide zlib's uncompress2 from compat/zlib-compat.c\n      reftable: reading/writing blocks\n      reftable: a generic binary tree implementation\n      reftable: write reftable files\n      reftable: generic interface to tables\n      reftable: read reftable files\n      reftable: reftable file level tests\n      reftable: add a heap-based priority queue for reftable records\n      reftable: add merged table view\n      reftable: implement refname validation\n      reftable: implement stack, a mutable database of reftable files.\n      reftable: add dump utility\n      Add \"test-tool dump-reftable\" command.\n      branch tests: test for errno propagating on failing read\n      refs API: make refs_read_raw_ref() not set errno\n      refs API: make parse_loose_ref_contents() not set errno\n      refs: drop force_create argument of create_reflog API\n      t1404: mark directory/file conflict tests with REFFILES\n      show-branch: show reflog message\n      test-ref-store: don't add newline to reflog message\n      t1405: check for_each_reflog_ent_reverse() more thoroughly\n      test-ref-store: tweaks to for-each-reflog-ent format\n      refs/debug: trim trailing LF from reflog message\n      test-ref-store: remove force-create argument for create-reflog\n      test-ref-store: parse symbolic flag constants\n      test-ref-store: plug memory leak in cmd_delete_refs\n      refs: update comment.\n      refs: introduce REF_SKIP_OID_VERIFICATION flag\n      refs: introduce REF_SKIP_REFNAME_VERIFICATION flag\n      t1430: remove refs using test-tool\n      t1430: create valid symrefs using test-helper\n      test-ref-store: print hash algorithm\n      t5540: require REFFILES\n      t5550: require REFFILES\n      t7004: create separate tags for different tests\n      t7004: use \"test-tool ref-store\" for reflog inspection\n      refs: pass gitdir to packed_ref_store_create\n      refs: print error message in debug output\n      refs: centralize initialization of the base ref_store.\n      reftable: fix typo in header\n      reftable: signal overflow\n      reftable: support preset file mode for writing\n      reftable: avoid initializing structs from structs\n\nHans Krentel (hakre) (1):\n      ci(check-whitespace): update stale file top comments\n\nIvan Frade (2):\n      fetch-pack: redact packfile urls in traces\n      http-fetch: redact url on die() message\n\nJacob Vosmaer (1):\n      upload-pack.c: increase output buffer size\n\nJames Limbouris (1):\n      subtree: fix argument handling in check_parents\n\nJean-Noël Avila (20):\n      doc: fix git credential synopsis\n      doc: split placeholders as individual tokens\n      doc: express grammar placeholders between angle brackets\n      doc: use only hyphens as word separators in placeholders\n      doc: git-ls-files: express options as optional alternatives\n      doc: use three dots for indicating repetition instead of star\n      doc: uniformize <URL> placeholders' case\n      doc: git-http-push: describe the refs as pattern pairs\n      doc: git-init: clarify file modes in octal.\n      i18n: refactor \"foo and bar are mutually exclusive\"\n      i18n: refactor \"%s, %s and %s are mutually exclusive\"\n      i18n: turn \"options are incompatible\" into \"cannot be used together\"\n      i18n: standardize \"cannot open\" and \"cannot read\"\n      i18n: tag.c factorize i18n strings\n      i18n: factorize \"--foo requires --bar\" and the like\n      i18n: factorize \"no directory given for --foo\"\n      i18n: refactor \"unrecognized %(foo) argument\" strings\n      i18n: factorize \"--foo outside a repository\"\n      i18n: ref-filter: factorize \"%(foo) atom used without %(bar) atom\"\n      i18n: turn even more messages into \"cannot be used together\" ones\n\nJeff King (18):\n      urlmatch: add underscore to URL_HOST_CHARS\n      strbuf_addftime(): handle \"%s\" manually\n      test_bitmap_hashes(): handle repository without bitmaps\n      generate-cmdlist.sh: do not shell out to \"sed\"\n      git-jump: pass \"merge\" arguments to ls-files\n      t5319: corrupt more bytes of the midx checksum\n      refs: work around gcc-11 warning with REF_HAVE_NEW\n      fetch-pack: ignore SIGPIPE when writing to index-pack\n      run-command: unify signal and regular logic for wait_or_whine()\n      t7006: clean up SIGPIPE handling in trace2 tests\n      t7006: simplify exit-code checks for sigpipe tests\n      log: handle --decorate-refs with userformat \"%d\"\n      log: load decorations with --simplify-by-decoration\n      xdiff: drop CMP_ENV macro from xhistogram\n      xdiff: drop xpparam_t parameter from histogram cmp_recs()\n      xdiff: drop unused flags parameter from recs_match\n      config.mak.dev: specify -std=gnu99 for gcc/clang\n      doc/config: mark ssh allowedSigners example as literal\n\nJerry Zhang (3):\n      git-apply: add --quiet flag\n      git-apply: add --allow-empty flag\n      git-apply: skip threeway in add / rename cases\n\nJoel Holdsworth (9):\n      git-p4: use with statements to close files after use in patchRCSKeywords\n      git-p4: pre-compile RCS keyword regexes\n      git-p4: add raw option to read_pipelines\n      git-p4: open temporary patch file for write only\n      git-p4: resolve RCS keywords in bytes not utf-8\n      git-p4: print size values in appropriate units\n      git-p4: show progress as an integer\n      git-p4: remove \"debug\" verb\n      git-p4: remove \"rollback\" verb\n\nJohannes Altmanninger (1):\n      t/perf: do not run tests in user's $SHELL\n\nJohannes Schindelin (14):\n      test-tool genzeros: generate large amounts of data more efficiently\n      git-compat-util: introduce more size_t helpers\n      ci: disallow directional formatting\n      scalar: add a README with a roadmap\n      scalar: create a rudimentary executable\n      scalar: start documenting the command\n      scalar: create test infrastructure\n      scalar: let 'unregister' handle a deleted enlistment directory gracefully\n      scalar: implement the `clone` subcommand\n      scalar: teach 'clone' to support the --single-branch option\n      scalar: allow reconfiguring an existing enlistment\n      scalar: teach 'reconfigure' to optionally handle all registered enlistments\n      scalar: implement the `version` command\n      tests: set GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME only when needed\n\nJohannes Sixt (3):\n      generate-cmdlist.sh: spawn fewer processes\n      generate-cmdlist.sh: replace for loop by printf's auto-repeat feature\n      t1450-fsck: exec-bit is not needed to make loose object writable\n\nJohn Cai (2):\n      docs: fix places that break compilation in MyFirstObjectWalk\n      docs: add headers in MyFirstObjectWalk\n\nJonathan Tan (2):\n      packfile: avoid overflowing shift during decode\n      Doc: no midx and partial clone relation\n\nJosh Steadmon (5):\n      trace2: disable tr2_dst before warning on write errors\n      branch: accept multiple upstream branches for tracking\n      branch: add flags and config to inherit tracking\n      config: require lowercase for branch.*.autosetupmerge\n      l10n: README: call more attention to plural strings\n\nJunio C Hamano (28):\n      for-each-ref: delay parsing of --sort=<atom> options\n      MyFirstContribution: teach to use \"format-patch --base=auto\"\n      unsetenv(3) returns int, not void\n      init doc: --shared=0xxx does not give umask but perm bits\n      Revert \"grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data\"\n      0th batch for early fixes\n      Revert \"editor: save and reset terminal after calling EDITOR\"\n      A bit more regression fixes\n      Git 2.34.1\n      refs: document callback for reflog-ent iterators\n      The first batch to start the current cycle\n      revision: use C99 declaration of variable in for() loop\n      grep: clarify what `grep.patternType=default` means\n      flex-array: simplify compiler-specific workaround\n      The second batch\n      The third batch\n      t4204 is not sanitizer clean at all\n      format-patch: mark rev_info with UNLEAK\n      merge: allow to pretend a merge is made into a different branch\n      The fourth batch\n      The fifth batch\n      SubmittingPatchs: clarify choice of base and testing\n      The sixth batch\n      The seventh batch\n      Git 2.35-rc0\n      packfile: fix off-by-one error in decoding logic\n      Last minute fixes before -rc1\n      Git 2.35-rc1\n\nKashav Madan (1):\n      help: make auto-correction prompt more consistent\n\nLessley Dennington (7):\n      git: ensure correct git directory setup with -h\n      commit-graph: return if there is no git directory\n      test-read-cache: set up repo after git directory\n      repo-settings: prepare_repo_settings only in git repos\n      diff: replace --staged with --cached in t1092 tests\n      diff: enable and test the sparse index\n      blame: enable and test the sparse index\n\nLénaïc Huard (1):\n      grep: align default colors with GNU grep ones\n\nMarc Strapetz (1):\n      t/README: fix typo\n\nMartin Ågren (1):\n      cache.h: drop duplicate `ensure_full_index()` declaration\n\nMatt Cooper (4):\n      t1051: introduce a smudge filter test for extremely large files\n      odb: teach read_blob_entry to use size_t\n      odb: guard against data loss checking out a huge file\n      clean/smudge: allow clean filters to process extremely large files\n\nMatthew John Cheetham (1):\n      scalar: implement the `delete` command\n\nMatthias Aßhauer (1):\n      lazyload: use correct calling conventions\n\nMugdha Pattnaik (1):\n      submodule: absorb git dir instead of dying on deinit\n\nNeeraj Singh (2):\n      tmp-objdir: new API for creating temporary writable databases\n      tmp-objdir: disable ref updates when replacing the primary odb\n\nPatrick Steinhardt (1):\n      fetch: fix deadlock when cleaning up lockfiles in async signals\n\nPhilip Oakley (3):\n      repack.c: LLP64 compatibility, upcast unity for left shift\n      diffcore-delta.c: LLP64 compatibility, upcast unity for left shift\n      object-file.c: LLP64 compatibility, upcast unity for left shift\n\nPhilippe Blain (1):\n      SubmittingPatches: fix Asciidoc syntax in \"GitHub CI\" section\n\nPhillip Wood (19):\n      diff histogram: intern strings\n      xdiff: avoid unnecessary memory allocations\n      xdiff: simplify comparison\n      xdiff: implement a zealous diff3, or \"zdiff3\"\n      diff --color-moved: add perf tests\n      diff --color-moved: clear all flags on blocks that are too short\n      diff --color-moved: factor out function\n      diff --color-moved: rewind when discarding pmb\n      diff --color-moved=zebra: fix alternate coloring\n      diff --color-moved: avoid false short line matches and bad zebra coloring\n      diff: simplify allow-indentation-change delta calculation\n      diff --color-moved-ws=allow-indentation-change: simplify and optimize\n      diff --color-moved: call comparison function directly\n      diff --color-moved: unify moved block growth functions\n      diff --color-moved: shrink potential moved blocks as we go\n      diff --color-moved: stop clearing potential moved blocks\n      diff --color-moved-ws=allow-indentation-change: improve hash lookups\n      diff: use designated initializers for emitted_diff_symbol\n      diff --color-moved: intern strings\n\nRandall S. Becker (1):\n      build: NonStop ships with an older zlib\n\nRené Scharfe (6):\n      mergesort: avoid left shift overflow\n      log: let --invert-grep only invert --grep\n      t4202: fix patternType setting in --invert-grep test\n      daemon: plug memory leak on overlong path\n      grep/pcre2: use PCRE2_UTF even with ASCII patterns\n      grep/pcre2: factor out literal variable\n\nRobert Estelle (3):\n      color: add missing GIT_COLOR_* white/black constants\n      color: support \"default\" to restore fg/bg color\n      color: allow colors to be prefixed with \"reset\"\n\nRobin Jarry (1):\n      receive-pack: ignore SIGPIPE while reporting status to client\n\nSergey Organov (2):\n      stash: implement '--staged' option for 'push' and 'save'\n      stash: get rid of unused argument in stash_staged()\n\nTaylor Blau (11):\n      midx.c: clean up chunkfile after reading the MIDX\n      midx.c: don't leak MIDX from verify_midx_file\n      t/helper/test-read-midx.c: free MIDX within read_midx_file()\n      builtin/pack-objects.c: don't leak memory via arguments\n      builtin/repack.c: avoid leaking child arguments\n      builtin/multi-pack-index.c: don't leak concatenated options\n      midx.c: write MIDX filenames to strbuf\n      pack-bitmap.c: don't leak type-level bitmaps\n      pack-bitmap.c: more aggressively free in free_bitmap_index()\n      packfile: make `close_pack_revindex()` static\n      fmt-merge-msg: prevent use-after-free with signed tags\n\nTeng Long (1):\n      midx: fix a formatting issue in \"multi-pack-index.txt\"\n\nThiago Perrotta (2):\n      send-email: programmatically generate bash completions\n      send-email docs: add format-patch options\n\nThomas Weißschuh (1):\n      var: add GIT_DEFAULT_BRANCH variable\n\nVictoria Dye (12):\n      reset: rename is_missing to !is_in_reset_tree\n      reset: preserve skip-worktree bit in mixed reset\n      sparse-index: update command for expand/collapse test\n      test-read-cache.c: prepare_repo_settings after config init\n      sparse-index: avoid unnecessary cache tree clearing\n      sparse-index: add ensure_correct_sparsity function\n      sparse-index: update do_read_index to ensure correct sparsity\n      reset: expand test coverage for sparse checkouts\n      reset: integrate with sparse index\n      reset: make sparse-aware (except --mixed)\n      reset: make --mixed sparse-aware\n      unpack-trees: improve performance of next_cache_entry\n\nWilliam Sprent (1):\n      fast-export: fix surprising behavior with --first-parent\n\nYoichi Nakayama (1):\n      completion: add human and auto: date format\n\nbrian m. carlson (1):\n      git-compat-util: add a test balloon for C99 support\n\nÆvar Arnfjörð Bjarmason (88):\n      refs API: add a version of refs_resolve_ref_unsafe() with \"errno\"\n      refs API: make refs_rename_ref_available() static\n      reflog tests: add --updateref tests\n      refs/files: remove \"name exist?\" check in lock_ref_oid_basic()\n      refs API: remove refs_read_ref_full() wrapper\n      refs API: make resolve_gitlink_ref() not set errno\n      refs API: make loose_fill_ref_dir() not set errno\n      refs API: make files_copy_or_rename_ref() et al not set errno\n      refs API: ignore errno in worktree.c's add_head_info()\n      refs API: ignore errno in worktree.c's find_shared_symref()\n      refs tests: ignore ignore errno in test-ref-store helper\n      refs API: make refs_resolve_refdup() not set errno\n      refs API: make refs_ref_exists() not set errno\n      refs API: make resolve_ref_unsafe() not set errno\n      refs API: make expand_ref() & repo_dwim_log() not set errno\n      refs API: don't expose \"errno\" in run_transaction_hook()\n      refs API: post-migration API renaming [1/2]\n      refs API: post-migration API renaming [2/2]\n      Makefile: move git-SCRIPT-DEFINES adjacent to $(SCRIPT_DEFINES)\n      Makefile: remove $(GIT_VERSION) from $(SCRIPT_DEFINES)\n      Makefile: remove $(NO_CURL) from $(SCRIPT_DEFINES)\n      git-instaweb: unconditionally assume that gitweb is mod_perl capable\n      git-sh-setup: remove unused sane_egrep() function\n      git-sh-setup: remove \"sane_grep\", it's not needed anymore\n      leak tests: mark a read-tree test as passing SANITIZE=leak\n      leak tests: mark \"sort\" test as passing SANITIZE=leak\n      leak tests: mark most gettext tests as passing with SANITIZE=leak\n      leak tests: mark some misc tests as passing with SANITIZE=leak\n      leak tests: mark some rev-list tests as passing with SANITIZE=leak\n      leak tests: mark some rev-parse tests as passing with SANITIZE=leak\n      leak tests: mark some update-index tests as passing with SANITIZE=leak\n      leak tests: mark some notes tests as passing with SANITIZE=leak\n      leak tests: mark some apply tests as passing with SANITIZE=leak\n      leak tests: mark some diff tests as passing with SANITIZE=leak\n      leak tests: mark some add tests as passing with SANITIZE=leak\n      leak tests: mark some clone tests as passing with SANITIZE=leak\n      leak tests: mark some status tests as passing with SANITIZE=leak\n      leak tests: mark some config tests as passing with SANITIZE=leak\n      leak tests: mark some fast-import tests as passing with SANITIZE=leak\n      command-list.txt: sort with \"LC_ALL=C sort\"\n      generate-cmdlist.sh: trivial whitespace change\n      generate-cmdlist.sh: don't call get_categories() from category_list()\n      generate-cmdlist.sh: run \"grep | sort\", not \"sort | grep\"\n      generate-cmdlist.sh: stop sorting category lines\n      generate-cmdlist.sh: replace \"grep' invocation with a shell version\n      generate-cmdlist.sh: don't parse command-list.txt thrice\n      parse-options.c: use \"enum parse_opt_result\" for parse_nodash_opt()\n      checkout: fix \"branch info\" memory leaks\n      CI: remove Travis CI support\n      CI: use shorter names that fit in UX tooltips\n      CI: rename the \"Linux32\" job to lower-case \"linux32\"\n      CI: use \"$runs_on_pool\", not \"$jobname\" to select packages & config\n      CI: don't run \"make test\" twice in one job\n      upload-archive: use regular \"struct child_process\" pattern\n      run-command API users: use strvec_pushv(), not argv assignment\n      run-command tests: use strvec_pushv(), not argv assignment\n      run-command API users: use strvec_pushl(), not argv construction\n      run-command API users: use strvec_push(), not argv construction\n      run-command API: remove \"argv\" member, always use \"args\"\n      difftool: use \"env_array\" to simplify memory management\n      run-command API: remove \"env\" member, always use \"env_array\"\n      common-main.c: call exit(), don't return\n      pack-objects: use BUG(...) not die(\"BUG: ...\")\n      strbuf.h: use BUG(...) not die(\"BUG: ...\")\n      pathspec: use BUG(...) not die(\"BUG:%s:%d....\", <file>, <line>)\n      object.c: use BUG(...) no die(\"BUG: ...\") in lookup_object_by_type()\n      usage.c: add a die_message() routine\n      usage.c API users: use die_message() for \"fatal :\" + exit 128\n      usage.c API users: use die_message() for error() + exit 128\n      gc: return from cmd_gc(), don't call exit()\n      usage.c + gc: add and use a die_message_errno()\n      config API: use get_error_routine(), not vreportf()\n      pull, fetch: fix segfault in --set-upstream option\n      stash: don't show \"git stash push\" usage on bad \"git stash\" usage\n      reflog delete: narrow scope of \"cmd\" passed to count_reflog_ent()\n      reflog expire: narrow scope of \"cb\" in cmd_reflog_expire()\n      reflog: change one->many worktree->refnames to use a string_list\n      reflog expire: use \"switch\" over enum values\n      reflog expire: refactor & use \"tip_commit\" only for UE_NORMAL\n      reflog expire: don't use lookup_commit_reference_gently()\n      reflog: reduce scope of \"struct rev_info\"\n      refs files-backend: assume cb->newlog if !EXPIRE_REFLOGS_DRY_RUN\n      reflog + refs-backend: move \"verbose\" out of the backend\n      Makefile: correct the dependency graph of hook-list.h\n      Makefile: move -DPAGER_ENV from BASIC_CFLAGS to EXTRA_CPPFLAGS\n      Makefile: don't invoke msgfmt with --statistics\n      refs API: use \"failure_errno\", not \"errno\"\n      reftable tests: avoid \"int\" overflow, use \"uint64_t\"\n\nØystein Walle (2):\n      status: count stash entries in separate function\n      status: print stash info with --porcelain=v2 --show-stash\n\n徐沛文 (Aleen) (3):\n      doc: git-format-patch: describe the option --always\n      am: support --empty=<option> to handle empty patches\n      am: support --allow-empty to record specific empty patches\n\n"},{"id":"446361","messageId":"026201d80bbc$10a251a0$31e6f4e0$@nexbridge.com","threadId":"57251","inReplyTo":"xmqq35lp68rw.fsf@gitster.g","subject":"Re: [ANNOUNCE] Git v2.35.0-rc1","fromName":"","fromEmail":"rsbecker@nexbridge.com","sentAt":"2022-01-17T16:05:31Z","receivedAt":"2022-01-17T16:05:38Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On January 14, 2022 9:19 PM, Junio wrote:\n> A release candidate Git v2.35.0-rc1 is now available for testing at the usual places.\n> It is comprised of 467 non-merge commits since v2.34.0, contributed by 80\n> people, 32 of which are new faces [*].\n\nFYI: rc1 built/test (mostly) passes on both NonStop x86 and ia64 platforms.\n\nWe seem to have a recurrence of a transient failure in t5562 from a few releases ago. Retesting makes the problem disappear.\n\nSubtest 8\n#\t\n#\t\ttest_env HTTP_CONTENT_ENCODING=\"gzip\" test_http_env upload empty_body &&\n#\t\t! verify_http_result \"200 OK\"\n#\t\nSubtest 14\n#\t\n#\t\ttest_env HTTP_CONTENT_ENCODING=\"gzip\" test_http_env receive empty_body &&\n#\t\t! verify_http_result \"200 OK\"\n#\t\n\nAm I mistaken that using the ! verify_http_result construct is not recommended or am I misremembering the discussion?\n\nRegards,\n--Randall\n\n"},{"id":"446372","messageId":"xmqqy23eurut.fsf@gitster.g","threadId":"57251","inReplyTo":"026201d80bbc$10a251a0$31e6f4e0$@nexbridge.com","subject":"Re: [ANNOUNCE] Git v2.35.0-rc1","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-01-17T18:42:02Z","receivedAt":"2022-01-17T18:42:08Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"<rsbecker@nexbridge.com> writes:\n\n> On January 14, 2022 9:19 PM, Junio wrote:\n>> A release candidate Git v2.35.0-rc1 is now available for testing at the usual places.\n>> It is comprised of 467 non-merge commits since v2.34.0, contributed by 80\n>> people, 32 of which are new faces [*].\n>\n> FYI: rc1 built/test (mostly) passes on both NonStop x86 and ia64 platforms.\n>\n> We seem to have a recurrence of a transient failure in t5562 from a few releases ago. Retesting makes the problem disappear.\n>\n> Subtest 8\n> #\t\n> #\t\ttest_env HTTP_CONTENT_ENCODING=\"gzip\" test_http_env upload empty_body &&\n> #\t\t! verify_http_result \"200 OK\"\n> #\t\n> Subtest 14\n> #\t\n> #\t\ttest_env HTTP_CONTENT_ENCODING=\"gzip\" test_http_env receive empty_body &&\n> #\t\t! verify_http_result \"200 OK\"\n> #\t\n>\n> Am I mistaken that using the ! verify_http_result construct is not recommended or am I misremembering the discussion?\n>\n> Regards,\n> --Randall\n\nI do not recall anything about that shell function.\n\nI found a half-thread with similar-looking report on an obscure\nsystem, since the 2.25 era:\n\nhttps://lore.kernel.org/git/nycvar.QRO.7.76.6.2003252000200.46@tvgsbejvaqbjf.bet/\n\nAnd then from you that is even older, in the 2.21 era:\n\nhttps://lore.kernel.org/git/002201d4c560$5a319c40$0e94d4c0$@nexbridge.com/\n\nBut neither seems to lead to a discussion on the use of verify_http_result\nhelper.\n\n"},{"id":"446375","messageId":"027301d80bd3$5c5b6c50$151244f0$@nexbridge.com","threadId":"57251","inReplyTo":"xmqqy23eurut.fsf@gitster.g","subject":"RE: [ANNOUNCE] Git v2.35.0-rc1","fromName":"","fromEmail":"rsbecker@nexbridge.com","sentAt":"2022-01-17T18:52:16Z","receivedAt":"2022-01-17T18:52:25Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On January 17, 2022 1:42 PM, Junio C Hamano wrote:\n> <rsbecker@nexbridge.com> writes:\n> \n> > On January 14, 2022 9:19 PM, Junio wrote:\n> >> A release candidate Git v2.35.0-rc1 is now available for testing at the\nusual\n> places.\n> >> It is comprised of 467 non-merge commits since v2.34.0, contributed\n> >> by 80 people, 32 of which are new faces [*].\n> >\n> > FYI: rc1 built/test (mostly) passes on both NonStop x86 and ia64\nplatforms.\n> >\n> > We seem to have a recurrence of a transient failure in t5562 from a few\n> releases ago. Retesting makes the problem disappear.\n> >\n> > Subtest 8\n> > #\n> > #\t\ttest_env HTTP_CONTENT_ENCODING=\"gzip\" test_http_env upload\n> empty_body &&\n> > #\t\t! verify_http_result \"200 OK\"\n> > #\n> > Subtest 14\n> > #\n> > #\t\ttest_env HTTP_CONTENT_ENCODING=\"gzip\" test_http_env\n> receive empty_body &&\n> > #\t\t! verify_http_result \"200 OK\"\n> > #\n> >\n> > Am I mistaken that using the ! verify_http_result construct is not\nrecommended\n> or am I misremembering the discussion?\n> >\n> > Regards,\n> > --Randall\n> \n> I do not recall anything about that shell function.\n> \n> I found a half-thread with similar-looking report on an obscure system,\nsince the\n> 2.25 era:\n> \n>\nhttps://lore.kernel.org/git/nycvar.QRO.7.76.6.2003252000200.46@tvgsbejvaqbjf\n.\n> bet/\n> \n> And then from you that is even older, in the 2.21 era:\n> \n> https://lore.kernel.org/git/002201d4c560$5a319c40$0e94d4c0$@nexbridge.co\n> m/\n> \n> But neither seems to lead to a discussion on the use of verify_http_result\nhelper.\n\nWe transitioned from the platform default ksh to bash for build/test of git\nright after that point that cleared the issue. It looks like there could be\na regression in bash introduced on the platform very recently (June 2021)\nthat may be responsible unless /bin/sh is referenced directly in the\nscripts. I will check.\n--Randall\n\n"}]}