Opened 15 months ago

Closed 15 months ago

Last modified 10 months ago

#17783 closed enhancement (fixed)

git-2.40.0

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 12.0
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (4)

comment:1 by Bruce Dubbs, 15 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:2 by Bruce Dubbs, 15 months ago

Git v2.40 Release Notes

UI, Workflows & Features

  • "merge-tree" learns a new --merge-base option.
  • "git jump" (in contrib/) learned to present the "quickfix list" to its standard output (instead of letting it consumed by the editor it invokes), and learned to also drive emacs/emacsclient.
  • "git var UNKNOWN_VARIABLE" and "git var VARIABLE" with the variable given an empty value used to behave identically. Now the latter just gives an empty output, while the former still gives an error message.
  • Introduce a case insensitive mode to the Bash completion helpers.
  • The advice message given by "git status" when it takes long time to enumerate untracked paths has been updated.
  • Just like "git var GIT_EDITOR" abstracts the complex logic to choose which editor gets used behind it, "git var" now give support to GIT_SEQUENCE_EDITOR.
  • "git format-patch" learned to honor format.mboxrd even when sending patches to the standard output stream,
  • 'cat-file' gains mailmap support for its '--batch-check' and '-s' options.
  • Conditionally skip the pre-applypatch and applypatch-msg hooks when applying patches with 'git am'.
  • Introduce an optional configuration to allow the trailing hash that protects the index file from bit flipping.
  • "git check-attr" learned to take an optional tree-ish to read the .gitattributes file from.
  • "scalar" learned to give progress bar.
  • "grep -P" learned to use Unicode Character Property to grok character classes when processing \b and \w etc.
  • "git rebase" often ignored incompatible options instead of complaining, which has been corrected.
  • "scalar" warns but continues when its periodic maintenance feature cannot be enabled.
  • The bundle-URI subsystem adds support for creation-token heuristics to help incremental fetches.
  • Userdiff regexp update for Java language.
  • "git fetch --jobs=0" used to hit a BUG(), which has been corrected to use the available CPUs.
  • An invalid label or ref in the "rebase -i" todo file used to trigger an runtime error. SUch an error is now diagnosed while the todo file is parsed.
  • The "diff" drivers specified by the "diff" attribute attached to paths can now specify which algorithm (e.g. histogram) to use.
  • "git range-diff" learned --abbrev=<num> option.
  • "git archive HEAD{tree}" records the paths with the current timestamp in the archive, making it harder to obtain a stable output. The command learned the --mtime option to specify an arbitrary timestamp (e.g. --mtime="@0 +0000" for the epoch).
  • The credential subsystem learned that a password may have an explicit expiration.
  • The format.attach configuration variable lacked a way to override a value defined in a lower-priority configuration file (e.g. the system one) by redefining it in a higher-priority configuration file. Now, setting format.attach to an empty string means show the patch inline in the e-mail message, without using MIME attachment.

This is a backward incompatible change.

Performance, Internal Implementation, Development Support etc.

  • git bisect becomes a builtin.
  • The pack-bitmap machinery is taught to log the paths of redundant bitmap(s) to trace2 instead of stderr.
  • Use the SHA1DC implementation on macOS, just like other platforms, by default.
  • Even in a repository with promisor remote, it is useless to attempt to lazily attempt fetching an object that is expected to be commit, because no "filter" mode omits commit objects. Take advantage of this assumption to fail fast on errors.
  • Stop using "git --super-prefix" and narrow the scope of its use to the submodule--helper.
  • Stop running win+VS build by default.
  • CI updates. We probably want a clean-up to move the long shell script embedded in yaml file into a separate file, but that can come later.
  • Use git diff --no-index as a test_cmp on Windows.

We'd probably need to revisit "do we really want to, and have to, lose CRLF vs LF?" later, at which time we may be able to further clean this up by replacing "git diff --no-index" with "diff -u".

  • Avoid unnecessary builds in CI, with settings configured in ci-config.
  • Plug leaks in sequencer subsystem and its users.
  • In-tree .gitattributes update to match the way we recommend our users to mark a file as text. (merge 1f34e0cd3d po/attributes-text later to maint).
  • Finally retire the scripted "git add -p/-i" implementation and have everybody use the one reimplemented in C.

comment:3 by Bruce Dubbs, 15 months ago

Resolution: fixed
Status: assignedclosed

comment:4 by Bruce Dubbs, 10 months ago

Milestone: 11.412.0

Milestone renamed

Note: See TracTickets for help on using tickets.