Hasty Briefsbeta

Bilingual

Highlights from Git 2.54

8 hours ago
  • #Software Updates
  • #Git 2.54
  • #Version Control
  • Git 2.54 introduces a new experimental command, `git history`, with `reword` and `split` operations for targeted, non-interactive history rewriting without affecting the working tree.
  • Config-based hooks are now supported in Git 2.54, allowing hooks to be defined in configuration files, enabling multiple hooks per event and centralized management.
  • Geometric repacking becomes the default strategy in `git maintenance run` in Git 2.54 for more efficient repository maintenance compared to traditional garbage collection.
  • `git add -p` receives usability improvements, including hunk decision indicators and a `--no-auto-advance` flag for better control over staging.
  • `git replay` is enhanced with atomic updates, a `--revert` mode, support for dropping empty commits, and replaying to the root commit.
  • Git's HTTP transport now handles HTTP 429 responses with retries based on `Retry-After` headers and configurable settings.
  • `git log -L` is reworked to work with patch formatting and pickaxe options like `-S` and `-G` for better line history tracing.
  • Incremental multi-pack indexes (MIDX) gain compaction support in Git 2.54 to manage layers and bitmaps in long-lived repositories.
  • `git status` adds a `status.compareBranches` configuration to compare against upstream and push remotes in triangular workflows.
  • `git rebase` now has a `--trailer` option to append trailers to all rebased commits using the `interpret-trailers` machinery.
  • Git now correctly displays valid signatures from expired GPG keys as good signatures instead of marking them as invalid.
  • `git blame` includes a `--diff-algorithm` option to choose algorithms like `histogram` or `patience` for more useful blame output.
  • Git's object database internals are restructured with a pluggable backend design, laying groundwork for future storage alternatives.
  • `git backfill` now accepts revision and pathspec arguments to scope blob downloads in partial clones, improving practicality for large repositories.
  • Alias configuration in Git 2.54 supports non-ASCII characters using a subsection-based syntax, while maintaining backward compatibility.