From: Phillip Wood <phillip.wood123@gmail.com>
To: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>, git@vger.kernel.org
Subject: Re: [PATCH] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()
Date: Wed, 17 May 2023 10:23:48 +0100 [thread overview]
Message-ID: <a803e1ad-1025-164a-f7ca-cc1a41e4f12b@gmail.com> (raw)
In-Reply-To: <20230323162234.995450-1-oswald.buddenhagen@gmx.de>
Hi Oswald
On 23/03/2023 16:22, Oswald Buddenhagen wrote:
This project avoids commit messages that are a list of changes instead
preferring the commit message to explain _why_ the changes are being
made. The reason for this is that it makes it much easier for a future
contributor to understand the reasoning behind a particular change.
Having a list of changes is often a symptom that the commit is trying to
do more than one thing at once and should be split up. Here there are
three separate changes all mixed into the same commit.
> - Make the documentation reflect better what actually happens, and add
> some missing info
Having read the proposed changes to the documentation I'm not sure what
it is in the original you're objecting to. The script may well process
each token separately but as far as the user is concerned it appears to
take either "<cmd> <lineno>" or "<lineno>"
> - Fix recognition of reset's short command in FAKE_LINES
This fix is definitely needed and should be in its own commit in a
separate series to any of the other changes here so it can be applied
without being held up by discussions on those other changes. Presumably
we don't have any users of the short reset command name as it has been
broken ever since it was introduced in 5dcdd7409a (t/lib-rebase: prepare
for testing `git rebase --rebase-merges`, 2019-07-31)
> - Default next action after 'fakesha' to preserving the command instead
> of forcing 'pick'. This is consistent with other "instant-effect"
> keywords.
I'm not sure what the motivation for this change is. What does it
facilitate that we cannot do now and why do we want to do whatever that is?
Best Wishes
Phillip
> Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
> ---
> t/lib-rebase.sh | 25 ++++++++++++++-----------
> 1 file changed, 14 insertions(+), 11 deletions(-)
>
> diff --git a/t/lib-rebase.sh b/t/lib-rebase.sh
> index 7ca5b918f0..184b25b427 100644
> --- a/t/lib-rebase.sh
> +++ b/t/lib-rebase.sh
> @@ -8,18 +8,21 @@
> # - check that non-commit messages have a certain line count with $EXPECT_COUNT
> # - check the commit count in the commit message header with $EXPECT_HEADER_COUNT
> # - rewrite a rebase -i script as directed by $FAKE_LINES.
> -# $FAKE_LINES consists of a sequence of words separated by spaces.
> -# The following word combinations are possible:
> +# $FAKE_LINES consists of a sequence of words separated by spaces;
> +# spaces inside the words are encoded as underscores.
> +# The following words are possible:
> #
> -# "<lineno>" -- add a "pick" line with the SHA1 taken from the
> -# specified line.
> +# "<cmd>" -- override the command for the next line specification. Can be
> +# "pick", "squash", "fixup"|"fixup_-C"|"fixup_-c", "edit", "reword",
> +# "drop", "merge[_-{c|C}_<SHA1>]", or "bad" for an invalid command.
> #
> -# "<cmd> <lineno>" -- add a line with the specified command
> -# ("pick", "squash", "fixup"|"fixup_-C"|"fixup_-c", "edit", "reword" or "drop")
> -# and the SHA1 taken from the specified line.
> +# "<lineno>" -- add a command, using the specified line as a template.
> +# If the command has not been overridden, the line will be copied
> +# verbatim, usually resulting in a "pick" line.
> #
> -# "_" -- add a space, like "fixup_-C" implies "fixup -C" and
> -# "exec_cmd_with_args" add an "exec cmd with args" line.
> +# "fakesha" -- add a command ("pick" by default), using a fake SHA1.
> +#
> +# "exec_[...]", "break" -- add the specified command.
> #
> # "#" -- Add a comment line.
> #
> @@ -49,7 +52,7 @@ set_fake_editor () {
> action=\&
> for line in $FAKE_LINES; do
> case $line in
> - pick|p|squash|s|fixup|f|edit|e|reword|r|drop|d|label|l|reset|r|merge|m)
> + pick|p|squash|s|fixup|f|edit|e|reword|r|drop|d|label|l|reset|t|merge|m)
> action="$line";;
> exec_*|x_*|break|b)
> echo "$line" | sed 's/_/ /g' >> "$1";;
> @@ -64,7 +67,7 @@ set_fake_editor () {
> fakesha)
> test \& != "$action" || action=pick
> echo "$action XXXXXXX False commit" >> "$1"
> - action=pick;;
> + action=\&;;
> *)
> sed -n "${line}s/^[a-z][a-z]*/$action/p" < "$1".tmp >> "$1"
> action=\&;;
next prev parent reply other threads:[~2023-05-17 9:24 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-23 16:22 [PATCH] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor() Oswald Buddenhagen
2023-04-26 15:45 ` Oswald Buddenhagen
2023-04-26 17:24 ` Junio C Hamano
2023-05-02 16:38 ` Felipe Contreras
2023-05-17 9:23 ` Phillip Wood [this message]
2023-08-07 17:09 ` [PATCH 0/3] " Oswald Buddenhagen
2023-08-07 17:09 ` [PATCH 1/3] t/lib-rebase: set_fake_editor(): fix recognition of reset's short command Oswald Buddenhagen
2023-08-07 19:00 ` Junio C Hamano
2023-08-07 17:09 ` [PATCH 2/3] t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently Oswald Buddenhagen
2023-08-07 19:09 ` Junio C Hamano
2023-08-07 17:09 ` [PATCH 3/3] t/lib-rebase: improve documentation of set_fake_editor() Oswald Buddenhagen
2023-08-09 13:04 ` Phillip Wood
2023-08-09 17:15 ` [PATCH v2 0/1] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor() Oswald Buddenhagen
2023-08-09 17:15 ` [PATCH v2 1/1] t/lib-rebase: improve documentation of set_fake_editor() Oswald Buddenhagen
2023-08-09 19:38 ` Junio C Hamano
2023-08-10 14:37 ` Phillip Wood
2023-08-10 15:49 ` Junio C Hamano
2023-08-09 21:15 ` [PATCH v2 0/1] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor() Junio C Hamano
2023-08-10 10:42 ` Oswald Buddenhagen
2023-08-10 16:00 ` Junio C Hamano
2023-08-10 23:57 ` Junio C Hamano
2023-08-09 13:05 ` [PATCH 0/3] " Phillip Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a803e1ad-1025-164a-f7ca-cc1a41e4f12b@gmail.com \
--to=phillip.wood123@gmail.com \
--cc=git@vger.kernel.org \
--cc=oswald.buddenhagen@gmx.de \
--cc=phillip.wood@dunelm.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).