Skip to content

Commit f98643f

Browse files
committed
Merge branch 'master' of github.com:git/git
* 'master' of github.com:git/git: (51 commits) Hopefully the last batch of fixes before 2.44 final Git 2.43.2 A few more fixes before -rc1 write-or-die: fix the polarity of GIT_FLUSH environment variable A few more topics before -rc1 completion: add and use __git_compute_second_level_config_vars_for_section completion: add and use __git_compute_first_level_config_vars_for_section completion: complete 'submodule.*' config variables completion: add space after config variable names also in Bash 3 receive-pack: use find_commit_header() in check_nonce() ci(linux32): add a note about Actions that must not be updated ci: bump remaining outdated Actions versions unit-tests: do show relative file paths on non-Windows, too receive-pack: use find_commit_header() in check_cert_push_options() prune: mark rebase autostash and orig-head as reachable sequencer: unset GIT_CHERRY_PICK_HELP for 'exec' commands ref-filter.c: sort formatted dates by byte value ssh signing: signal an error with a negative return value bisect: document command line arguments for "bisect start" bisect: document "terms" subcommand more fully ...
2 parents 6032aee + 4fc51f0 commit f98643f

Some content is hidden

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

62 files changed

+1119
-539
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,7 @@ a mailing list ([email protected]) for code submissions, code reviews, and
44
bug reports. Nevertheless, you can use GitGitGadget (https://gitgitgadget.github.io/)
55
to conveniently send your Pull Requests commits to our mailing list.
66

7+
For a single-commit pull request, please *leave the pull request description
8+
empty*: your commit message itself should describe your changes.
9+
710
Please read the "guidelines for contributing" linked above!

.github/workflows/check-whitespace.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
check-whitespace:
2020
runs-on: ubuntu-latest
2121
steps:
22-
- uses: actions/checkout@v3
22+
- uses: actions/checkout@v4
2323
with:
2424
fetch-depth: 0
2525

.github/workflows/coverity.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
COVERITY_LANGUAGE: cxx
3939
COVERITY_PLATFORM: overridden-below
4040
steps:
41-
- uses: actions/checkout@v3
41+
- uses: actions/checkout@v4
4242
- name: install minimal Git for Windows SDK
4343
if: contains(matrix.os, 'windows')
4444
uses: git-for-windows/setup-git-for-windows-sdk@v1
@@ -98,7 +98,7 @@ jobs:
9898
# A cache miss will add ~30s to create, but a cache hit will save minutes.
9999
- name: restore the Coverity Build Tool
100100
id: cache
101-
uses: actions/cache/restore@v3
101+
uses: actions/cache/restore@v4
102102
with:
103103
path: ${{ runner.temp }}/cov-analysis
104104
key: cov-build-${{ env.COVERITY_LANGUAGE }}-${{ env.COVERITY_PLATFORM }}-${{ steps.lookup.outputs.hash }}
@@ -141,7 +141,7 @@ jobs:
141141
esac
142142
- name: cache the Coverity Build Tool
143143
if: steps.cache.outputs.cache-hit != 'true'
144-
uses: actions/cache/save@v3
144+
uses: actions/cache/save@v4
145145
with:
146146
path: ${{ runner.temp }}/cov-analysis
147147
key: cov-build-${{ env.COVERITY_LANGUAGE }}-${{ env.COVERITY_PLATFORM }}-${{ steps.lookup.outputs.hash }}

.github/workflows/main.yml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
echo "skip_concurrent=$skip_concurrent" >>$GITHUB_OUTPUT
6464
- name: skip if the commit or tree was already tested
6565
id: skip-if-redundant
66-
uses: actions/github-script@v6
66+
uses: actions/github-script@v7
6767
if: steps.check-ref.outputs.enabled == 'yes'
6868
with:
6969
github-token: ${{secrets.GITHUB_TOKEN}}
@@ -112,7 +112,7 @@ jobs:
112112
group: windows-build-${{ github.ref }}
113113
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
114114
steps:
115-
- uses: actions/checkout@v3
115+
- uses: actions/checkout@v4
116116
- uses: git-for-windows/setup-git-for-windows-sdk@v1
117117
- name: build
118118
shell: bash
@@ -123,7 +123,7 @@ jobs:
123123
- name: zip up tracked files
124124
run: git archive -o artifacts/tracked.tar.gz HEAD
125125
- name: upload tracked files and build artifacts
126-
uses: actions/upload-artifact@v3
126+
uses: actions/upload-artifact@v4
127127
with:
128128
name: windows-artifacts
129129
path: artifacts
@@ -140,7 +140,7 @@ jobs:
140140
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
141141
steps:
142142
- name: download tracked files and build artifacts
143-
uses: actions/download-artifact@v3
143+
uses: actions/download-artifact@v4
144144
with:
145145
name: windows-artifacts
146146
path: ${{github.workspace}}
@@ -157,7 +157,7 @@ jobs:
157157
run: ci/print-test-failures.sh
158158
- name: Upload failed tests' directories
159159
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
160-
uses: actions/upload-artifact@v3
160+
uses: actions/upload-artifact@v4
161161
with:
162162
name: failed-tests-windows
163163
path: ${{env.FAILED_TEST_ARTIFACTS}}
@@ -173,10 +173,10 @@ jobs:
173173
group: vs-build-${{ github.ref }}
174174
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
175175
steps:
176-
- uses: actions/checkout@v3
176+
- uses: actions/checkout@v4
177177
- uses: git-for-windows/setup-git-for-windows-sdk@v1
178178
- name: initialize vcpkg
179-
uses: actions/checkout@v3
179+
uses: actions/checkout@v4
180180
with:
181181
repository: 'microsoft/vcpkg'
182182
path: 'compat/vcbuild/vcpkg'
@@ -212,7 +212,7 @@ jobs:
212212
- name: zip up tracked files
213213
run: git archive -o artifacts/tracked.tar.gz HEAD
214214
- name: upload tracked files and build artifacts
215-
uses: actions/upload-artifact@v3
215+
uses: actions/upload-artifact@v4
216216
with:
217217
name: vs-artifacts
218218
path: artifacts
@@ -230,7 +230,7 @@ jobs:
230230
steps:
231231
- uses: git-for-windows/setup-git-for-windows-sdk@v1
232232
- name: download tracked files and build artifacts
233-
uses: actions/download-artifact@v3
233+
uses: actions/download-artifact@v4
234234
with:
235235
name: vs-artifacts
236236
path: ${{github.workspace}}
@@ -248,7 +248,7 @@ jobs:
248248
run: ci/print-test-failures.sh
249249
- name: Upload failed tests' directories
250250
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
251-
uses: actions/upload-artifact@v3
251+
uses: actions/upload-artifact@v4
252252
with:
253253
name: failed-tests-windows
254254
path: ${{env.FAILED_TEST_ARTIFACTS}}
@@ -297,15 +297,15 @@ jobs:
297297
runs_on_pool: ${{matrix.vector.pool}}
298298
runs-on: ${{matrix.vector.pool}}
299299
steps:
300-
- uses: actions/checkout@v3
300+
- uses: actions/checkout@v4
301301
- run: ci/install-dependencies.sh
302302
- run: ci/run-build-and-tests.sh
303303
- name: print test failures
304304
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
305305
run: ci/print-test-failures.sh
306306
- name: Upload failed tests' directories
307307
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
308-
uses: actions/upload-artifact@v3
308+
uses: actions/upload-artifact@v4
309309
with:
310310
name: failed-tests-${{matrix.vector.jobname}}
311311
path: ${{env.FAILED_TEST_ARTIFACTS}}
@@ -317,7 +317,7 @@ jobs:
317317
CC: clang
318318
runs-on: ubuntu-latest
319319
steps:
320-
- uses: actions/checkout@v3
320+
- uses: actions/checkout@v4
321321
- run: ci/install-dependencies.sh
322322
- run: ci/run-build-and-minimal-fuzzers.sh
323323
dockerized:
@@ -342,9 +342,9 @@ jobs:
342342
runs-on: ubuntu-latest
343343
container: ${{matrix.vector.image}}
344344
steps:
345-
- uses: actions/checkout@v3
345+
- uses: actions/checkout@v4
346346
if: matrix.vector.jobname != 'linux32'
347-
- uses: actions/checkout@v1
347+
- uses: actions/checkout@v1 # cannot be upgraded because Node.js Actions aren't supported in this container
348348
if: matrix.vector.jobname == 'linux32'
349349
- run: ci/install-docker-dependencies.sh
350350
- run: ci/run-build-and-tests.sh
@@ -353,13 +353,13 @@ jobs:
353353
run: ci/print-test-failures.sh
354354
- name: Upload failed tests' directories
355355
if: failure() && env.FAILED_TEST_ARTIFACTS != '' && matrix.vector.jobname != 'linux32'
356-
uses: actions/upload-artifact@v3
356+
uses: actions/upload-artifact@v4
357357
with:
358358
name: failed-tests-${{matrix.vector.jobname}}
359359
path: ${{env.FAILED_TEST_ARTIFACTS}}
360360
- name: Upload failed tests' directories
361361
if: failure() && env.FAILED_TEST_ARTIFACTS != '' && matrix.vector.jobname == 'linux32'
362-
uses: actions/upload-artifact@v1
362+
uses: actions/upload-artifact@v1 # cannot be upgraded because Node.js Actions aren't supported in this container
363363
with:
364364
name: failed-tests-${{matrix.vector.jobname}}
365365
path: ${{env.FAILED_TEST_ARTIFACTS}}
@@ -373,7 +373,7 @@ jobs:
373373
group: static-analysis-${{ github.ref }}
374374
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
375375
steps:
376-
- uses: actions/checkout@v3
376+
- uses: actions/checkout@v4
377377
- run: ci/install-dependencies.sh
378378
- run: ci/run-static-analysis.sh
379379
- run: ci/check-directional-formatting.bash
@@ -396,7 +396,7 @@ jobs:
396396
artifact: sparse-20.04
397397
- name: Install the current `sparse` package
398398
run: sudo dpkg -i sparse-20.04/sparse_*.deb
399-
- uses: actions/checkout@v3
399+
- uses: actions/checkout@v4
400400
- name: Install other dependencies
401401
run: ci/install-dependencies.sh
402402
- run: make sparse
@@ -411,6 +411,6 @@ jobs:
411411
jobname: Documentation
412412
runs-on: ubuntu-latest
413413
steps:
414-
- uses: actions/checkout@v3
414+
- uses: actions/checkout@v4
415415
- run: ci/install-dependencies.sh
416416
- run: ci/test-documentation.sh

Documentation/RelNotes/2.43.2.txt

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
Git 2.43.2 Release Notes
2+
========================
3+
4+
Relative to Git 2.43.1, this release has two important fixes to allow
5+
"git imap-send" to be built with NO_CURL defined, and to restore the
6+
forced flushing behaviour when GIT_FLUSH=1 is set. It also contains
7+
other, unexciting, fixes that have already been merged to the 'master'
8+
branch of the development towards the next major release.
9+
10+
Fixes since Git 2.43.1
11+
----------------------
12+
13+
* Update to a new feature recently added, "git show-ref --exists".
14+
15+
* Rename detection logic ignored the final line of a file if it is an
16+
incomplete line.
17+
18+
* "git diff --no-rename A B" did not disable rename detection but did
19+
not trigger an error from the command line parser.
20+
21+
* "git diff --no-index file1 file2" segfaulted while invoking the
22+
external diff driver, which has been corrected.
23+
24+
* Rewrite //-comments to /* comments */ in files whose comments
25+
prevalently use the latter.
26+
27+
* A failed "git tag -s" did not necessarily result in an error
28+
depending on the crypto backend, which has been corrected.
29+
30+
* "git stash" sometimes was silent even when it failed due to
31+
unwritable index file, which has been corrected.
32+
33+
* Recent conversion to allow more than 0/1 in GIT_FLUSH broke the
34+
mechanism by flipping what yes/no means by mistake, which has been
35+
corrected.
36+
37+
Also contains documentation updates, code clean-ups and minor fixups.

Documentation/RelNotes/2.44.0.txt

Lines changed: 52 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,17 @@ UI, Workflows & Features
9191
refresh token the same way as credential-cache and
9292
credential-libsecret backends.
9393

94+
* Command line completion support (in contrib/) has been
95+
updated for "git bisect".
96+
97+
* "git branch" and friends learned to use the formatted text as
98+
sorting key, not the underlying timestamp value, when the --sort
99+
option is used with author or committer timestamp with a format
100+
specifier (e.g., "--sort=creatordate:format:%H:%M:%S").
101+
102+
* The command line completion script (in contrib/) learned to
103+
complete configuration variable names better.
104+
94105

95106
Performance, Internal Implementation, Development Support etc.
96107

@@ -151,6 +162,18 @@ Performance, Internal Implementation, Development Support etc.
151162
* The priority queue test has been migrated to the unit testing
152163
framework.
153164

165+
* Setting `feature.experimental` opts the user into multi-pack reuse
166+
experiment
167+
168+
* Squelch node.js 16 deprecation warnings from GitHub Actions CI
169+
by updating actions/github-script and actions/checkout that use
170+
node.js 20.
171+
172+
* The mechanism to report the filename in the source code, used by
173+
the unit-test machinery, assumed that the compiler expanded __FILE__
174+
to the path to the source given to the $(CC), but some compilers
175+
give full path, breaking the output. This has been corrected.
176+
154177

155178
Fixes since v2.43
156179
-----------------
@@ -234,21 +257,18 @@ Fixes since v2.43
234257
data from commit-graph too early, which has been corrected.
235258

236259
* Update to a new feature recently added, "git show-ref --exists".
237-
(merge 0aabeaa562 tc/show-ref-exists-fix later to maint).
238260

239261
* oss-fuzz tests are built and run in CI.
240262
(merge c4a9cf1df3 js/oss-fuzz-build-in-ci later to maint).
241263

242264
* Rename detection logic ignored the final line of a file if it is an
243265
incomplete line.
244-
(merge 1c5bc6971e en/diffcore-delta-final-line-fix later to maint).
245266

246267
* GitHub CI update.
247268
(merge 0188b2c8e0 pb/ci-github-skip-logs-for-broken-tests later to maint).
248269

249270
* "git diff --no-rename A B" did not disable rename detection but did
250271
not trigger an error from the command line parser.
251-
(merge 457f96252f rs/parse-options-with-keep-unknown-abbrev-fix later to maint).
252272

253273
* "git archive --remote=<remote>" learned to talk over the smart
254274
http (aka stateless) transport.
@@ -265,11 +285,9 @@ Fixes since v2.43
265285

266286
* "git diff --no-index file1 file2" segfaulted while invoking the
267287
external diff driver, which has been corrected.
268-
(merge 85a9a63c92 jk/diff-external-with-no-index later to maint).
269288

270289
* Rewrite //-comments to /* comments */ in files whose comments
271290
prevalently use the latter.
272-
(merge de65079d7b jc/comment-style-fixes later to maint).
273291

274292
* Cirrus CI jobs started breaking because we specified version of
275293
FreeBSD that is no longer available, which has been corrected.
@@ -279,17 +297,37 @@ Fixes since v2.43
279297
as <ptr, length> with a wrong length, which has been corrected.
280298
(merge 156e28b36d jh/sparse-index-expand-to-path-fix later to maint).
281299

300+
* A failed "git tag -s" did not necessarily result in an error
301+
depending on the crypto backend, which has been corrected.
302+
303+
* "git stash" sometimes was silent even when it failed due to
304+
unwritable index file, which has been corrected.
305+
306+
* "git show-ref --verify" did not show things like "CHERRY_PICK_HEAD",
307+
which has been corrected.
308+
309+
* Recent conversion to allow more than 0/1 in GIT_FLUSH broke the
310+
mechanism by flipping what yes/no means by mistake, which has been
311+
corrected.
312+
313+
* The sequencer machinery does not use the ref API and instead
314+
records names of certain objects it needs for its correct operation
315+
in temporary files, which makes these objects susceptible to loss
316+
by garbage collection. These temporary files have been added as
317+
starting points for reachability analysis to fix this.
318+
(merge bc7f5db896 pw/gc-during-rebase later to maint).
319+
320+
* "git cherry-pick" invoked during "git rebase -i" session lost
321+
the authorship information, which has been corrected.
322+
(merge e4301f73ff vn/rebase-with-cherry-pick-authorship later to maint).
323+
324+
* The code paths that call repo_read_object_file() have been
325+
tightened to react to errors.
326+
(merge 568459bf5e js/check-null-from-read-object-file later to maint).
327+
282328
* Other code cleanup, docfix, build fix, etc.
283329
(merge 5aea3955bc rj/clarify-branch-doc-m later to maint).
284330
(merge 9cce3be2df bk/bisect-doc-fix later to maint).
285-
(merge 8f50984cf4 ne/doc-filter-blob-limit-fix later to maint).
286-
(merge f10b0989b8 la/strvec-comment-fix later to maint).
287331
(merge 8430b438f6 vd/fsck-submodule-url-test later to maint).
288-
(merge f10031fadd nb/rebase-x-shell-docfix later to maint).
289-
(merge af3d2c160f jc/majordomo-to-subspace later to maint).
290-
(merge ee9895b0ff sd/negotiate-trace-fix later to maint).
291-
(merge 976d0251ce jc/coc-whitespace-fix later to maint).
292-
(merge 9023198280 jt/p4-spell-re-with-raw-string later to maint).
293-
(merge 36c9c44fa4 tb/pack-bitmap-drop-unused-struct-member later to maint).
294-
(merge 19ed0dff8f js/win32-retry-pipe-write-on-enospc later to maint).
295332
(merge 3cb4384683 jc/t0091-with-unknown-git later to maint).
333+
(merge 020456cb74 rs/receive-pack-remove-find-header later to maint).

Documentation/config/feature.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ skipping more commits at a time, reducing the number of round trips.
1717
+
1818
* `pack.useBitmapBoundaryTraversal=true` may improve bitmap traversal times by
1919
walking fewer objects.
20+
+
21+
* `pack.allowPackReuse=multi` may improve the time it takes to create a pack by
22+
reusing objects from multiple packs instead of just one.
2023

2124
feature.manyFiles::
2225
Enable config options that optimize for repos with many files in the

0 commit comments

Comments
 (0)