Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
7b0c379
SubmittingPatches: add section about AI
chriscool Oct 1, 2025
a35952b
t/lib-gpg: add prepare_gnupghome() to create GNUPGHOME dir
tmzullinger Jul 3, 2024
6cd8369
t/lib-gpg: call prepare_gnupghome() in GPG2 prereq
tmzullinger Jul 3, 2024
026ad60
builtin/repo: rename repo_info() to cmd_repo_info()
jltobler Oct 21, 2025
eafc03d
ref-filter: allow NULL filter pattern
jltobler Oct 21, 2025
6d1997f
ref-filter: export ref_kind_from_refname()
jltobler Oct 21, 2025
bbb2b93
builtin/repo: introduce structure subcommand
jltobler Oct 21, 2025
eb5cf58
builtin/repo: add object counts in structure output
jltobler Oct 21, 2025
1721567
builtin/repo: add keyvalue and nul format for structure stats
jltobler Oct 21, 2025
16a93c0
builtin/repo: add progress meter for structure stats
jltobler Oct 21, 2025
595be20
contrib/credential: add install target
uhle Oct 25, 2025
6661cde
refs: add missing remove_on_disk implementation for debug backend
RuanXinyu Oct 24, 2025
29181ab
MyFirstContribution: add note on confirming patches
QueenJcloud Oct 27, 2025
d24220b
doc: git-checkout: fix placeholder markup
LemmingAvalanche Oct 28, 2025
f711f37
t1016-compatObjectFormat: really freeze time for reproduciblity
ebiederm Oct 28, 2025
8a6d158
doc: document backslash in gitignore patterns
peff Oct 29, 2025
85333aa
test-tool: fix leak in delete-gpgsig command
peff Oct 29, 2025
3012e5b
Merge branch 'cc/doc-submitting-patches-with-ai'
gitster Nov 4, 2025
1750483
Merge branch 'tu/credential-install'
gitster Nov 4, 2025
a9db6c6
Merge branch 'jt/repo-structure'
gitster Nov 4, 2025
8f0d663
Merge branch 'tz/test-prepare-gnupghome'
gitster Nov 4, 2025
aa61d1f
Merge branch 'qj/doc-my1stcontrib-email-verify'
gitster Nov 4, 2025
5179642
Merge branch 'xr/ref-debug-remove-on-disk'
gitster Nov 4, 2025
a82fd50
Merge branch 'kh/doc-checkout-markup-fix'
gitster Nov 4, 2025
55e8615
Merge branch 'eb/t1016-hash-transition-fix'
gitster Nov 4, 2025
377e8e2
Merge branch 'jk/test-delete-gpgsig-leakfix'
gitster Nov 4, 2025
5931b6b
Merge branch 'jk/doc-backslash-in-exclude'
gitster Nov 4, 2025
4cf919b
A bit more before rc1
gitster Nov 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Documentation/MyFirstContribution.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -1153,6 +1153,11 @@ NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but
please don't send your patchset from the tutorial to the real mailing list! For
now, you can send it to yourself, to make sure you understand how it will look.

NOTE: After sending your patches, you can confirm that they reached the mailing
list by visiting https://lore.kernel.org/git/. Use the search bar to find your
name or the subject of your patch. If it appears, your email was successfully
delivered.

After you run the command above, you will be presented with an interactive
prompt for each patch that's about to go out. This gives you one last chance to
edit or quit sending something (but again, don't edit code this way). Once you
Expand Down
25 changes: 25 additions & 0 deletions Documentation/RelNotes/2.52.0.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ UI, Workflows & Features
avoids doing maintenance tasks that rebuilds everything from
scratch.

* "git repo structure", a new command.


Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
Expand Down Expand Up @@ -165,6 +167,18 @@ Performance, Internal Implementation, Development Support etc.
* The code to walk revision graph to compute merge base has been
optimized.

* AI guidelines has been added to our documentation set.

* Contributed credential helpers (obviously in contrib/) now have "cd
$there && make install" target.

* The "MyFirstContribution" tutorial tells the reader how to send out
their patches; the section gained a hint to verify the message
reached the mailing list.

* The "debug" ref-backend was missing a method implementation, which
has been corrected.


Fixes since v2.51
-----------------
Expand Down Expand Up @@ -397,6 +411,15 @@ including security updates, are included in this release.
"foo**/bar" match with "foobar", which has been corrected.
(merge 1940a02dc1 jk/match-pathname-fix later to maint).

* Tests did not set up GNUPGHOME correctly, which is fixed but some
flaky tests are exposed in t1016, which needs to be addressed
before this topic can move forward.
(merge 6cd8369ef3 tz/test-prepare-gnupghome later to maint).

* The patterns used in the .gitignore files use backslash in the way
documented for fnmatch(3); document as such to reduce confusion.
(merge 8a6d158a1d jk/doc-backslash-in-exclude later to maint).

* Other code cleanup, docfix, build fix, etc.
(merge 529a60a885 ua/t1517-short-help-tests later to maint).
(merge 22d421fed9 ac/deglobal-fmt-merge-log-config later to maint).
Expand All @@ -409,3 +432,5 @@ including security updates, are included in this release.
(merge 15b8abde07 js/mingw-includes-cleanup later to maint).
(merge 2cebca0582 tb/cat-file-objectmode-update later to maint).
(merge 8f487db07a kh/doc-patch-id-1 later to maint).
(merge f711f37b05 eb/t1016-hash-transition-fix later to maint).
(merge 85333aa1af jk/test-delete-gpgsig-leakfix later to maint).
28 changes: 28 additions & 0 deletions Documentation/SubmittingPatches
Original file line number Diff line number Diff line change
Expand Up @@ -446,6 +446,34 @@ highlighted above.
Only capitalize the very first letter of the trailer, i.e. favor
"Signed-off-by" over "Signed-Off-By" and "Acked-by:" over "Acked-By".

[[ai]]
=== Use of Artificial Intelligence (AI)

The Developer's Certificate of Origin requires contributors to certify
that they know the origin of their contributions to the project and
that they have the right to submit it under the project's license.
It's not yet clear that this can be legally satisfied when submitting
significant amount of content that has been generated by AI tools.

Another issue with AI generated content is that AIs still often
hallucinate or just produce bad code, commit messages, documentation
or output, even when you point out their mistakes.

To avoid these issues, we will reject anything that looks AI
generated, that sounds overly formal or bloated, that looks like AI
slop, that looks good on the surface but makes no sense, or that
senders don’t understand or cannot explain.

We strongly recommend using AI tools carefully and responsibly.

Contributors would often benefit more from AI by using it to guide and
help them step by step towards producing a solution by themselves
rather than by asking for a full solution that they would then mostly
copy-paste. They can also use AI to help with debugging, or with
checking for obvious mistakes, things that can be improved, things
that don’t match our style, guidelines or our feedback, before sending
it to us.

[[git-tools]]
=== Generate your patch using Git tools out of your commits.

Expand Down
4 changes: 2 additions & 2 deletions Documentation/git-checkout.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ uncommitted changes.
`git checkout -B <branch> [<start-point>]`::

The same as `-b`, except that if the branch already exists it
resets `_<branch>_` to the start point instead of failing.
resets _<branch>_ to the start point instead of failing.

`git checkout --detach [<branch>]`::
`git checkout [--detach] <commit>`::
Expand Down Expand Up @@ -155,7 +155,7 @@ of it").

`-B <new-branch>`::
The same as `-b`, except that if the branch already exists it
resets `_<branch>_` to the start point instead of failing.
resets _<branch>_ to the start point instead of failing.

`-t`::
`--track[=(direct|inherit)]`::
Expand Down
30 changes: 30 additions & 0 deletions Documentation/git-repo.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ SYNOPSIS
--------
[synopsis]
git repo info [--format=(keyvalue|nul)] [-z] [<key>...]
git repo structure [--format=(table|keyvalue|nul)]

DESCRIPTION
-----------
Expand Down Expand Up @@ -43,6 +44,35 @@ supported:
+
`-z` is an alias for `--format=nul`.

`structure [--format=(table|keyvalue|nul)]`::
Retrieve statistics about the current repository structure. The
following kinds of information are reported:
+
* Reference counts categorized by type
* Reachable object counts categorized by type

+
The output format can be chosen through the flag `--format`. Three formats are
supported:
+
`table`:::
Outputs repository stats in a human-friendly table. This format may
change and is not intended for machine parsing. This is the default
format.

`keyvalue`:::
Each line of output contains a key-value pair for a repository stat.
The '=' character is used to delimit between the key and the value.
Values containing "unusual" characters are quoted as explained for the
configuration variable `core.quotePath` (see linkgit:git-config[1]).

`nul`:::
Similar to `keyvalue`, but uses a NUL character to delimit between
key-value pairs instead of a newline. Also uses a newline character as
the delimiter between the key and value instead of '='. Unlike the
`keyvalue` format, values containing "unusual" characters are never
quoted.

INFO KEYS
---------
In order to obtain a set of values from `git repo info`, you should provide
Expand Down
5 changes: 5 additions & 0 deletions Documentation/gitignore.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,11 @@ PATTERN FORMAT
one of the characters in a range. See fnmatch(3) and the
FNM_PATHNAME flag for a more detailed description.

- A backslash ("`\`") can be used to escape any character. E.g., "`\*`"
matches a literal asterisk (and "`\a`" matches "`a`", even though
there is no need for escaping there). As with fnmatch(3), a backslash
at the end of a pattern is an invalid pattern that never matches.

Two consecutive asterisks ("`**`") in patterns matched against
full pathname may have special meaning:

Expand Down
Loading