Message ID | 20231111132720.78877-6-andy.koppe@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | cb00f524df206f64174840b3f85eb39289e5a038 |
Headers | show |
Series | None | expand |
Andy Koppe <andy.koppe@gmail.com> writes: > +In the rebase todo list, the actions of squash, fixup and amend commits are > +changed from `pick` to `squash`, `fixup` or `fixup -C`, respectively, and they > +are moved right after the commit they modify. The `--interactive` option can > +be used to review and edit the todo list before proceeding. OK, this is good---exactly what I was looking for while reviewing the "lose -i from the description" step earlier in the series. Nicely done.
Hi Andy On 11/11/2023 13:27, Andy Koppe wrote: > Rewrite the description of the rebase --(no-)autosquash options to try > to make it a bit clearer. Don't use "the '...'" to refer to part of a > commit message, mention how --interactive can be used to review the > todo list, and add a bit more detail on commit --squash/amend. This version looks good to me, thanks for working on it Best Wishes Phillip > Signed-off-by: Andy Koppe <andy.koppe@gmail.com> > --- > Documentation/git-rebase.txt | 34 ++++++++++++++++++++-------------- > 1 file changed, 20 insertions(+), 14 deletions(-) > > diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt > index 10548e715c..1dd6555f66 100644 > --- a/Documentation/git-rebase.txt > +++ b/Documentation/git-rebase.txt > @@ -589,21 +589,27 @@ See also INCOMPATIBLE OPTIONS below. > > --autosquash:: > --no-autosquash:: > - When the commit log message begins with "squash! ..." or "fixup! ..." > - or "amend! ...", and there is already a commit in the todo list that > - matches the same `...`, automatically modify the todo list of > - `rebase`, so that the commit marked for squashing comes right after > - the commit to be modified, and change the action of the moved commit > - from `pick` to `squash` or `fixup` or `fixup -C` respectively. A commit > - matches the `...` if the commit subject matches, or if the `...` refers > - to the commit's hash. As a fall-back, partial matches of the commit > - subject work, too. The recommended way to create fixup/amend/squash > - commits is by using the `--fixup`, `--fixup=amend:` or `--fixup=reword:` > - and `--squash` options respectively of linkgit:git-commit[1]. > + Automatically squash commits with specially formatted messages into > + previous commits being rebased. If a commit message starts with > + "squash! ", "fixup! " or "amend! ", the remainder of the subject line > + is taken as a commit specifier, which matches a previous commit if it > + matches the subject line or the hash of that commit. If no commit > + matches fully, matches of the specifier with the start of commit > + subjects are considered. > + > -If the `--autosquash` option is enabled by default using the > -configuration variable `rebase.autoSquash`, this option can be > -used to override and disable this setting. > +In the rebase todo list, the actions of squash, fixup and amend commits are > +changed from `pick` to `squash`, `fixup` or `fixup -C`, respectively, and they > +are moved right after the commit they modify. The `--interactive` option can > +be used to review and edit the todo list before proceeding. > ++ > +The recommended way to create commits with squash markers is by using the > +`--squash`, `--fixup`, `--fixup=amend:` or `--fixup=reword:` options of > +linkgit:git-commit[1], which take the target commit as an argument and > +automatically fill in the subject line of the new commit from that. > ++ > +Settting configuration variable `rebase.autoSquash` to true enables > +auto-squashing by default for interactive rebase. The `--no-autosquash` > +option can be used to override that setting. > + > See also INCOMPATIBLE OPTIONS below. >
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index 10548e715c..1dd6555f66 100644 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@ -589,21 +589,27 @@ See also INCOMPATIBLE OPTIONS below. --autosquash:: --no-autosquash:: - When the commit log message begins with "squash! ..." or "fixup! ..." - or "amend! ...", and there is already a commit in the todo list that - matches the same `...`, automatically modify the todo list of - `rebase`, so that the commit marked for squashing comes right after - the commit to be modified, and change the action of the moved commit - from `pick` to `squash` or `fixup` or `fixup -C` respectively. A commit - matches the `...` if the commit subject matches, or if the `...` refers - to the commit's hash. As a fall-back, partial matches of the commit - subject work, too. The recommended way to create fixup/amend/squash - commits is by using the `--fixup`, `--fixup=amend:` or `--fixup=reword:` - and `--squash` options respectively of linkgit:git-commit[1]. + Automatically squash commits with specially formatted messages into + previous commits being rebased. If a commit message starts with + "squash! ", "fixup! " or "amend! ", the remainder of the subject line + is taken as a commit specifier, which matches a previous commit if it + matches the subject line or the hash of that commit. If no commit + matches fully, matches of the specifier with the start of commit + subjects are considered. + -If the `--autosquash` option is enabled by default using the -configuration variable `rebase.autoSquash`, this option can be -used to override and disable this setting. +In the rebase todo list, the actions of squash, fixup and amend commits are +changed from `pick` to `squash`, `fixup` or `fixup -C`, respectively, and they +are moved right after the commit they modify. The `--interactive` option can +be used to review and edit the todo list before proceeding. ++ +The recommended way to create commits with squash markers is by using the +`--squash`, `--fixup`, `--fixup=amend:` or `--fixup=reword:` options of +linkgit:git-commit[1], which take the target commit as an argument and +automatically fill in the subject line of the new commit from that. ++ +Settting configuration variable `rebase.autoSquash` to true enables +auto-squashing by default for interactive rebase. The `--no-autosquash` +option can be used to override that setting. + See also INCOMPATIBLE OPTIONS below.
Rewrite the description of the rebase --(no-)autosquash options to try to make it a bit clearer. Don't use "the '...'" to refer to part of a commit message, mention how --interactive can be used to review the todo list, and add a bit more detail on commit --squash/amend. Signed-off-by: Andy Koppe <andy.koppe@gmail.com> --- Documentation/git-rebase.txt | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-)