* [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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox