| Git v2.56 Release Notes |
| ======================= |
| |
| UI, Workflows & Features |
| ------------------------ |
| |
| * Advice shown by "git status" when the local branch is behind or has |
| diverged from its push branch has been updated to suggest "git pull |
| <remote> <branch>". |
| |
| * The handling of promisor-remote protocol capability has been updated |
| to allow the other side to add to the list of promisor remotes via the |
| 'promisor.acceptFromServerURL' configuration variable. |
| |
| * The 'ort' merge backend has been hardened against corrupt trees by |
| ensuring it aborts under appropriate error conditions. |
| |
| * The `fetch.followRemoteHEAD` configuration variable has been added to |
| provide a default for the per-remote `remote.<name>.followRemoteHEAD` |
| setting. |
| |
| * "git log --follow" has been updated to better handle non-linear |
| history, in which the path being tracked gets renamed differently in |
| multiple history lines. |
| |
| * The "git repo info" command has been taught new keys to output both |
| absolute and relative paths for "gitdir" and "commondir", supported by |
| a new path-formatting helper extracted from "git rev-parse". |
| |
| |
| Performance, Internal Implementation, Development Support etc. |
| -------------------------------------------------------------- |
| |
| * The refactoring of 'setup.c' has been continued to drop remaining |
| global state (`git_work_tree_cfg`, `is_bare_repository_cfg`), updating |
| `is_bare_repository()` to no longer implicitly rely on |
| `the_repository`. |
| |
| * Project-specific configuration for b4 has been introduced, and the |
| documentation has been updated to recommend using it as a |
| streamlined method for submitting patches. |
| |
| * The default format path of git cat-file --batch has been optimized |
| to use strbuf_add_oid_hex() and strbuf_add_uint() instead of |
| strbuf_addf(), yielding a noticeable speedup. |
| |
| * Commands that list branches and tags (like git branch and git tag) |
| have been optimized to pass the namespace prefix when initializing |
| their ref iterator, avoiding a loose-ref scaling regression in |
| repositories with many unrelated loose references. |
| |
| * The packed object source has been refactored into a proper struct |
| odb_source. |
| |
| * The global configuration variables protect_hfs and protect_ntfs have |
| been migrated into struct repo_config_values to tie them to |
| per-repository configuration state. |
| |
| * The trailer sections in SubmittingPatches have been updated to |
| encourage use of standard trailers. |
| |
| * The documentation in SubmittingPatches has been updated to clarify how |
| patch contributors should respond to design and viability critiques, |
| and how the resolution of such critiques should be recorded in the |
| final commit messages. |
| |
| * The pack-objects command has been updated to support reachability |
| bitmaps and delta-islands concurrently with the `--path-walk` option, |
| allowing faster packaging by falling back to path-walk when bitmaps |
| cannot fully satisfy the request. |
| |
| * Documentation on community contribution guidelines has been updated to |
| encourage replying to review comments before rerolling, and to advise |
| a default limit of at most one reroll per day to give reviewers across |
| different time zones enough time to participate. |
| |
| |
| Fixes since v2.55 |
| ----------------- |
| |
| * A regression in the error diagnosis code for invalid .git files has |
| been fixed, avoiding a potential NULL-pointer crash when reporting |
| that a .git file does not point to a valid repository. |
| (merge 54a441bcea jk/setup-gitfile-diag-fix later to maint). |
| |
| * Support for hashing loose or packed objects larger than 4GB on Windows |
| and other LLP64 platforms has been improved by converting object header |
| buffers and data-handling functions from 'unsigned long' to 'size_t'. |
| (merge d99e13d0be po/hash-object-size-t later to maint). |
| |
| * The display of the rebase todo list in "git status" has been |
| improved to correctly abbreviate object IDs for more commands and |
| avoid misinterpreting refs as object IDs. |
| (merge 6f34e5f9e3 pw/status-rebase-todo later to maint). |
| |
| * Reference backend configuration has been updated to load lazily to |
| avoid recursive calls during repository initialization when 'onbranch' |
| configuration conditions are evaluated. This has also fixed a memory |
| leak and allowed the unused `chdir_notify_reparent()` machinery to be |
| dropped. |
| (merge d6522d01df ps/refs-onbranch-fixes later to maint). |
| |
| * The connectivity check has been refactored to search for promisor |
| objects in a generic way using the object database interface, |
| rather than iterating packfiles directly. This allows connectivity |
| checks to work properly in repositories that do not use packfiles. |
| (merge 66ee9cb930 ps/connected-generic-promisor-checks later to maint). |
| |
| * A test checking interactions between git rebase --quit and |
| autostash in t3420-rebase-autostash.sh has been corrected to use |
| test_path_is_missing instead of ! grep on a file that shouldn't |
| exist in the conflicted state. |
| (merge eaad121fef sg/t3420-do-not-grep-in-missing-file later to maint). |