Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
b71b9d7
doc: convert git-imap-send synopsis and options to new style
jnavila Jul 23, 2026
e9a99ef
doc: convert git-format-patch synopsis and options to new style
jnavila Jul 23, 2026
8f41ed1
doc: convert git-send-email synopsis and options to new style
jnavila Jul 23, 2026
f8c6bb6
doc: convert git-request-pull synopsis and options to new style
jnavila Jul 23, 2026
a592d6f
test-lib-functions: add commit_body helper
shkuls Jul 27, 2026
9539653
t: use commit_body to extract commit message bodies
shkuls Jul 27, 2026
89454a6
merge-base: add tests for --is-ancestor
nikolauspschuetz Jul 30, 2026
338765b
doc: link to config for git-replay(1)
LemmingAvalanche Jul 30, 2026
0c93a65
doc: replay: improve config description
LemmingAvalanche Jul 30, 2026
dafab05
doc: replay: use a nested description list
LemmingAvalanche Jul 30, 2026
48c0549
doc: replay: move “default” to the right-hand side
LemmingAvalanche Jul 30, 2026
7d57eb4
mv: name both source and destination when rename fails
ZamboniL Jul 30, 2026
062d90b
mv: reject a destination whose leading path is missing or a symlink
ZamboniL Jul 30, 2026
bf6bc2a
Merge branch 'ja/doc-synopsis-style-yet-more'
gitster Aug 11, 2026
3307faf
Merge branch 'sk/test-commit-body-helper'
gitster Aug 11, 2026
461ed7e
Merge branch 'kh/doc-replay-config'
gitster Aug 11, 2026
4753128
Merge branch 'lo/mv-missing-dest-dir-check'
gitster Aug 11, 2026
97895a8
Merge branch 'ns/merge-base-is-ancestor-tests'
gitster Aug 11, 2026
11c6700
The 13th batch
gitster Aug 11, 2026
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
24 changes: 24 additions & 0 deletions Documentation/RelNotes/2.56.0.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,12 @@ UI, Workflows & Features
* 'git branch -d' has been taught to report when a branch cannot be
deleted because it is being used in an active bisect run.

* 'git mv' has been updated to check for a missing destination
leading directory during the checking phase, allowing 'git mv -n'
to report the failure. The error message when the rename(2)
syscall fails has also been improved to name both the source and
the destination.


Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
Expand Down Expand Up @@ -314,6 +320,20 @@ Performance, Internal Implementation, Development Support etc.
before the walk reaches it does not prematurely mutate its tracked
line ranges, making it safer for potential lookahead evaluations.

* Synopsis and options in the documentation for 'git format-patch',
'git imap-send', 'git send-email', and 'git request-pull' have been
updated to the modern style.

* A new test helper commit_body() has been introduced to print the
message body of a commit, and various tests have been updated to use
it instead of spelling out the command pipeline manually and losing
the exit status of the 'git cat-file' command on the upstream of the
pipe.

* Tests for 'git merge-base --is-ancestor' have been added to cover
exit codes (0 for success, 1 for non-ancestor, 128 for errors) and
to ensure it cannot be combined with '--all'.


Fixes since v2.55
-----------------
Expand Down Expand Up @@ -535,3 +555,7 @@ Fixes since v2.55
invalidated cache-tree node (due to an intent-to-add path) has been
fixed by avoiding collapsing such subtrees.
(merge eede1e69fe ds/sparse-index-ita-crash later to maint).

* Documentation for 'git replay' has been updated to refer to its
configuration variables.
(merge 48c0549f5c kh/doc-replay-config later to maint).
2 changes: 2 additions & 0 deletions Documentation/config.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,8 @@ include::config/remotes.adoc[]

include::config/repack.adoc[]

include::config/replay.adoc[]

include::config/rerere.adoc[]

include::config/revert.adoc[]
Expand Down
2 changes: 1 addition & 1 deletion Documentation/config/imap.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
`imap.authMethod`::
Specify the authentication method for authenticating with the IMAP server.
If Git was built with the NO_CURL option, or if your curl version is older
than 7.34.0, or if you're running git-imap-send with the `--no-curl`
than 7.34.0, or if you're running `git-imap-send` with the `--no-curl`
option, the only supported methods are `PLAIN`, `CRAM-MD5`, `OAUTHBEARER`
and `XOAUTH2`. If this is not set then `git imap-send` uses the basic IMAP
plaintext `LOGIN` command.
19 changes: 13 additions & 6 deletions Documentation/config/replay.adoc
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
replay.refAction::
Specifies the default mode for handling reference updates in
`git replay`. The value can be:
Specifies the default mode for handling reference updates.
The value can be:
+
--
* `update`: Update refs directly using an atomic transaction (default behavior).
* `print`: Output update-ref commands for pipeline use.
////
These use the first sentences from the description list in git-replay(1).
////
`update`;; (default) Update refs directly using an atomic transaction.
`print`;; Output update-ref commands for pipeline use.
--
+
This setting can be overridden with the `--ref-action` command-line option.
When not configured, `git replay` defaults to `update` mode.
ifdef::git-replay[]
See `--ref-action`.
endif::git-replay[]
ifndef::git-replay[]
See `--ref-action` in linkgit:git-replay[1] for details.
endif::git-replay[]
92 changes: 46 additions & 46 deletions Documentation/config/sendemail.adoc
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
sendemail.identity::
`sendemail.identity`::
A configuration identity. When given, causes values in the
`sendemail.<identity>` subsection to take precedence over
values in the `sendemail` section. The default identity is
the value of `sendemail.identity`.

sendemail.smtpEncryption::
`sendemail.smtpEncryption`::
See linkgit:git-send-email[1] for description. Note that this
setting is not subject to the `identity` mechanism.

sendemail.smtpSSLCertPath::
`sendemail.smtpSSLCertPath`::
Path to ca-certificates (either a directory or a single file).
Set it to an empty string to disable certificate verification.

sendemail.smtpSSLClientCert::
`sendemail.smtpSSLClientCert`::
Path to the client certificate file to present if requested by the
server. This is required when the server is set up to verify client
certificates. If the corresponding private key is not included in the
file, it must be supplied using `sendemail.smtpSSLClientKey` or the
`--smtp-ssl-client-key` option.

sendemail.smtpSSLClientKey::
`sendemail.smtpSSLClientKey`::
Path to the client private key file that corresponds to the client
certificate. To avoid misconfiguration, this configuration must be used
in conjunction with `sendemail.smtpSSLClientCert` or the
Expand All @@ -28,45 +28,45 @@ sendemail.smtpSSLClientKey::
the certificate. Visit https://metacpan.org/pod/IO::Socket::SSL for more
details.

sendemail.<identity>.*::
Identity-specific versions of the `sendemail.*` parameters
`sendemail.<identity>.<config>`::
Identity-specific versions of the `sendemail.<config>` parameters
found below, taking precedence over those when this
identity is selected, through either the command-line or
`sendemail.identity`.

sendemail.multiEdit::
`sendemail.multiEdit`::
If `true` (default), a single editor instance will be spawned to edit
files you have to edit (patches when `--annotate` is used, and the
summary when `--compose` is used). If `false`, files will be edited one
after the other, spawning a new editor each time.

sendemail.confirm::
`sendemail.confirm`::
Sets the default for whether to confirm before sending. Must be
one of `always`, `never`, `cc`, `compose`, or `auto`. See `--confirm`
in the linkgit:git-send-email[1] documentation for the meaning of these
values.

sendemail.mailmap::
`sendemail.mailmap`::
If `true`, makes linkgit:git-send-email[1] assume `--mailmap`,
otherwise assume `--no-mailmap`. `False` by default.

sendemail.mailmap.file::
`sendemail.mailmap.file`::
The location of a linkgit:git-send-email[1] specific augmenting
mailmap file. The default mailmap and `mailmap.file` are loaded
first. Thus, entries in this file take precedence over entries in
the default mailmap locations. See linkgit:gitmailmap[5].

sendemail.mailmap.blob::
`sendemail.mailmap.blob`::
Like `sendemail.mailmap.file`, but consider the value as a reference
to a blob in the repository. Entries in `sendemail.mailmap.file`
take precedence over entries here. See linkgit:gitmailmap[5].

sendemail.aliasesFile::
`sendemail.aliasesFile`::
To avoid typing long email addresses, point this to one or more
email aliases files. You must also supply `sendemail.aliasFileType`.

sendemail.aliasFileType::
Format of the file(s) specified in sendemail.aliasesFile. Must be
`sendemail.aliasFileType`::
Format of the file(s) specified in `sendemail.aliasesFile`. Must be
one of `mutt`, `mailrc`, `pine`, `elm`, `gnus`, or `sendmail`.
+
What an alias file in each format looks like can be found in
Expand All @@ -75,7 +75,7 @@ differences and limitations from the standard formats are
described below:
+
--
sendmail;;
`sendmail`;;
* Quoted aliases and quoted addresses are not supported: lines that
contain a `"` symbol are ignored.
* Redirection to a file (`/path/name`) or pipe (`|command`) is not
Expand All @@ -85,54 +85,54 @@ sendmail;;
explicitly unsupported constructs, and any other lines that are not
recognized by the parser.
--
sendemail.annotate::
sendemail.bcc::
sendemail.cc::
sendemail.ccCmd::
sendemail.chainReplyTo::
sendemail.envelopeSender::
sendemail.from::
sendemail.headerCmd::
sendemail.signedOffByCc::
sendemail.smtpPass::
sendemail.suppressCc::
sendemail.suppressFrom::
sendemail.to::
sendemail.toCmd::
sendemail.smtpDomain::
sendemail.smtpServer::
sendemail.smtpServerPort::
sendemail.smtpServerOption::
sendemail.smtpUser::
sendemail.imapSentFolder::
sendemail.useImapOnly::
sendemail.thread::
sendemail.transferEncoding::
sendemail.validate::
sendemail.xmailer::
`sendemail.annotate`::
`sendemail.bcc`::
`sendemail.cc`::
`sendemail.ccCmd`::
`sendemail.chainReplyTo`::
`sendemail.envelopeSender`::
`sendemail.from`::
`sendemail.headerCmd`::
`sendemail.signedOffByCc`::
`sendemail.smtpPass`::
`sendemail.suppressCc`::
`sendemail.suppressFrom`::
`sendemail.to`::
`sendemail.toCmd`::
`sendemail.smtpDomain`::
`sendemail.smtpServer`::
`sendemail.smtpServerPort`::
`sendemail.smtpServerOption`::
`sendemail.smtpUser`::
`sendemail.imapSentFolder`::
`sendemail.useImapOnly`::
`sendemail.thread`::
`sendemail.transferEncoding`::
`sendemail.validate`::
`sendemail.xmailer`::
These configuration variables all provide a default for
linkgit:git-send-email[1] command-line options. See its
documentation for details.

sendemail.outlookidfix::
`sendemail.outlookidfix`::
If `true`, makes linkgit:git-send-email[1] assume `--outlook-id-fix`,
and if `false` assume `--no-outlook-id-fix`. If not specified, it will
behave the same way as if `--outlook-id-fix` is not specified.

sendemail.signedOffCc (deprecated)::
`sendemail.signedOffCc` (deprecated)::
Deprecated alias for `sendemail.signedOffByCc`.

sendemail.smtpBatchSize::
`sendemail.smtpBatchSize`::
Number of messages to be sent per connection, after that a relogin
will happen. If the value is `0` or undefined, send all messages in
one connection.
See also the `--batch-size` option of linkgit:git-send-email[1].

sendemail.smtpReloginDelay::
`sendemail.smtpReloginDelay`::
Seconds to wait before reconnecting to the smtp server.
See also the `--relogin-delay` option of linkgit:git-send-email[1].

sendemail.forbidSendmailVariables::
`sendemail.forbidSendmailVariables`::
To avoid common misconfiguration mistakes, linkgit:git-send-email[1]
will abort with a warning if any configuration options for `sendmail`
exist. Set this variable to bypass the check.
8 changes: 4 additions & 4 deletions Documentation/diff-options.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ endif::git-diff[]
endif::git-format-patch[]

ifdef::git-format-patch[]
-p::
--no-stat::
`-p`::
`--no-stat`::
Generate plain patches without any diffstats.
endif::git-format-patch[]

Expand Down Expand Up @@ -893,8 +893,8 @@ endif::git-format-patch[]
reverted with `--ita-visible-in-index`. Both options are
experimental and could be removed in future.

--max-depth=<depth>::
For each pathspec given on command line, descend at most `<depth>`
`--max-depth=<depth>`::
For each pathspec given on command line, descend at most _<depth>_
levels of directories. A value of `-1` means no limit.
Cannot be combined with wildcards in the pathspec.
Given a tree containing `foo/bar/baz`, the following list shows the
Expand Down
Loading