mirror of
https://github.com/git/git.git
synced 2026-08-08 09:02:01 +00:00
@@ -56,6 +56,11 @@ UI, Workflows & Features
|
||||
standardized to make them consistent with each other and with other
|
||||
commands.
|
||||
|
||||
* 'git log --graph' has been modified to visually distinguish parentless
|
||||
'root' commits (and commits that become roots due to history
|
||||
simplification) by indenting them, preventing them from appearing
|
||||
falsely related to unrelated commits rendered immediately above them.
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
--------------------------------------------------------------
|
||||
@@ -206,6 +211,36 @@ Performance, Internal Implementation, Development Support etc.
|
||||
pathspec filtering, which was lost when the streaming walk was
|
||||
refactored.
|
||||
|
||||
* The ref subsystem and the worktree API have been refactored to pass a
|
||||
repository pointer down the call chain, allowing them to drop
|
||||
references to the global 'the_repository' variable. As part of this,
|
||||
the handling of the 'core.packedRefsTimeout' configuration has been
|
||||
moved into the per-repository ref store structure.
|
||||
|
||||
* 'git branch --contains' and 'git for-each-ref --contains' have been
|
||||
optimized to use the memoized commit traversal previously used only by
|
||||
'git tag --contains', significantly speeding up connectivity checks
|
||||
across many candidate refs with shared history.
|
||||
|
||||
* The passing of push destination specifications in the 'remote-curl'
|
||||
helper has been simplified by removing the explicit 'count' parameter
|
||||
and relying on the NULL-termination of the array.
|
||||
|
||||
* The dependency on the global 'the_repository' variable in the
|
||||
'refspec.c' API has been removed by passing the hash algorithm
|
||||
explicitly to refspec-parsing functions and storing it in 'struct
|
||||
refspec'.
|
||||
|
||||
* The enumeration of untracked and ignored files in 'git status' has
|
||||
been optimized by avoiding quadratic complexity when inserting into
|
||||
string lists, reducing the construction cost from O(n^2) to O(n log
|
||||
n).
|
||||
|
||||
* The copy_file() and copy_file_with_time() functions have been
|
||||
refactored to take a repository parameter, allowing the removal of the
|
||||
implicit dependency on the global 'the_repository' variable in
|
||||
'copy.c'.
|
||||
|
||||
|
||||
Fixes since v2.55
|
||||
-----------------
|
||||
@@ -350,3 +385,19 @@ Fixes since v2.55
|
||||
'git submodule update' command until it was broken in a modernization
|
||||
of the option-parsing code, has been restored.
|
||||
(merge ff1da37f58 dm/submodule-update-i-shorthand later to maint).
|
||||
|
||||
* An accidental use of the '%zu' format specifier in 'git
|
||||
submodule--helper' has been corrected to use 'PRIuMAX' and cast the
|
||||
value to 'uintmax_t' to avoid portability issues.
|
||||
(merge 3279c13c00 jc/submodule-helper-avoid-zu later to maint).
|
||||
|
||||
* The rebase post-rewrite notes-copying logic has been corrected. When
|
||||
a commit is dropped during rebase (e.g., because its changes are
|
||||
already upstream), it is no longer recorded as rewritten, preventing
|
||||
its notes from being copied to an unrelated commit.
|
||||
(merge 42554b78fd pw/rebase-drop-notes-with-commit later to maint).
|
||||
|
||||
* A few memory problems in the Rust interface to C hash functions have
|
||||
been corrected. The 'Clone' implementation of 'CryptoHasher' now
|
||||
properly initializes the context before cloning, and its 'Drop'
|
||||
implementation now discards the context to prevent leaks.
|
||||
|
||||
Reference in New Issue
Block a user