Start Git 2.56 cycle

This time, do not forget to update GIT-VERSION-GEN to say 2.55.GIT Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Jul 6, 2026 at 15:49 UTC f85a7e662054a7b0d9070e432508831afa214b47
3 files changed +115 -2
Documentation/RelNotes/2.56.0.adoc new
+113
@@ -0,0 +1,113 @@
1 +Git v2.56 Release Notes
2 +=======================
3 +
4 +UI, Workflows & Features
5 +------------------------
6 +
7 + * Advice shown by "git status" when the local branch is behind or has
8 + diverged from its push branch has been updated to suggest "git pull
9 + <remote> <branch>".
10 +
11 + * The handling of promisor-remote protocol capability has been updated
12 + to allow the other side to add to the list of promisor remotes via the
13 + 'promisor.acceptFromServerURL' configuration variable.
14 +
15 + * The 'ort' merge backend has been hardened against corrupt trees by
16 + ensuring it aborts under appropriate error conditions.
17 +
18 + * The `fetch.followRemoteHEAD` configuration variable has been added to
19 + provide a default for the per-remote `remote.<name>.followRemoteHEAD`
20 + setting.
21 +
22 + * "git log --follow" has been updated to better handle non-linear
23 + history, in which the path being tracked gets renamed differently in
24 + multiple history lines.
25 +
26 + * The "git repo info" command has been taught new keys to output both
27 + absolute and relative paths for "gitdir" and "commondir", supported by
28 + a new path-formatting helper extracted from "git rev-parse".
29 +
30 +
31 +Performance, Internal Implementation, Development Support etc.
32 +--------------------------------------------------------------
33 +
34 + * The refactoring of 'setup.c' has been continued to drop remaining
35 + global state (`git_work_tree_cfg`, `is_bare_repository_cfg`), updating
36 + `is_bare_repository()` to no longer implicitly rely on
37 + `the_repository`.
38 +
39 + * Project-specific configuration for b4 has been introduced, and the
40 + documentation has been updated to recommend using it as a
41 + streamlined method for submitting patches.
42 +
43 + * The default format path of git cat-file --batch has been optimized
44 + to use strbuf_add_oid_hex() and strbuf_add_uint() instead of
45 + strbuf_addf(), yielding a noticeable speedup.
46 +
47 + * Commands that list branches and tags (like git branch and git tag)
48 + have been optimized to pass the namespace prefix when initializing
49 + their ref iterator, avoiding a loose-ref scaling regression in
50 + repositories with many unrelated loose references.
51 +
52 + * The packed object source has been refactored into a proper struct
53 + odb_source.
54 +
55 + * The global configuration variables protect_hfs and protect_ntfs have
56 + been migrated into struct repo_config_values to tie them to
57 + per-repository configuration state.
58 +
59 + * The trailer sections in SubmittingPatches have been updated to
60 + encourage use of standard trailers.
61 +
62 + * The documentation in SubmittingPatches has been updated to clarify how
63 + patch contributors should respond to design and viability critiques,
64 + and how the resolution of such critiques should be recorded in the
65 + final commit messages.
66 +
67 + * The pack-objects command has been updated to support reachability
68 + bitmaps and delta-islands concurrently with the `--path-walk` option,
69 + allowing faster packaging by falling back to path-walk when bitmaps
70 + cannot fully satisfy the request.
71 +
72 + * Documentation on community contribution guidelines has been updated to
73 + encourage replying to review comments before rerolling, and to advise
74 + a default limit of at most one reroll per day to give reviewers across
75 + different time zones enough time to participate.
76 +
77 +
78 +Fixes since v2.55
79 +-----------------
80 +
81 + * A regression in the error diagnosis code for invalid .git files has
82 + been fixed, avoiding a potential NULL-pointer crash when reporting
83 + that a .git file does not point to a valid repository.
84 + (merge 54a441bcea jk/setup-gitfile-diag-fix later to maint).
85 +
86 + * Support for hashing loose or packed objects larger than 4GB on Windows
87 + and other LLP64 platforms has been improved by converting object header
88 + buffers and data-handling functions from 'unsigned long' to 'size_t'.
89 + (merge d99e13d0be po/hash-object-size-t later to maint).
90 +
91 + * The display of the rebase todo list in "git status" has been
92 + improved to correctly abbreviate object IDs for more commands and
93 + avoid misinterpreting refs as object IDs.
94 + (merge 6f34e5f9e3 pw/status-rebase-todo later to maint).
95 +
96 + * Reference backend configuration has been updated to load lazily to
97 + avoid recursive calls during repository initialization when 'onbranch'
98 + configuration conditions are evaluated. This has also fixed a memory
99 + leak and allowed the unused `chdir_notify_reparent()` machinery to be
100 + dropped.
101 + (merge d6522d01df ps/refs-onbranch-fixes later to maint).
102 +
103 + * The connectivity check has been refactored to search for promisor
104 + objects in a generic way using the object database interface,
105 + rather than iterating packfiles directly. This allows connectivity
106 + checks to work properly in repositories that do not use packfiles.
107 + (merge 66ee9cb930 ps/connected-generic-promisor-checks later to maint).
108 +
109 + * A test checking interactions between git rebase --quit and
110 + autostash in t3420-rebase-autostash.sh has been corrected to use
111 + test_path_is_missing instead of ! grep on a file that shouldn't
112 + exist in the conflicted state.
113 + (merge eaad121fef sg/t3420-do-not-grep-in-missing-file later to maint).
GIT-VERSION-GEN
+1 -1
@@ -1,6 +1,6 @@
1 #!/bin/sh
2
3 -DEF_VER=v2.55.0
3 +DEF_VER=v2.55.GIT
4
5 LF='
6 '
RelNotes
+1 -1
@@ -1 +1 @@
1 -Documentation/RelNotes/2.55.0.adoc
\ No newline at end of file
1 +Documentation/RelNotes/2.56.0.adoc
\ No newline at end of file