* [PATCH v3] doc: git-rebase: update incompatible options
@ 2026-10-20 15:09 Omri Sarig
2026-10-20 16:24 ` Junio C Hamano
0 siblings, 1 reply; 3+ messages in thread
From: Omri Sarig @ 2026-10-20 15:09 UTC (permalink / raw)
To: git
Cc: Omri Sarig, Jeff King, Li Chen, Junio C Hamano, Phillip Wood,
Julia Evans
Several options in the rebase man page link to the "INCOMPATIBLE
OPTIONS" section when the option is no-longer incompatible with any
other option.
- Commit 1a66d8c6f6 (rebase: remove --allow-empty-message from
incompatible opts, 2023-01-25) removed "--allow-empty-message" from
the INCOMPATIBLE OPTIONS section, but did not remove the link to that
section from the option description.
- Commit a74b35081c (rebase: drop support for `--preserve-merges`,
2021-09-07) removed the `--preserve-merges` option from rebase, which
removes all incompatbiilty references to `--ignore-date,
--reset-author-date` and `--signoff`.
Additionally, `--onto` doesn't link to the INCOMPATIBLE OPTIONS section, even
though it is incompatible with `--keep-base`.
Update the description of these option, to have correct references to
the INCOMPATIBLE OPTIONS section.
Signed-off-by: Omri Sarig <omri.sarig13@gmail.com>
---
Thank you for the review!
Changes in V2:
- Update commit message per the review comments from Phillip (Thanks for the
review!).
- Add `--onto` to INCOMPATIEBLE OPTIONS.
Changes in V3:
- Downcase "Update" in commit title
Documentation/git-rebase.adoc | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/Documentation/git-rebase.adoc b/Documentation/git-rebase.adoc
index 6536ebdc90..6363b1a096 100644
--- a/Documentation/git-rebase.adoc
+++ b/Documentation/git-rebase.adoc
@@ -218,6 +218,8 @@ OPTIONS
As a special case, you may use "A\...B" as a shortcut for the
merge base of A and B if there is exactly one merge base. You can
leave out at most one of A and B, in which case it defaults to HEAD.
++
+See also <<INCOMPATIBLE_OPTIONS,INCOMPATIBLE OPTIONS>> below.
See <<TRANSPLANTING,TRANSPLANTING A TOPIC BRANCH WITH --ONTO>>
above for examples.
@@ -334,8 +336,6 @@ See also <<INCOMPATIBLE_OPTIONS,INCOMPATIBLE OPTIONS>> below.
and this option would override that behavior, allowing commits
with empty messages to be rebased. Now commits with an empty
message do not cause rebasing to halt.
-+
-See also <<INCOMPATIBLE_OPTIONS,INCOMPATIBLE OPTIONS>> below.
-m::
--merge::
@@ -489,15 +489,11 @@ applying (in terms of the author date).
Instead of using the author date of the original commit, use
the current time as the author date of the rebased commit. This
option implies `--force-rebase`.
-+
-See also <<INCOMPATIBLE_OPTIONS,INCOMPATIBLE OPTIONS>> below.
--signoff::
Add a `Signed-off-by` trailer to all the rebased commits. Note
that if `--interactive` is given then only commits marked to be
picked, edited or reworded will have the trailer added.
-+
-See also <<INCOMPATIBLE_OPTIONS,INCOMPATIBLE OPTIONS>> below.
--trailer=<trailer>::
Append the given trailer to every rebased commit message, processed
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v3] doc: git-rebase: update incompatible options
2026-10-20 15:09 [PATCH v3] doc: git-rebase: update incompatible options Omri Sarig
@ 2026-10-20 16:24 ` Junio C Hamano
2026-10-20 18:16 ` Omri Sarig
0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2026-10-20 16:24 UTC (permalink / raw)
To: Omri Sarig; +Cc: git, Jeff King, Li Chen, Phillip Wood, Julia Evans
Omri Sarig <omri.sarig13@gmail.com> writes:
> Several options in the rebase man page link to the "INCOMPATIBLE
> OPTIONS" section when the option is no-longer incompatible with any
> other option.
There are several options listed in the section, but only two of
them are "no longer incompatible". So either:
Several options in the rebase manual page link to the
"INCOMPATIBLE OPTIONS" section, but a few of them are no longer
incompatible with any other option.
or:
A few options in the rebase manual page link to the
"INCOMPATIBLE OPTIONS" section, but they are no longer
incompatible with any other option.
> - Commit 1a66d8c6f6 (rebase: remove --allow-empty-message from
> incompatible opts, 2023-01-25) removed "--allow-empty-message" from
> the INCOMPATIBLE OPTIONS section, but did not remove the link to that
> section from the option description.
> - Commit a74b35081c (rebase: drop support for `--preserve-merges`,
> 2021-09-07) removed the `--preserve-merges` option from rebase, which
> removes all incompatbiilty references to `--ignore-date,
> --reset-author-date` and `--signoff`.
After seeing the explanation for the above two options ...
> Additionally, `--onto` doesn't link to the INCOMPATIBLE OPTIONS section, even
> though it is incompatible with `--keep-base`.
... readers would naturally want to know when this happened. It
seems that when the '--keep-base' option was introduced at
414d924beb (rebase: teach rebase --keep-base, 2019-08-27), the
description for '--keep-base' had the "see incompatible options
below" but the one for '--onto' was not updated, and the manual
stayed that way ever since.
> Update the description of these option, to have correct references to
> the INCOMPATIBLE OPTIONS section.
"these option" -> "these options".
Also, notice the commonality across these three commits? They all
predate the latest tagged release Git 2.56, so as a fix, a change
like this should be prepared to be applicable to the maintenance
track for that release. When queuing the last round (v2), I wiggled
the patch to apply on v2.56.0 while running "git am -3", but perhaps
it would be simpler if you prepared your patch on v2.56.0 on your
end?
FYI, here is what I queued for v2.
diff --git a/Documentation/git-rebase.adoc b/Documentation/git-rebase.adoc
index f6c22d1598..b84b14f02e 100644
--- a/Documentation/git-rebase.adoc
+++ b/Documentation/git-rebase.adoc
@@ -217,6 +217,8 @@ OPTIONS
As a special case, you may use "A\...B" as a shortcut for the
merge base of A and B if there is exactly one merge base. You can
leave out at most one of A and B, in which case it defaults to HEAD.
++
+See also <<INCOMPATIBLE_OPTIONS,INCOMPATIBLE OPTIONS>> below.
See TRANSPLANTING A TOPIC BRANCH WITH --ONTO above for examples.
@@ -332,8 +334,6 @@ See also INCOMPATIBLE OPTIONS below.
and this option would override that behavior, allowing commits
with empty messages to be rebased. Now commits with an empty
message do not cause rebasing to halt.
-+
-See also INCOMPATIBLE OPTIONS below.
-m::
--merge::
@@ -487,15 +487,11 @@ applying (in terms of the author date).
Instead of using the author date of the original commit, use
the current time as the author date of the rebased commit. This
option implies `--force-rebase`.
-+
-See also INCOMPATIBLE OPTIONS below.
--signoff::
Add a `Signed-off-by` trailer to all the rebased commits. Note
that if `--interactive` is given then only commits marked to be
picked, edited or reworded will have the trailer added.
-+
-See also INCOMPATIBLE OPTIONS below.
--trailer=<trailer>::
Append the given trailer to every rebased commit message, processed
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v3] doc: git-rebase: update incompatible options
2026-10-20 16:24 ` Junio C Hamano
@ 2026-10-20 18:16 ` Omri Sarig
0 siblings, 0 replies; 3+ messages in thread
From: Omri Sarig @ 2026-10-20 18:16 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Jeff King, Li Chen, Phillip Wood, Julia Evans
On 20/10/2026 18.24, Junio C Hamano wrote:
> Omri Sarig <omri.sarig13@gmail.com> writes:
>
>> Several options in the rebase man page link to the "INCOMPATIBLE
>> OPTIONS" section when the option is no-longer incompatible with any
>> other option.
> There are several options listed in the section, but only two of
> them are "no longer incompatible". So either:
>
> Several options in the rebase manual page link to the
> "INCOMPATIBLE OPTIONS" section, but a few of them are no longer
> incompatible with any other option.
>
> or:
>
> A few options in the rebase manual page link to the
> "INCOMPATIBLE OPTIONS" section, but they are no longer
> incompatible with any other option.
Will do!
>
>
>> - Commit 1a66d8c6f6 (rebase: remove --allow-empty-message from
>> incompatible opts, 2023-01-25) removed "--allow-empty-message" from
>> the INCOMPATIBLE OPTIONS section, but did not remove the link to that
>> section from the option description.
>> - Commit a74b35081c (rebase: drop support for `--preserve-merges`,
>> 2021-09-07) removed the `--preserve-merges` option from rebase, which
>> removes all incompatbiilty references to `--ignore-date,
>> --reset-author-date` and `--signoff`.
> After seeing the explanation for the above two options ...
>
>> Additionally, `--onto` doesn't link to the INCOMPATIBLE OPTIONS section, even
>> though it is incompatible with `--keep-base`.
> ... readers would naturally want to know when this happened. It
> seems that when the '--keep-base' option was introduced at
> 414d924beb (rebase: teach rebase --keep-base, 2019-08-27), the
> description for '--keep-base' had the "see incompatible options
> below" but the one for '--onto' was not updated, and the manual
> stayed that way ever since.
That makes sense, I'll add it.
>> Update the description of these option, to have correct references to
>> the INCOMPATIBLE OPTIONS section.
> "these option" -> "these options".
Will do!
>
> Also, notice the commonality across these three commits? They all
> predate the latest tagged release Git 2.56, so as a fix, a change
> like this should be prepared to be applicable to the maintenance
> track for that release. When queuing the last round (v2), I wiggled
> the patch to apply on v2.56.0 while running "git am -3", but perhaps
> it would be simpler if you prepared your patch on v2.56.0 on your
> end?
Sorry, will fix.
I've read the SubmittingPatches#choose-starting-point documentation now, and
will know for next time.
>
> FYI, here is what I queued for v2.
>
>
> diff --git a/Documentation/git-rebase.adoc b/Documentation/git-rebase.adoc
> index f6c22d1598..b84b14f02e 100644
> --- a/Documentation/git-rebase.adoc
> +++ b/Documentation/git-rebase.adoc
> @@ -217,6 +217,8 @@ OPTIONS
> As a special case, you may use "A\...B" as a shortcut for the
> merge base of A and B if there is exactly one merge base. You can
> leave out at most one of A and B, in which case it defaults to HEAD.
> ++
> +See also <<INCOMPATIBLE_OPTIONS,INCOMPATIBLE OPTIONS>> below.
Given that the maintenance branch predates 2fc11e3382 (doc: add more
AsciiDoc
cross-references, 2026-09-25), none of the other lines have the AsciiDoc
link.
I'd expect this change to be:
++
+See also INCOMPATIBLE OPTIONS below.
to match the rest of the messages in this file.
Is this correct, or should my patch include the "final" version of the line,
with the AsciiDoc link?
In case the line should be without a link, I guess that the link will be
added
during one of the merges? Should I provide any help/support for that in the
current patchset?
>
> See TRANSPLANTING A TOPIC BRANCH WITH --ONTO above for examples.
>
> @@ -332,8 +334,6 @@ See also INCOMPATIBLE OPTIONS below.
> and this option would override that behavior, allowing commits
> with empty messages to be rebased. Now commits with an empty
> message do not cause rebasing to halt.
> -+
> -See also INCOMPATIBLE OPTIONS below.
>
> -m::
> --merge::
> @@ -487,15 +487,11 @@ applying (in terms of the author date).
> Instead of using the author date of the original commit, use
> the current time as the author date of the rebased commit. This
> option implies `--force-rebase`.
> -+
> -See also INCOMPATIBLE OPTIONS below.
>
> --signoff::
> Add a `Signed-off-by` trailer to all the rebased commits. Note
> that if `--interactive` is given then only commits marked to be
> picked, edited or reworded will have the trailer added.
> -+
> -See also INCOMPATIBLE OPTIONS below.
>
> --trailer=<trailer>::
> Append the given trailer to every rebased commit message, processed
Thank you for the review, it is really appreciated.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-10-20 18:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-20 15:09 [PATCH v3] doc: git-rebase: update incompatible options Omri Sarig
2026-10-20 16:24 ` Junio C Hamano
2026-10-20 18:16 ` Omri Sarig
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.