Skip to content

Commit b4cc467

Browse files
authored
Merge branch 'git:master' into lisp-userdiff_driver
2 parents 0bba8e8 + 8745eae commit b4cc467

File tree

313 files changed

+22881
-13980
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

313 files changed

+22881
-13980
lines changed

.gitattributes

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
* whitespace=!indent,trail,space
2-
*.[ch] whitespace=indent,trail,space diff=cpp
3-
*.sh whitespace=indent,trail,space text eol=lf
1+
* whitespace=trail,space
2+
*.[ch] whitespace=indent,trail,space,incomplete diff=cpp
3+
*.sh whitespace=indent,trail,space,incomplete text eol=lf
44
*.perl text eol=lf diff=perl
55
*.pl text eof=lf diff=perl
66
*.pm text eol=lf diff=perl
77
*.py text eol=lf diff=python
88
*.bat text eol=crlf
99
CODE_OF_CONDUCT.md -whitespace
10-
/Documentation/**/*.adoc text eol=lf
10+
/Documentation/**/*.adoc text eol=lf whitespace=trail,space,incomplete
1111
/command-list.txt text eol=lf
1212
/GIT-VERSION-GEN text eol=lf
1313
/mergetools/* text eol=lf

.github/workflows/l10n.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
origin \
6464
${{ github.ref }} \
6565
$args
66-
- uses: actions/setup-go@v5
66+
- uses: actions/setup-go@v6
6767
with:
6868
go-version: '>=1.16'
6969
cache: false

.github/workflows/main.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,17 @@ jobs:
298298
path: build
299299
- name: Test
300300
shell: pwsh
301-
run: meson test -C build --no-rebuild --print-errorlogs --slice "$(1+${{ matrix.nr }})/10"
301+
run: ci/run-test-slice-meson.sh build ${{matrix.nr}} 10
302+
- name: print test failures
303+
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
304+
shell: bash
305+
run: ci/print-test-failures.sh
306+
- name: Upload failed tests' directories
307+
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
308+
uses: actions/upload-artifact@v4
309+
with:
310+
name: failed-tests-windows-meson-${{ matrix.nr }}
311+
path: ${{env.FAILED_TEST_ARTIFACTS}}
302312

303313
regular:
304314
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
@@ -433,7 +443,7 @@ jobs:
433443
- run: ci/install-dependencies.sh
434444
- run: useradd builder --create-home
435445
- run: chown -R builder .
436-
- run: sudo --preserve-env --set-home --user=builder ci/run-build-and-tests.sh
446+
- run: chmod a+w $GITHUB_ENV && sudo --preserve-env --set-home --user=builder ci/run-build-and-tests.sh
437447
- name: print test failures
438448
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
439449
run: sudo --preserve-env --set-home --user=builder ci/print-test-failures.sh

.mailmap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,8 @@ Junio C Hamano <gitster@pobox.com> <junkio@twinsun.com>
140140
Kaartic Sivaraam <kaartic.sivaraam@gmail.com> <kaarticsivaraam91196@gmail.com>
141141
Karl Wiberg <kha@treskal.com> Karl Hasselström
142142
Karl Wiberg <kha@treskal.com> <kha@yoghurt.hemma.treskal.com>
143-
Karsten Blees <blees@dcon.de> <karsten.blees@dcon.de>
144-
Karsten Blees <blees@dcon.de> <karsten.blees@gmail.com>
143+
Karsten Blees <karsten.blees@gmail.com> <karsten.blees@dcon.de>
144+
Karsten Blees <karsten.blees@gmail.com> <blees@dcon.de>
145145
Kay Sievers <kay.sievers@vrfy.org> <kay.sievers@suse.de>
146146
Kay Sievers <kay.sievers@vrfy.org> <kay@mam.(none)>
147147
Kazuki Saitoh <ksaitoh560@gmail.com> kazuki saitoh <ksaitoh560@gmail.com>

Documentation/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ MAN7_TXT += gitcli.adoc
5353
MAN7_TXT += gitcore-tutorial.adoc
5454
MAN7_TXT += gitcredentials.adoc
5555
MAN7_TXT += gitcvs-migration.adoc
56+
MAN7_TXT += gitdatamodel.adoc
5657
MAN7_TXT += gitdiffcore.adoc
5758
MAN7_TXT += giteveryday.adoc
5859
MAN7_TXT += gitfaq.adoc
@@ -142,6 +143,7 @@ TECH_DOCS += technical/shallow
142143
TECH_DOCS += technical/sparse-checkout
143144
TECH_DOCS += technical/sparse-index
144145
TECH_DOCS += technical/trivial-merge
146+
TECH_DOCS += technical/unambiguous-types
145147
TECH_DOCS += technical/unit-tests
146148
SP_ARTICLES += $(TECH_DOCS)
147149
SP_ARTICLES += technical/api-index

Documentation/RelNotes/2.52.0.adoc

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ UI, Workflows & Features
1717
* A new command "git last-modified" has been added to show the closest
1818
ancestor commit that touched each path.
1919

20-
* "git refs exists" that works like "git show-ref --exists" has been
21-
added.
20+
* The "git refs exists" command that works like "git show-ref --exists"
21+
has been added.
2222

23-
* "repo info" learns a short-hand option "-z" that is the same as
23+
* "git repo info" learns the short-hand option "-z" that is the same as
2424
"--format=nul", and learns to report the objects format used in the
2525
repository.
2626

@@ -433,7 +433,10 @@ including security updates, are included in this release.
433433

434434
* The version of macos image used in GitHub CI has been updated to
435435
macos-14, as the macos-13 that we have been using got deprecated.
436+
Perforce binary used there has been changed to arm64 version to
437+
match.
436438
(merge 73b9cdb7c4 jc/ci-use-macos-14 later to maint).
439+
(merge ffff0bb0da jc/ci-use-arm64-p4-on-macos later to maint).
437440

438441
* Other code cleanup, docfix, build fix, etc.
439442
(merge 529a60a885 ua/t1517-short-help-tests later to maint).

Documentation/RelNotes/2.53.0.adoc

Lines changed: 273 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,273 @@
1+
Git v2.53 Release Notes
2+
=======================
3+
4+
UI, Workflows & Features
5+
------------------------
6+
7+
* "git maintenance" command learned "is-needed" subcommand to tell if
8+
it is necessary to perform various maintenance tasks.
9+
10+
* "git replay" (experimental) learned to perform ref updates itself
11+
in a transaction by default, instead of emitting where each refs
12+
should point at and leaving the actual update to another command.
13+
14+
* "git blame" learns "--diff-algorithm=<algo>" option.
15+
16+
* "git repo info" learned "--all" option.
17+
18+
* Both "git apply" and "git diff" learn a new whitespace error class,
19+
"incomplete-line".
20+
21+
* Add a new manual that describes the data model.
22+
23+
* "git fast-import" learns "--strip-if-invalid" option to drop
24+
invalid cryptographic signature from objects.
25+
26+
* The use of "revision" (a connected set of commits) has been
27+
clarified in the "git replay" documentation.
28+
29+
* A help message from "git branch" now mentions "git help" instead of
30+
"man" when suggesting to read some documentation.
31+
32+
* "git repo struct" learned to take "-z" as a synonym to "--format=nul".
33+
34+
* More object database related information are shown in "git repo
35+
structure" output.
36+
37+
38+
Performance, Internal Implementation, Development Support etc.
39+
--------------------------------------------------------------
40+
41+
* The list of packfiles used in a running Git process is moved from
42+
the packed_git structure into the packfile store.
43+
44+
* Some ref backend storage can hold not just the object name of an
45+
annotated tag, but the object name of the object the tag points at.
46+
The code to handle this information has been streamlined.
47+
48+
* As "git diff --quiet" only cares about the existence of any
49+
changes, disable rename/copy detection to skip more expensive
50+
processing whose result will be discarded anyway.
51+
52+
* A part of code paths that deals with loose objects has been cleaned
53+
up.
54+
55+
* "make strip" has been taught to strip "scalar" as well as "git".
56+
57+
* Dockerised jobs at the GitHub Actions CI have been taught to show
58+
more details of failed tests.
59+
60+
* Code refactoring around object database sources.
61+
62+
* Halve the memory consumed by artificial filepairs created during
63+
"git diff --find-copioes-harder", also making the operation run
64+
faster.
65+
66+
* The "git_istream" abstraction has been revamped to make it easier
67+
to interface with pluggable object database design.
68+
69+
* Rewrite the only use of "mktemp()" that is subject to TOCTOU race
70+
and Stop using the insecure "mktemp()" function.
71+
(merge 10bba537c4 rs/ban-mktemp later to maint).
72+
73+
* In-code comment update to clarify that single-letter options are
74+
outside of the scope of command line completion script.
75+
(merge dc8a00fafe jc/completion-no-single-letter-options later to maint).
76+
77+
* MEMZERO_ARRAY() helper is introduced to avoid clearing only the
78+
first N bytes of an N-element array whose elements are larger than
79+
a byte.
80+
81+
* "git diff-files -R --find-copies-harder" has been taught to use
82+
the potential copy sources from the index correctly.
83+
84+
* Require C99 style flexible array member support from all platforms.
85+
86+
* The code path that enumerates promisor objects have been optimized
87+
to skip pointlessly parsing blob objects.
88+
89+
* Prepare test suite for Git for Windows that supports symbolic
90+
links.
91+
92+
* Use hook API to replace ad-hoc invocation of hook scripts with the
93+
run_command() API.
94+
95+
96+
Fixes since v2.52
97+
-----------------
98+
99+
* Ever since we added whitespace rules for this project, we misspelt
100+
an entry, which has been corrected.
101+
(merge 358e94dc70 jc/gitattributes-whitespace-no-indent-fix later to maint).
102+
103+
* The code to expand attribute macros has been rewritten to avoid
104+
recursion to avoid running out of stack space in an uncontrolled
105+
way.
106+
(merge 42ed046866 jk/attr-macroexpand-wo-recursion later to maint).
107+
108+
* Adding a repository that uses a different hash function is a no-no,
109+
but "git submodule add" did nt prevent it, which has been corrected.
110+
(merge 6fe288bfbc bc/submodule-force-same-hash later to maint).
111+
112+
* An earlier check added to osx keychain credential helper to avoid
113+
storing the credential itself supplied was overeager and rejected
114+
credential material supplied by other helper backends that it would
115+
have wanted to store, which has been corrected.
116+
(merge 4580bcd235 kn/osxkeychain-idempotent-store-fix later to maint).
117+
118+
* The "git repo structure" subcommand tried to align its output but
119+
mixed up byte count and display column width, which has been
120+
corrected.
121+
(merge 7a03a10a3a jx/repo-struct-utf8width-fix later to maint).
122+
123+
* Yet another corner case fix around renames in the "ort" merge
124+
strategy.
125+
(merge a562d90a35 en/ort-rename-another-fix later to maint).
126+
127+
* Test leakfix.
128+
(merge 14b561e768 jk/test-mktemp-leakfix later to maint).
129+
130+
* Update a version of action used at the GitHub Actrions CI.
131+
(merge cd99203f86 js/ci-github-setup-go-update later to maint).
132+
133+
* The "return errno = EFOO, -1" construct, which is heavily used in
134+
compat/mingw.c and triggers warnings under "-Wcomma", has been
135+
rewritten to avoid the warnings.
136+
(merge af3919816f js/mingw-assign-comma-fix later to maint).
137+
138+
* Makefile based build have recently been updated to build a
139+
libgit.a that also has reftable and xdiff objects; CMake based
140+
build procedure has been updated to match.
141+
(merge b0d5c88cca js/cmake-libgit-fix later to maint).
142+
143+
* Under-allocation fix.
144+
(merge d22a488482 js/wincred-get-credential-alloc-fix later to maint).
145+
146+
* "git worktree list" attempts to show paths to worktrees while
147+
aligning them, but miscounted display columns for the paths when
148+
non-ASCII characters were involved, which has been corrected.
149+
(merge 08dfa59835 pw/worktree-list-display-width-fix later to maint).
150+
151+
* "Windows+meson" job at the GitHub Actions CI was hard to debug, as
152+
it did not show and save failed test artifacts, which has been
153+
corrected.
154+
(merge 17bd1108ea jk/ci-windows-meson-test-fix later to maint).
155+
156+
* Emulation code clean-up.
157+
(merge 2367c6bcd6 gf/win32-pthread-cond-wait-err later to maint).
158+
159+
* Various issues detected by Asan have been corrected.
160+
(merge a031b6181a jk/asan-bonanza later to maint).
161+
162+
* "git config get --path" segfaulted on an ":(optional)path" that
163+
does not exist, which has been corrected.
164+
(merge 0bd16856ff jc/optional-path later to maint).
165+
166+
* The "--committer-date-is-author-date" option of "git am/rebase" is
167+
a misguided one. The documentation is updated to discourage its
168+
use.
169+
(merge fbf3d0669f kh/doc-committer-date-is-author-date later to maint).
170+
171+
* The option help text given by "git config unset -h" described
172+
the "--all" option to "replace", not "unset", multiple variables,
173+
which has been corrected.
174+
(merge 18bf67b753 rs/config-unset-opthelp-fix later to maint).
175+
176+
* The error message given by "git config set", when the variable
177+
being updated has more than one values defined, used old style "git
178+
config" syntax with an incorrect option in its hint, both of which
179+
have been corrected.
180+
(merge df963f0df4 rs/config-set-multi-error-message-fix later to maint).
181+
182+
* "git replay" forgot to omit the "gpgsig-sha256" extended header
183+
from the resulting commit the same way it omits "gpgsig", which has
184+
been corrected.
185+
(merge 9f3a115087 pw/replay-exclude-gpgsig-fix later to maint).
186+
187+
* A few tests have been updated to work under the shell compatible
188+
mode of zsh.
189+
(merge a92f243a94 bc/zsh-testsuite later to maint).
190+
191+
* The way patience diff finds LCS has been optimized.
192+
(merge c7e3b8085b yc/xdiff-patience-optim later to maint).
193+
194+
* Recent optimization to "last-modified" command introduced use of
195+
uninitialized block of memory, which has been corrected.
196+
(merge fe4e60759b tc/last-modified-active-paths-optimization later to maint).
197+
198+
* "git last-modified" used to mishandle "--" to mark the beginning of
199+
pathspec, which has been corrected.
200+
(merge 05491b90ce js/last-modified-with-sparse-checkouts later to maint).
201+
202+
* Emulation code clean-up.
203+
(merge 42aa7603aa gf/win32-pthread-cond-init later to maint).
204+
205+
* "git submodule add" to add a submodule under <name> segfaulted,
206+
when a submodule.<name>.something is already in .gitmodules file
207+
without defining where its submodule.<name>.path is, which has been
208+
corrected.
209+
(merge dd8e8c786e jc/submodule-add later to maint).
210+
211+
* "git fetch" that involves fetching tags, when a tag being fetched
212+
needs to overwrite existing one, failed to fetch other tags, which
213+
has been corrected.
214+
(merge b7b17ec8a6 kn/fix-fetch-backfill-tag-with-batched-ref-updates later to maint).
215+
216+
* Document "rev-list --filter-provided-objects" better.
217+
(merge 6d8dc99478 jt/doc-rev-list-filter-provided-objects later to maint).
218+
219+
* Even when there is no changes in the packfile and no need to
220+
recompute bitmaps, "git repack" recomputed and updated the MIDX
221+
file, which has been corrected.
222+
(merge 6ce9d558ce ps/repack-avoid-noop-midx-rewrite later to maint).
223+
224+
* Update HTTP tests to adjust for changes in curl 8.18.0
225+
(merge 17f4b01da7 jk/test-curl-updates later to maint).
226+
227+
* Workaround the "iconv" shipped as part of macOS, which is broken
228+
handling stateful ISO/IEC 2022 encoded strings.
229+
(merge cee341e9dd rs/macos-iconv-workaround later to maint).
230+
231+
* Running "git diff" with "--name-only" and other options that allows
232+
us not to look at the blob contents, while objects that are lazily
233+
fetched from a promisor remote, caused use-after-free, which has
234+
been corrected.
235+
236+
* The ort merge machinery hit an assertion failure in a history with
237+
criss-cross merges renamed a directory and a non-directory, which
238+
has been corrected.
239+
(merge 979ee83e8a en/ort-recursive-d-f-conflict-fix later to maint).
240+
241+
* Diagnose invalid bundle-URI that lack the URI entry, instead of
242+
crashing.
243+
(merge 7796c14a1a sb/bundle-uri-without-uri later to maint).
244+
245+
* Mailmap update for Karsten
246+
(merge e97678c4ef js/mailmap-karsten-blees later to maint).
247+
248+
* Other code cleanup, docfix, build fix, etc.
249+
(merge 46207a54cc qj/doc-http-bad-want-response later to maint).
250+
(merge df90eccd93 kh/doc-commit-extra-references later to maint).
251+
(merge f18aa68861 rs/xmkstemp-simplify later to maint).
252+
(merge fddba8f737 ja/doc-synopsis-style later to maint).
253+
(merge 22ce0cb639 en/xdiff-cleanup-2 later to maint).
254+
(merge 8ef7355a8f je/doc-pull later to maint).
255+
(merge 48176f953f jc/capability-leak later to maint).
256+
(merge 8cbbdc92f7 kh/doc-pre-commit-fix later to maint).
257+
(merge d4bc39a4d9 mh/doc-config-gui-gcwarning later to maint).
258+
(merge 41d425008a kh/doc-send-email-paragraph-fix later to maint).
259+
(merge d4b732899e jc/macports-darwinports later to maint).
260+
(merge bab391761d kj/pull-options-decl-cleanup later to maint).
261+
(merge 007b8994d4 rs/t4014-git-version-string-fix later to maint).
262+
(merge 4ce170c522 ds/doc-scalar-config later to maint).
263+
(merge a0c813951a jc/doc-commit-signoff-config later to maint).
264+
(merge 8ee262985a ja/doc-misc-fixes later to maint).
265+
(merge 1722c2244b mh/doc-core-attributesfile later to maint).
266+
(merge c469ca26c5 dk/ci-rust-fix later to maint).
267+
(merge 12f0be0857 gf/clear-path-cache-cleanup later to maint).
268+
(merge 949df6ed6b js/test-func-comment-fix later to maint).
269+
(merge 93f894c001 bc/checkout-error-message-fix later to maint).
270+
(merge abf05d856f rs/show-branch-prio-queue later to maint).
271+
(merge 06188ea5f3 rs/parse-config-expiry-simplify later to maint).
272+
(merge 861dbb1586 dd/t5403-modernise later to maint).
273+
(merge acffc5e9e5 ja/doc-synopsis-style-more later to maint).

0 commit comments

Comments
 (0)