All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Cc: git-packagers@googlegroups.com
Subject: [ANNOUNCE] Git v2.33.1
Date: Tue, 12 Oct 2021 17:18:53 -0700	[thread overview]
Message-ID: <xmqqczo922vm.fsf@gitster.g> (raw)

The latest maintenance release Git v2.33.1 is now available at the
usual places.  There is nothing spectacular; just backporting
accumulated fixes that already are merged for the next feature
release.

The tarballs are found at:

    https://www.kernel.org/pub/software/scm/git/

The following public repositories all have a copy of the 'v2.33.1'
tag and the 'maint' branch that the tag points at:

  url = https://git.kernel.org/pub/scm/git/git
  url = https://kernel.googlesource.com/pub/scm/git/git
  url = git://repo.or.cz/alt-git.git
  url = https://github.com/gitster/git

----------------------------------------------------------------

Git 2.33.1 Release Notes
========================

This primarily is to backport various fixes accumulated during the
development towards Git 2.34, the next feature release.


Fixes since v2.33
-----------------

 * The unicode character width table (used for output alignment) has
   been updated.

 * Input validation of "git pack-objects --stdin-packs" has been
   corrected.

 * Bugfix for common ancestor negotiation recently introduced in "git
   push" codepath.

 * "git pull" had various corner cases that were not well thought out
   around its --rebase backend, e.g. "git pull --ff-only" did not stop
   but went ahead and rebased when the history on other side is not a
   descendant of our history.  The series tries to fix them up.

 * "git apply" miscounted the bytes and failed to read to the end of
   binary hunks.

 * "git range-diff" code clean-up.

 * "git commit --fixup" now works with "--edit" again, after it was
   broken in v2.32.

 * Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the
   new version has a blocker bug for that architecture.

 * Checking out all the paths from HEAD during the last conflicted
   step in "git rebase" and continuing would cause the step to be
   skipped (which is expected), but leaves MERGE_MSG file behind in
   $GIT_DIR and confuses the next "git commit", which has been
   corrected.

 * Various bugs in "git rebase -r" have been fixed.

 * mmap() imitation used to call xmalloc() that dies upon malloc()
   failure, which has been corrected to just return an error to the
   caller to be handled.

 * "git diff --relative" segfaulted and/or produced incorrect result
   when there are unmerged paths.

 * The delayed checkout code path in "git checkout" etc. were chatty
   even when --quiet and/or --no-progress options were given.

 * "git branch -D <branch>" used to refuse to remove a broken branch
   ref that points at a missing commit, which has been corrected.

 * Build update for Apple clang.

 * The parser for the "--nl" option of "git column" has been
   corrected.

 * "git upload-pack" which runs on the other side of "git fetch"
   forgot to take the ref namespaces into account when handling
   want-ref requests.

 * The sparse-index support can corrupt the index structure by storing
   a stale and/or uninitialized data, which has been corrected.

 * Buggy tests could damage repositories outside the throw-away test
   area we created.  We now by default export GIT_CEILING_DIRECTORIES
   to limit the damage from such a stray test.

 * Even when running "git send-email" without its own threaded
   discussion support, a threading related header in one message is
   carried over to the subsequent message to result in an unwanted
   threading, which has been corrected.

 * The output from "git fast-export", when its anonymization feature
   is in use, showed an annotated tag incorrectly.

 * Recent "diff -m" changes broke "gitk", which has been corrected.

 * "git maintenance" scheduler fix for macOS.

 * A pathname in an advice message has been made cut-and-paste ready.

 * The "git apply -3" code path learned not to bother the lower level
   merge machinery when the three-way merge can be trivially resolved
   without the content level merge.

 * The code that optionally creates the *.rev reverse index file has
   been optimized to avoid needless computation when it is not writing
   the file out.

 * "git range-diff -I... <range> <range>" segfaulted, which has been
   corrected.

 * The order in which various files that make up a single (conceptual)
   packfile has been reevaluated and straightened up.  This matters in
   correctness, as an incomplete set of files must not be shown to a
   running Git.

 * The "mode" word is useless in a call to open(2) that does not
   create a new file.  Such a call in the files backend of the ref
   subsystem has been cleaned up.

 * "git update-ref --stdin" failed to flush its output as needed,
   which potentially led the conversation to a deadlock.

 * When "git am --abort" fails to abort correctly, it still exited
   with exit status of 0, which has been corrected.

 * Correct nr and alloc members of strvec struct to be of type size_t.

 * "git stash", where the tentative change involves changing a
   directory to a file (or vice versa), was confused, which has been
   corrected.

 * "git clone" from a repository whose HEAD is unborn into a bare
   repository didn't follow the branch name the other side used, which
   is corrected.

 * "git cvsserver" had a long-standing bug in its authentication code,
   which has finally been corrected (it is unclear and is a separate
   question if anybody is seriously using it, though).

 * "git difftool --dir-diff" mishandled symbolic links.

 * Sensitive data in the HTTP trace were supposed to be redacted, but
   we failed to do so in HTTP/2 requests.

 * "make clean" has been updated to remove leftover .depend/
   directories, even when it is not told to use them to compute header
   dependencies.

 * Protocol v0 clients can get stuck parsing a malformed feature line.

Also contains various documentation updates and code clean-ups.

----------------------------------------------------------------

Changes since v2.33.0 are as follows:

Alex Henrie (1):
      pull: abort if --ff-only is given and fast-forwarding is impossible

Andrzej Hunt (1):
      connect: also update offset for features without values

Bagas Sanjaya (1):
      Documentation: fix default directory of git bugreport -o

Carlo Marcelo Arenas Belón (12):
      build: update detect-compiler for newer Xcode version
      builtin/merge: avoid -Wformat-extra-args from ancient Xcode
      ci: run a pedantic build as part of the GitHub workflow
      ci: update freebsd 12 cirrus job
      ci: use upload-artifacts v1 for dockerized jobs
      remote: avoid -Wunused-but-set-variable in gcc with -DNDEBUG
      tree-diff: fix leak when not HAVE_ALLOCA_H
      t0000: avoid masking git exit value through pipes
      git-cvsserver: use crypt correctly to compare password hashes
      git-cvsserver: protect against NULL in crypt(3)
      Documentation: cleanup git-cvsserver
      unicode: update the width tables to Unicode 14

David Aguilar (1):
      difftool: fix symlink-file writing in dir-diff mode

Derrick Stolee (1):
      maintenance: skip bootout/bootstrap when plist is registered

Elijah Newren (25):
      t7601: test interaction of merge/rebase/fast-forward flags and options
      t7601: add tests of interactions with multiple merge heads and config
      pull: since --ff-only overrides, handle it first
      pull: make --rebase and --no-rebase override pull.ff=only
      pull: abort by default when fast-forwarding is not possible
      pull: update docs & code for option compatibility with rebasing
      pull: fix handling of multiple heads
      git-rebase.txt: correct antiquated claims about --rebase-merges
      directory-rename-detection.txt: small updates due to merge-ort optimizations
      Documentation: edit awkward references to `git merge-recursive`
      merge-strategies.txt: update wording for the resolve strategy
      merge-strategies.txt: do not imply using copy detection is desired
      merge-strategies.txt: avoid giving special preference to patience algorithm
      merge-strategies.txt: fix simple capitalization error
      git-rebase.txt: correct out-of-date and misleading text about renames
      merge-strategies.txt: add coverage of the `ort` merge strategy
      Update error message and code comment
      t3903: document a pair of directory/file bugs
      stash: avoid feeding directories to update-index
      stash: restore untracked files AFTER restoring tracked files
      git-am.txt: clarify --abort behavior
      t4151: add a few am --abort tests
      am: fix incorrect exit status on am fail to abort
      trace2.h: fix trivial comment typo
      merge-ort: fix completely wrong comment

Felipe Contreras (4):
      completion: bash: fix prefix detection in branch.*
      completion: bash: fix for suboptions with value
      completion: bash: fix for multiple dash commands
      completion: bash: add correct suffix in variables

Jeff Hostetler (1):
      sparse-index: copy dir_hash in ensure_full_index()

Jeff King (13):
      build: clang version may not be followed by extra words
      range-diff: drop useless "offset" variable from read_patches()
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()
      apply: keep buffer/size pair in sync when parsing binary hunks
      t5323: drop mentions of "master"
      logmsg_reencode(): warn when iconv() fails
      docs: use "character encoding" to refer to commit-object encoding
      t5562: use alarm() to interrupt timed child-wait
      strvec: use size_t to store nr and alloc
      t1400: avoid SIGPIPE race condition on fifo
      clone: handle unborn branch in bare repos
      http: match headers case-insensitively when redacting

Joel Klinghed (1):
      commit: restore --edit when combined with --fixup

Johannes Schindelin (1):
      maintenance: create `launchctl` configuration using a lock file

Johannes Sixt (1):
      t9001: PATH must not use Windows-style paths

Jonathan Tan (3):
      send-pack: fix push.negotiate with remote helper
      send-pack: fix push nego. when remote has refs
      fetch: die on invalid --negotiation-tip hash

Josh Steadmon (1):
      connect, protocol: log negotiated protocol version

Junio C Hamano (4):
      build: catch clang that identifies itself as "$VENDOR clang"
      apply: resolve trivial merge without hitting ll-merge with "--3way"
      hash-object: prefix_filename() returns allocated memory these days
      Git 2.33.1

Kim Altintop (3):
      t5730: introduce fetch command helper
      upload-pack.c: treat want-ref relative to namespace
      docs: clarify the interaction of transfer.hideRefs and namespaces

Kyle Zhao (1):
      pack-revindex.h: correct the time complexity descriptions

Marvin Häuser (1):
      send-email: avoid incorrect header propagation

Matheus Tavares (1):
      checkout: make delayed checkout respect --quiet and --no-progress

Matthias Aßhauer (1):
      documentation: add documentation for 'git version'

Mickey Endito (1):
      t5582: remove spurious 'cd "$D"' line

Mike Hommey (1):
      credential: fix leak in credential_apply_config()

Patrick Steinhardt (1):
      update-ref: fix streaming of status updates

Philip Oakley (1):
      doc: config, tell readers of `git help --config`

Phillip Wood (7):
      t3403: fix commit authorship
      rebase --apply: restore some tests
      rebase --continue: remove .git/MERGE_MSG
      rebase -r: make 'merge -c' behave like reword
      rebase -i: add another reword test
      rebase -r: don't write .git/MERGE_MSG when fast-forwarding
      rebase -r: fix merge -c with a merge strategy

René Scharfe (10):
      compat: let git_mmap use malloc(3) directly
      xopen: explicitly report creation failures
      use xopen() to handle fatal open(2) failures
      show-branch: simplify rev_is_head()
      archive: convert queue_directory to struct object_id
      branch: allow deleting dangling branches with --force
      range-diff: avoid segfault with -I
      setup: use xopen and xdup in sanitize_stdfds
      refs/files-backend: remove unused open mode parameter
      compression: drop write-only core_compression_* variables

SZEDER Gábor (3):
      Makefile: remove archives before manipulating them with 'ar'
      column: fix parsing of the '--nl' option
      test-lib: set GIT_CEILING_DIRECTORIES to protect the surrounding repository

Sergey Organov (1):
      diff-index: restore -c/--cc options handling

Takashi Iwai (1):
      completion: tcsh: Fix regression by drop of wrapper functions

Tal Kelrich (1):
      fast-export: fix anonymized tag using original length

Taylor Blau (4):
      bulk-checkin.c: store checksum directly
      pack-write.c: rename `.idx` files after `*.rev`
      builtin/repack.c: move `.idx` files into place last
      builtin/index-pack.c: move `.idx` files into place last

Zoker (1):
      doc: fix syntax error and the format of printf

Ævar Arnfjörð Bjarmason (20):
      pack-objects tests: cover blindspots in stdin handling
      pack-objects: fix segfault in --stdin-packs option
      bundle doc: rewrite the "DESCRIPTION" section
      bundle doc: elaborate on object prerequisites
      bundle doc: elaborate on rev<->ref restriction
      bundle doc: replace "basis" with "prerequsite(s)"
      ls-remote: set packet_trace_identity(<name>)
      rebase: emit one "fatal" in "fatal: fatal: <error>"
      protocol-caps.c: fix memory leak in send_info()
      mailmap.c: fix a memory leak in free_mailap_{info,entry}()
      gc: remove trailing dot from "gc.log" line
      send-email: fix a "first config key wins" regression in v2.33.0
      Makefile: remove the check_bindir script
      pack-write: skip *.rev work when not writing *.rev
      pack.h: line-wrap the definition of finish_tmp_packfile()
      pack-write: refactor renaming in finish_tmp_packfile()
      index-pack: refactor renaming in final()
      pack-write: split up finish_tmp_packfile() function
      pack-objects: rename .idx files into place after .bitmap files
      Makefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes

Đoàn Trần Công Danh (3):
      t6300: don't run cat-file on non-existent object
      t6300: check for cat-file exit status code
      diff-lib: ignore paths that are outside $cwd if --relative asked


                 reply	other threads:[~2021-10-13  0:19 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqczo922vm.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=git-packagers@googlegroups.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.