Skip to content

Commit 117e2ca

Browse files
committed
Merge branch 'master' of github.com:git/git
* 'master' of github.com:git/git: (51 commits) Git 2.33-rc2 object-file: use unsigned arithmetic with bit mask Revert 'diff-merges: let "-m" imply "-p"' object-store: avoid extra ';' from KHASH_INIT oidtree: avoid nested struct oidtree_node Git 2.33-rc1 test: fix for COLUMNS and bash 5 The eighth batch diff: --pickaxe-all typofix mingw: align symlinks-related rmdir() behavior with Linux t7508: avoid non POSIX BRE use fspathhash() everywhere t0001: fix broken not-quite getcwd(3) test in bed6787 Documentation: render special characters correctly reset: clear_unpack_trees_porcelain to plug leak builtin/rebase: fix options.strategy memory lifecycle builtin/merge: free found_ref when done builtin/mv: free or UNLEAK multiple pointers at end of cmd_mv convert: release strbuf to avoid leak read-cache: call diff_setup_done to avoid leak ...
2 parents 18c9fce + 5d213e4 commit 117e2ca

Some content is hidden

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

50 files changed

+1248
-419
lines changed

Documentation/RelNotes/2.33.0.txt

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,6 @@
11
Git 2.33 Release Notes
22
======================
33

4-
Backward compatibility notes
5-
----------------------------
6-
7-
* The "-m" option in "git log -m" that does not specify which format,
8-
if any, of diff is desired did not have any visible effect; it now
9-
implies some form of diff (by default "--patch") is produced.
10-
11-
You can disable the diff output with "git log -m --no-patch", but
12-
then there probably isn't much point in passing "-m" in the first
13-
place ;-).
14-
15-
164
Updates since Git 2.32
175
----------------------
186

@@ -48,7 +36,7 @@ Performance, Internal Implementation, Development Support etc.
4836
reduce code duplication.
4937

5038
* Repeated rename detections in a sequence of mergy operations have
51-
been optimize out.
39+
been optimized out for the 'ort' merge strategy.
5240

5341
* Preliminary clean-up of tests before the main reftable changes
5442
hits the codebase.
@@ -98,6 +86,11 @@ Performance, Internal Implementation, Development Support etc.
9886
* "git read-tree" had a codepath where blobs are fetched one-by-one
9987
from the promisor remote, which has been corrected to fetch in bulk.
10088

89+
* Rewrite of "git submodule" in C continues.
90+
91+
* "git checkout" and "git commit" learn to work without unnecessarily
92+
expanding sparse indexes.
93+
10194

10295
Fixes since v2.32
10396
-----------------
@@ -237,6 +230,14 @@ Fixes since v2.32
237230
* A race between repacking and using pack bitmaps has been corrected.
238231
(merge dc1daacdcc jk/check-pack-valid-before-opening-bitmap later to maint).
239232

233+
* The local changes stashed by "git merge --autostash" were lost when
234+
the merge failed in certain ways, which has been corrected.
235+
236+
* Windows rmdir() equivalent behaves differently from POSIX ones in
237+
that when used on a symbolic link that points at a directory, the
238+
target directory gets removed, which has been corrected.
239+
(merge 3e7d4888e5 tb/mingw-rmdir-symlink-to-directory later to maint).
240+
240241
* Other code cleanup, docfix, build fix, etc.
241242
(merge bfe35a6165 ah/doc-describe later to maint).
242243
(merge f302c1e4aa jc/clarify-revision-range later to maint).
@@ -278,3 +279,5 @@ Fixes since v2.32
278279
(merge ddcb189d9d tb/bitmap-type-filter-comment-fix later to maint).
279280
(merge 878b399734 pb/submodule-recurse-doc later to maint).
280281
(merge 734283855f jk/config-env-doc later to maint).
282+
(merge 482e1488a9 ab/getcwd-test later to maint).
283+
(merge f0b922473e ar/doc-markup-fix later to maint).

Documentation/SubmittingPatches

Lines changed: 96 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,9 @@ the feature triggers the new behavior when it should, and to show the
7474
feature does not trigger when it shouldn't. After any code change, make
7575
sure that the entire test suite passes.
7676

77-
If you have an account at GitHub (and you can get one for free to work
78-
on open source projects), you can use their Travis CI integration to
79-
test your changes on Linux, Mac (and hopefully soon Windows). See
80-
GitHub-Travis CI hints section for details.
77+
Pushing to a fork of https://github.com/git/git will use their CI
78+
integration to test your changes on Linux, Mac and Windows. See the
79+
<<GHCI,GitHub CI>> section for details.
8180

8281
Do not forget to update the documentation to describe the updated
8382
behavior and make sure that the resulting documentation set formats
@@ -167,6 +166,85 @@ or, on an older version of Git without support for --pretty=reference:
167166
git show -s --date=short --pretty='format:%h (%s, %ad)' <commit>
168167
....
169168

169+
[[sign-off]]
170+
=== Certify your work by adding your `Signed-off-by` trailer
171+
172+
To improve tracking of who did what, we ask you to certify that you
173+
wrote the patch or have the right to pass it on under the same license
174+
as ours, by "signing off" your patch. Without sign-off, we cannot
175+
accept your patches.
176+
177+
If (and only if) you certify the below D-C-O:
178+
179+
[[dco]]
180+
.Developer's Certificate of Origin 1.1
181+
____
182+
By making a contribution to this project, I certify that:
183+
184+
a. The contribution was created in whole or in part by me and I
185+
have the right to submit it under the open source license
186+
indicated in the file; or
187+
188+
b. The contribution is based upon previous work that, to the best
189+
of my knowledge, is covered under an appropriate open source
190+
license and I have the right under that license to submit that
191+
work with modifications, whether created in whole or in part
192+
by me, under the same open source license (unless I am
193+
permitted to submit under a different license), as indicated
194+
in the file; or
195+
196+
c. The contribution was provided directly to me by some other
197+
person who certified (a), (b) or (c) and I have not modified
198+
it.
199+
200+
d. I understand and agree that this project and the contribution
201+
are public and that a record of the contribution (including all
202+
personal information I submit with it, including my sign-off) is
203+
maintained indefinitely and may be redistributed consistent with
204+
this project or the open source license(s) involved.
205+
____
206+
207+
you add a "Signed-off-by" trailer to your commit, that looks like
208+
this:
209+
210+
....
211+
Signed-off-by: Random J Developer <[email protected]>
212+
....
213+
214+
This line can be added by Git if you run the git-commit command with
215+
the -s option.
216+
217+
Notice that you can place your own `Signed-off-by` trailer when
218+
forwarding somebody else's patch with the above rules for
219+
D-C-O. Indeed you are encouraged to do so. Do not forget to
220+
place an in-body "From: " line at the beginning to properly attribute
221+
the change to its true author (see (2) above).
222+
223+
This procedure originally came from the Linux kernel project, so our
224+
rule is quite similar to theirs, but what exactly it means to sign-off
225+
your patch differs from project to project, so it may be different
226+
from that of the project you are accustomed to.
227+
228+
[[real-name]]
229+
Also notice that a real name is used in the `Signed-off-by` trailer. Please
230+
don't hide your real name.
231+
232+
[[commit-trailers]]
233+
If you like, you can put extra tags at the end:
234+
235+
. `Reported-by:` is used to credit someone who found the bug that
236+
the patch attempts to fix.
237+
. `Acked-by:` says that the person who is more familiar with the area
238+
the patch attempts to modify liked the patch.
239+
. `Reviewed-by:`, unlike the other tags, can only be offered by the
240+
reviewers themselves when they are completely satisfied with the
241+
patch after a detailed analysis.
242+
. `Tested-by:` is used to indicate that the person applied the patch
243+
and found it to have the desired effect.
244+
245+
You can also create your own tag or use one that's in common usage
246+
such as "Thanks-to:", "Based-on-patch-by:", or "Mentored-by:".
247+
170248
[[git-tools]]
171249
=== Generate your patch using Git tools out of your commits.
172250

@@ -302,85 +380,6 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and
302380
`Tested-by:` lines as necessary to credit people who helped your
303381
patch, and "cc:" them when sending such a final version for inclusion.
304382

305-
[[sign-off]]
306-
=== Certify your work by adding your `Signed-off-by` trailer
307-
308-
To improve tracking of who did what, we ask you to certify that you
309-
wrote the patch or have the right to pass it on under the same license
310-
as ours, by "signing off" your patch. Without sign-off, we cannot
311-
accept your patches.
312-
313-
If (and only if) you certify the below D-C-O:
314-
315-
[[dco]]
316-
.Developer's Certificate of Origin 1.1
317-
____
318-
By making a contribution to this project, I certify that:
319-
320-
a. The contribution was created in whole or in part by me and I
321-
have the right to submit it under the open source license
322-
indicated in the file; or
323-
324-
b. The contribution is based upon previous work that, to the best
325-
of my knowledge, is covered under an appropriate open source
326-
license and I have the right under that license to submit that
327-
work with modifications, whether created in whole or in part
328-
by me, under the same open source license (unless I am
329-
permitted to submit under a different license), as indicated
330-
in the file; or
331-
332-
c. The contribution was provided directly to me by some other
333-
person who certified (a), (b) or (c) and I have not modified
334-
it.
335-
336-
d. I understand and agree that this project and the contribution
337-
are public and that a record of the contribution (including all
338-
personal information I submit with it, including my sign-off) is
339-
maintained indefinitely and may be redistributed consistent with
340-
this project or the open source license(s) involved.
341-
____
342-
343-
you add a "Signed-off-by" trailer to your commit, that looks like
344-
this:
345-
346-
....
347-
Signed-off-by: Random J Developer <[email protected]>
348-
....
349-
350-
This line can be added by Git if you run the git-commit command with
351-
the -s option.
352-
353-
Notice that you can place your own `Signed-off-by` trailer when
354-
forwarding somebody else's patch with the above rules for
355-
D-C-O. Indeed you are encouraged to do so. Do not forget to
356-
place an in-body "From: " line at the beginning to properly attribute
357-
the change to its true author (see (2) above).
358-
359-
This procedure originally came from the Linux kernel project, so our
360-
rule is quite similar to theirs, but what exactly it means to sign-off
361-
your patch differs from project to project, so it may be different
362-
from that of the project you are accustomed to.
363-
364-
[[real-name]]
365-
Also notice that a real name is used in the `Signed-off-by` trailer. Please
366-
don't hide your real name.
367-
368-
[[commit-trailers]]
369-
If you like, you can put extra tags at the end:
370-
371-
. `Reported-by:` is used to credit someone who found the bug that
372-
the patch attempts to fix.
373-
. `Acked-by:` says that the person who is more familiar with the area
374-
the patch attempts to modify liked the patch.
375-
. `Reviewed-by:`, unlike the other tags, can only be offered by the
376-
reviewers themselves when they are completely satisfied with the
377-
patch after a detailed analysis.
378-
. `Tested-by:` is used to indicate that the person applied the patch
379-
and found it to have the desired effect.
380-
381-
You can also create your own tag or use one that's in common usage
382-
such as "Thanks-to:", "Based-on-patch-by:", or "Mentored-by:".
383-
384383
== Subsystems with dedicated maintainers
385384

386385
Some parts of the system have dedicated maintainers with their own
@@ -449,45 +448,31 @@ their trees themselves.
449448
entitled "What's cooking in git.git" and "What's in git.git" giving
450449
the status of various proposed changes.
451450

452-
[[travis]]
453-
== GitHub-Travis CI hints
451+
== GitHub CI[[GHCI]]]
454452

455-
With an account at GitHub (you can get one for free to work on open
456-
source projects), you can use Travis CI to test your changes on Linux,
457-
Mac (and hopefully soon Windows). You can find a successful example
458-
test build here: https://travis-ci.org/git/git/builds/120473209
453+
With an account at GitHub, you can use GitHub CI to test your changes
454+
on Linux, Mac and Windows. See
455+
https://github.com/git/git/actions/workflows/main.yml for examples of
456+
recent CI runs.
459457

460458
Follow these steps for the initial setup:
461459

462460
. Fork https://github.com/git/git to your GitHub account.
463461
You can find detailed instructions how to fork here:
464462
https://help.github.com/articles/fork-a-repo/
465463

466-
. Open the Travis CI website: https://travis-ci.org
467-
468-
. Press the "Sign in with GitHub" button.
469-
470-
. Grant Travis CI permissions to access your GitHub account.
471-
You can find more information about the required permissions here:
472-
https://docs.travis-ci.com/user/github-oauth-scopes
473-
474-
. Open your Travis CI profile page: https://travis-ci.org/profile
475-
476-
. Enable Travis CI builds for your Git fork.
477-
478-
After the initial setup, Travis CI will run whenever you push new changes
464+
After the initial setup, CI will run whenever you push new changes
479465
to your fork of Git on GitHub. You can monitor the test state of all your
480-
branches here: https://travis-ci.org/__<Your GitHub handle>__/git/branches
466+
branches here: https://github.com/<Your GitHub handle>/git/actions/workflows/main.yml
481467

482468
If a branch did not pass all test cases then it is marked with a red
483-
cross. In that case you can click on the failing Travis CI job and
484-
scroll all the way down in the log. Find the line "<-- Click here to see
485-
detailed test output!" and click on the triangle next to the log line
486-
number to expand the detailed test output. Here is such a failing
487-
example: https://travis-ci.org/git/git/jobs/122676187
488-
489-
Fix the problem and push your fix to your Git fork. This will trigger
490-
a new Travis CI build to ensure all tests pass.
469+
cross. In that case you can click on the failing job and navigate to
470+
"ci/run-build-and-tests.sh" and/or "ci/print-test-failures.sh". You
471+
can also download "Artifacts" which are tarred (or zipped) archives
472+
with test data relevant for debugging.
473+
474+
Then fix the problem and push your fix to your GitHub fork. This will
475+
trigger a new CI build to ensure all tests pass.
491476

492477
[[mua]]
493478
== MUA specific hints

Documentation/diff-options.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,10 @@ ifdef::git-log[]
4949
--diff-merges=m:::
5050
-m:::
5151
This option makes diff output for merge commits to be shown in
52-
the default format. The default format could be changed using
52+
the default format. `-m` will produce the output only if `-p`
53+
is given as well. The default format could be changed using
5354
`log.diffMerges` configuration parameter, which default value
54-
is `separate`. `-m` implies `-p`.
55+
is `separate`.
5556
+
5657
--diff-merges=first-parent:::
5758
--diff-merges=1:::
@@ -61,8 +62,7 @@ ifdef::git-log[]
6162
--diff-merges=separate:::
6263
This makes merge commits show the full diff with respect to
6364
each of the parents. Separate log entry and diff is generated
64-
for each parent. This is the format that `-m` produced
65-
historically.
65+
for each parent.
6666
+
6767
--diff-merges=combined:::
6868
--diff-merges=c:::

Documentation/git-fetch.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ remember to run that, set `fetch.prune` globally, or
133133
linkgit:git-config[1].
134134

135135
Here's where things get tricky and more specific. The pruning feature
136-
doesn't actually care about branches, instead it'll prune local <->
136+
doesn't actually care about branches, instead it'll prune local <-->
137137
remote-references as a function of the refspec of the remote (see
138138
`<refspec>` and <<CRTB,CONFIGURED REMOTE-TRACKING BRANCHES>> above).
139139

Documentation/gittutorial.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ initiating this "pull". If Bob's work conflicts with what Alice did since
322322
their histories forked, Alice will use her working tree and the index to
323323
resolve conflicts, and existing local changes will interfere with the
324324
conflict resolution process (Git will still perform the fetch but will
325-
refuse to merge --- Alice will have to get rid of her local changes in
325+
refuse to merge -- Alice will have to get rid of her local changes in
326326
some way and pull again when this happens).
327327

328328
Alice can peek at what Bob did without merging first, using the "fetch"

Documentation/merge-options.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,8 @@ endif::git-pull[]
154154
--autostash::
155155
--no-autostash::
156156
Automatically create a temporary stash entry before the operation
157-
begins, and apply it after the operation ends. This means
157+
begins, record it in the special ref `MERGE_AUTOSTASH`
158+
and apply it after the operation ends. This means
158159
that you can run the operation on a dirty worktree. However, use
159160
with care: the final stash application after a successful
160161
merge might result in non-trivial conflicts.

GIT-VERSION-GEN

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22

33
GVF=GIT-VERSION-FILE
4-
DEF_VER=v2.33.0-rc0
4+
DEF_VER=v2.33.0-rc2
55

66
LF='
77
'

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -715,6 +715,7 @@ TEST_BUILTINS_OBJS += test-example-decorate.o
715715
TEST_BUILTINS_OBJS += test-fast-rebase.o
716716
TEST_BUILTINS_OBJS += test-genrandom.o
717717
TEST_BUILTINS_OBJS += test-genzeros.o
718+
TEST_BUILTINS_OBJS += test-getcwd.o
718719
TEST_BUILTINS_OBJS += test-hash-speed.o
719720
TEST_BUILTINS_OBJS += test-hash.o
720721
TEST_BUILTINS_OBJS += test-hashmap.o

0 commit comments

Comments
 (0)