Opened 11 months ago

Closed 11 months ago

Last modified 8 months ago

#22400 closed enhancement (fixed)

git-2.52.0

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

Description

New minor version.

Change History (4)

comment:1 by Bruce Dubbs, 11 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: new → assigned

comment:2 by Bruce Dubbs, 11 months ago

Git v2.52 Release Notes

UI, Workflows & Features

  • The "list" subcommand of "git refs" acts as a front-end for "git for-each-ref".
  • "git cmd --help-all" now works outside repositories.
  • "git diff-tree" learned "--max-depth" option.
  • A new subcommand "git repo" gives users a way to grab various repository characteristics.
  • A new command "git last-modified" has been added to show the closest ancestor commit that touched each path.
  • The "git refs exists" command that works like "git show-ref --exists" has been added.
  • "git repo info" learns the short-hand option "-z" that is the same as "--format=nul", and learns to report the objects format used in the repository.
  • "core.commentChar=auto" that attempts to dynamically pick a suitable comment character is non-workable, as it is too much trouble to support for little benefit, and is marked as deprecated.
  • "git send-email" learned to drive "git imap-send" to store already sent e-mails in an IMAP folder.
  • The "promisor-remote" capability mechanism has been updated to allow the "partialCloneFilter" settings and the "token" value to be communicated from the server side.
  • Declare that "git init" that is not otherwise configured uses 'main' as the initial branch, not 'master', starting Git 3.0.
  • Keep giving hint about the default initial branch name for users who may be surprised after Git 3.0 switch-over.
  • The stash.index configuration variable can be set to make "git stash pop/apply" pretend that it was invoked with "--index".
  • "git fast-import" learned that "--signed-commits=<how>" option that corresponds to that of "git fast-export".
  • Marking a hunk 'selected' in "git add -p" and then splitting made all the split pieces 'selected'; this has been changed to make them all 'undecided', which gives better end-user experience.
  • Configuration variables that take a pathname as a value (e.g. blame.ignorerevsfile) can be marked as optional by prefixing ":(optional)" before its value.
  • Show 'P'ipe command in "git add -p".
  • "git sparse-checkout" subcommand learned a new "clean" action to prune otherwise unused working-tree files that are outside the areas of interest.
  • "git fast-import" is taught to handle signed tags, just like it recently learned to handle signed commits, in different ways.
  • A new configuration variable commitGraph.changedPaths allows to turn "--changed-paths" on by default for "git commit-graph".
  • "Symlink symref" has been added to the list of things that will disappear at Git 3.0 boundary.
  • "git maintenance" command learns the "geometric" strategy where it avoids doing maintenance tasks that rebuilds everything from scratch.
  • "git repo structure", a new command.
  • The help text and manual page of "git bisect" command have been made consistent with each other.

Performance, Internal Implementation, Development Support etc.

  • string_list_split*() family of functions have been extended to simplify common use cases.
  • Arrays of strbuf is often a wrong data structure to use, and strbuf_split*() family of functions that create them often have better alternatives. Update several code paths and replace strbuf_split*().
  • Revision traversal limited with pathspec, like "git log dir/*", used to ignore changed-paths Bloom filter when the pathspec contained wildcards; now they take advantage of the filter when they can.
  • Doc lint updates to encourage the newer and easier-to-use synopsis format, with fixes to a handful of existing uses.
  • Remove dependency on the_repository and other globals from the commit-graph code, and other changes unrelated to de-globaling.
  • Discord has been added to the first contribution documentation as another way to ask for help.
  • Inspired by Ezekiel's recent effort to showcase Rust interface, the hash function implementation used to hash lines have been updated to the one used for ELF symbol lookup by Glibc.

  • Instead of scanning for the remaining items to see if there are still commits to be explored in the queue, use khash to remember which items are still on the queue (an unacceptable alternative is to reserve one object flag bits).

  • The bulk-checkin code used to depend on a file-scope static singleton variable, which has been updated to pass an instance throughout the callchain.
  • The work to build on the bulk-checkin infrastructure to create many objects at once in a transaction and to abstract it into the generic object layer continues.

  • CodingGuidelines now spells out how bitfields are to be written.

  • Adjust to the way newer versions of cURL selectively enable tracing options, so that our tests can continue to work.

  • The clear_alloc_state() API function was not fully clearing the structure for reuse, but since nobody reuses it, replace it with a variant that frees the structure as well, making the callers simpler.
  • "git range-diff" learned a way to limit the memory consumed by O(N*N) cost matrix.

  • Some places in the code confused a variable that is *not* a boolean to enable color but is an enum that records what the user requested to do about color. A couple of bugs of this sort have been fixed, while the code has been cleaned up to prevent similar bugs in the future.
  • The build procedure based on meson learned a target to only build documentation, similar to "make doc". (merge ff4ec8ded0 ps/meson-build-docs later to maint).
  • Dip our toes a bit to (optionally) use Rust implemented helper called from our C code.
  • Documentation for "git log --pretty" options has been updated to make it easier to translate.
  • Instead of three library archives (one for git, one for reftable, and one for xdiff), roll everything into a single libgit.a archive. This would help later effort to FFI into Rust.
  • The beginning of SHA1-SHA256 interoperability work.
  • Build procedure for a few credential helpers (in contrib/) have been updated.
  • CI improvements to handle the recent Rust integration better.
  • The code in "git repack" machinery has been cleaned up to prepare for incremental update of midx files.
  • Two slightly different ways to get at "all the packfiles" in API has been cleaned up.
  • The code to walk revision graph to compute merge base has been optimized.
  • AI guidelines has been added to our documentation set.
  • Contributed credential helpers (obviously in contrib/) now have "cd $there && make install" target.
  • The "MyFirstContribution" tutorial tells the reader how to send out their patches; the section gained a hint to verify the message reached the mailing list.
  • The "debug" ref-backend was missing a method implementation, which has been corrected.
  • The "debug" ref-backend was missing a method implementation, which has been corrected.
  • Build procedure for Wincred credential helper has been updated.
  • The build procedure based on meson learned to allow builders to specify the directory to install HTML documents.
  • Building "git contacts" script (in contrib/) left the resulting file unexecutable, which has been corrected.

comment:3 by Bruce Dubbs, 11 months ago

Resolution: → fixed
Status: assigned → closed

Fixed at commits

ba0bed8453 Update to FreeRDP-3.18.0.
bc335eeb72 Add vlc-3.0.21-ffmpeg8-1.patch to vlc.
7747fbc5ab Update to git-2.52.0.
97e88e9667 Update to NetworkManager-1.54.2.

comment:4 by Bruce Dubbs, 8 months ago

Milestone: 12.5 → 13.0

Milestone renamed

Note: See TracTickets for help on using tickets.