{"thread":{"id":"59452","subject":"[PATCH] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","startedAt":"2023-03-23T16:47:35Z","lastAt":"2023-08-10T23:57:33Z","messageCount":22,"participants":["Oswald Buddenhagen","Junio C Hamano","Felipe Contreras","Phillip Wood"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"474006","messageId":"20230323162234.995450-1-oswald.buddenhagen@gmx.de","threadId":"59452","inReplyTo":null,"subject":"[PATCH] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Oswald Buddenhagen","fromEmail":"oswald.buddenhagen@gmx.de","sentAt":"2023-03-23T16:22:34Z","receivedAt":"2023-03-23T16:47:35Z","isPatch":true,"sender":{"key":"oswald.buddenhagen@gmx.de","avatar":"https://avatars.githubusercontent.com/u/812380?v=4"},"body":"- Make the documentation reflect better what actually happens, and add\n  some missing info\n- Fix recognition of reset's short command in FAKE_LINES\n- Default next action after 'fakesha' to preserving the command instead\n  of forcing 'pick'. This is consistent with other \"instant-effect\"\n  keywords.\n\nSigned-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>\n---\n t/lib-rebase.sh | 25 ++++++++++++++-----------\n 1 file changed, 14 insertions(+), 11 deletions(-)\n\ndiff --git a/t/lib-rebase.sh b/t/lib-rebase.sh\nindex 7ca5b918f0..184b25b427 100644\n--- a/t/lib-rebase.sh\n+++ b/t/lib-rebase.sh\n@@ -8,18 +8,21 @@\n # - check that non-commit messages have a certain line count with $EXPECT_COUNT\n # - check the commit count in the commit message header with $EXPECT_HEADER_COUNT\n # - rewrite a rebase -i script as directed by $FAKE_LINES.\n-#   $FAKE_LINES consists of a sequence of words separated by spaces.\n-#   The following word combinations are possible:\n+#   $FAKE_LINES consists of a sequence of words separated by spaces;\n+#   spaces inside the words are encoded as underscores.\n+#   The following words are possible:\n #\n-#   \"<lineno>\" -- add a \"pick\" line with the SHA1 taken from the\n-#       specified line.\n+#   \"<cmd>\" -- override the command for the next line specification. Can be\n+#       \"pick\", \"squash\", \"fixup\"|\"fixup_-C\"|\"fixup_-c\", \"edit\", \"reword\",\n+#       \"drop\", \"merge[_-{c|C}_<SHA1>]\", or \"bad\" for an invalid command.\n #\n-#   \"<cmd> <lineno>\" -- add a line with the specified command\n-#       (\"pick\", \"squash\", \"fixup\"|\"fixup_-C\"|\"fixup_-c\", \"edit\", \"reword\" or \"drop\")\n-#       and the SHA1 taken from the specified line.\n+#   \"<lineno>\" -- add a command, using the specified line as a template.\n+#       If the command has not been overridden, the line will be copied\n+#       verbatim, usually resulting in a \"pick\" line.\n #\n-#   \"_\" -- add a space, like \"fixup_-C\" implies \"fixup -C\" and\n-#       \"exec_cmd_with_args\" add an \"exec cmd with args\" line.\n+#   \"fakesha\" -- add a command (\"pick\" by default), using a fake SHA1.\n+#\n+#   \"exec_[...]\", \"break\" -- add the specified command.\n #\n #   \"#\" -- Add a comment line.\n #\n@@ -49,7 +52,7 @@ set_fake_editor () {\n \taction=\\&\n \tfor line in $FAKE_LINES; do\n \t\tcase $line in\n-\t\tpick|p|squash|s|fixup|f|edit|e|reword|r|drop|d|label|l|reset|r|merge|m)\n+\t\tpick|p|squash|s|fixup|f|edit|e|reword|r|drop|d|label|l|reset|t|merge|m)\n \t\t\taction=\"$line\";;\n \t\texec_*|x_*|break|b)\n \t\t\techo \"$line\" | sed 's/_/ /g' >> \"$1\";;\n@@ -64,7 +67,7 @@ set_fake_editor () {\n \t\tfakesha)\n \t\t\ttest \\& != \"$action\" || action=pick\n \t\t\techo \"$action XXXXXXX False commit\" >> \"$1\"\n-\t\t\taction=pick;;\n+\t\t\taction=\\&;;\n \t\t*)\n \t\t\tsed -n \"${line}s/^[a-z][a-z]*/$action/p\" < \"$1\".tmp >> \"$1\"\n \t\t\taction=\\&;;\n-- \n2.40.0.152.g15d061e6df\n\n"},{"id":"476116","messageId":"ZElHNTiFCblfIDEe@ugly","threadId":"59452","inReplyTo":"20230323162234.995450-1-oswald.buddenhagen@gmx.de","subject":"Re: [PATCH] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Oswald Buddenhagen","fromEmail":"oswald.buddenhagen@gmx.de","sentAt":"2023-04-26T15:45:57Z","receivedAt":"2023-04-26T15:46:07Z","isPatch":true,"sender":{"key":"oswald.buddenhagen@gmx.de","avatar":"https://avatars.githubusercontent.com/u/812380?v=4"},"body":"ping!\n\n(also on three other unanswered patches from the same day.)\n\n"},{"id":"476121","messageId":"xmqq7ctytv2y.fsf@gitster.g","threadId":"59452","inReplyTo":"ZElHNTiFCblfIDEe@ugly","subject":"Re: [PATCH] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2023-04-26T17:24:53Z","receivedAt":"2023-04-26T17:25:27Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:\n\n> ping!\n>\n> (also on three other unanswered patches from the same day.)\n\nI would be a wrong person to ping.  \n\n    $ git shortlog -n -s --since=18.months --no-merges master -- t/lib-rebase.sh\n         2\tPhillip Wood\n         1\tDerrick Stolee\n\nRunning \"git blame\" on the lines the patch touched may give you\nfolks who may know better than these two but those who made\ncontributions long time ago whose contributions still survive to\nthis day may no longer be around in the project, so your mileage may\nvary.  \n\n\"git blame\" for the line that uses \"action=\\&\" finds 5dcdd740\n(t/lib-rebase: prepare for testing `git rebase --rebase-merges`,\n2019-07-31) and explains why \"pick\" was changed to \"\\&\", so adding\nthe author of that patch to the list of people you ask reviews for\nmay also be a good idea.\n\nHTH for you to find appropriate reviewers better next time.\n\nThanks.\n"},{"id":"476434","messageId":"64513c6b3531f_1ba2d2945f@chronos.notmuch","threadId":"59452","inReplyTo":"xmqq7ctytv2y.fsf@gitster.g","subject":"Re: [PATCH] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2023-05-02T16:38:03Z","receivedAt":"2023-05-02T16:38:27Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Junio C Hamano wrote:\n> Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:\n> \n> > ping!\n> >\n> > (also on three other unanswered patches from the same day.)\n> \n> I would be a wrong person to ping.  \n> \n>     $ git shortlog -n -s --since=18.months --no-merges master -- t/lib-rebase.sh\n>          2\tPhillip Wood\n>          1\tDerrick Stolee\n\nAlso:\n\nhttps://github.com/felipec/git-related\n\n-- \nFelipe Contreras\n"},{"id":"477432","messageId":"a803e1ad-1025-164a-f7ca-cc1a41e4f12b@gmail.com","threadId":"59452","inReplyTo":"20230323162234.995450-1-oswald.buddenhagen@gmx.de","subject":"Re: [PATCH] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Phillip Wood","fromEmail":"phillip.wood123@gmail.com","sentAt":"2023-05-17T09:23:48Z","receivedAt":"2023-05-17T09:24:02Z","isPatch":true,"sender":{"key":"phillip.wood@dunelm.org.uk","avatar":null},"body":"Hi Oswald\n\nOn 23/03/2023 16:22, Oswald Buddenhagen wrote:\n\nThis project avoids commit messages that are a list of changes instead \npreferring the commit message to explain _why_ the changes are being \nmade. The reason for this is that it makes it much easier for a future \ncontributor to understand the reasoning behind a particular change. \nHaving a list of changes is often a symptom that the commit is trying to \ndo more than one thing at once and should be split up. Here there are \nthree separate changes all mixed into the same commit.\n\n> - Make the documentation reflect better what actually happens, and add\n>    some missing info\n\nHaving read the proposed changes to the documentation I'm not sure what \nit is in the original you're objecting to. The script may well process \neach token separately but as far as the user is concerned it appears to \ntake either \"<cmd> <lineno>\" or \"<lineno>\"\n\n> - Fix recognition of reset's short command in FAKE_LINES\n\nThis fix is definitely needed and should be in its own commit in a \nseparate series to any of the other changes here so it can be applied \nwithout being held up by discussions on those other changes. Presumably \nwe don't have any users of the short reset command name as it has been \nbroken ever since it was introduced in 5dcdd7409a (t/lib-rebase: prepare \nfor testing `git rebase --rebase-merges`, 2019-07-31)\n\n> - Default next action after 'fakesha' to preserving the command instead\n>    of forcing 'pick'. This is consistent with other \"instant-effect\"\n>    keywords.\n\nI'm not sure what the motivation for this change is. What does it \nfacilitate that we cannot do now and why do we want to do whatever that is?\n\nBest Wishes\n\nPhillip\n\n> Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>\n> ---\n>   t/lib-rebase.sh | 25 ++++++++++++++-----------\n>   1 file changed, 14 insertions(+), 11 deletions(-)\n> \n> diff --git a/t/lib-rebase.sh b/t/lib-rebase.sh\n> index 7ca5b918f0..184b25b427 100644\n> --- a/t/lib-rebase.sh\n> +++ b/t/lib-rebase.sh\n> @@ -8,18 +8,21 @@\n>   # - check that non-commit messages have a certain line count with $EXPECT_COUNT\n>   # - check the commit count in the commit message header with $EXPECT_HEADER_COUNT\n>   # - rewrite a rebase -i script as directed by $FAKE_LINES.\n> -#   $FAKE_LINES consists of a sequence of words separated by spaces.\n> -#   The following word combinations are possible:\n> +#   $FAKE_LINES consists of a sequence of words separated by spaces;\n> +#   spaces inside the words are encoded as underscores.\n> +#   The following words are possible:\n>   #\n> -#   \"<lineno>\" -- add a \"pick\" line with the SHA1 taken from the\n> -#       specified line.\n> +#   \"<cmd>\" -- override the command for the next line specification. Can be\n> +#       \"pick\", \"squash\", \"fixup\"|\"fixup_-C\"|\"fixup_-c\", \"edit\", \"reword\",\n> +#       \"drop\", \"merge[_-{c|C}_<SHA1>]\", or \"bad\" for an invalid command.\n>   #\n> -#   \"<cmd> <lineno>\" -- add a line with the specified command\n> -#       (\"pick\", \"squash\", \"fixup\"|\"fixup_-C\"|\"fixup_-c\", \"edit\", \"reword\" or \"drop\")\n> -#       and the SHA1 taken from the specified line.\n> +#   \"<lineno>\" -- add a command, using the specified line as a template.\n> +#       If the command has not been overridden, the line will be copied\n> +#       verbatim, usually resulting in a \"pick\" line.\n>   #\n> -#   \"_\" -- add a space, like \"fixup_-C\" implies \"fixup -C\" and\n> -#       \"exec_cmd_with_args\" add an \"exec cmd with args\" line.\n> +#   \"fakesha\" -- add a command (\"pick\" by default), using a fake SHA1.\n> +#\n> +#   \"exec_[...]\", \"break\" -- add the specified command.\n>   #\n>   #   \"#\" -- Add a comment line.\n>   #\n> @@ -49,7 +52,7 @@ set_fake_editor () {\n>   \taction=\\&\n>   \tfor line in $FAKE_LINES; do\n>   \t\tcase $line in\n> -\t\tpick|p|squash|s|fixup|f|edit|e|reword|r|drop|d|label|l|reset|r|merge|m)\n> +\t\tpick|p|squash|s|fixup|f|edit|e|reword|r|drop|d|label|l|reset|t|merge|m)\n>   \t\t\taction=\"$line\";;\n>   \t\texec_*|x_*|break|b)\n>   \t\t\techo \"$line\" | sed 's/_/ /g' >> \"$1\";;\n> @@ -64,7 +67,7 @@ set_fake_editor () {\n>   \t\tfakesha)\n>   \t\t\ttest \\& != \"$action\" || action=pick\n>   \t\t\techo \"$action XXXXXXX False commit\" >> \"$1\"\n> -\t\t\taction=pick;;\n> +\t\t\taction=\\&;;\n>   \t\t*)\n>   \t\t\tsed -n \"${line}s/^[a-z][a-z]*/$action/p\" < \"$1\".tmp >> \"$1\"\n>   \t\t\taction=\\&;;\n"},{"id":"480231","messageId":"20230807170935.2336663-2-oswald.buddenhagen@gmx.de","threadId":"59452","inReplyTo":"20230807170935.2336663-1-oswald.buddenhagen@gmx.de","subject":"[PATCH 1/3] t/lib-rebase: set_fake_editor(): fix recognition of reset's short command","fromName":"Oswald Buddenhagen","fromEmail":"oswald.buddenhagen@gmx.de","sentAt":"2023-08-07T17:09:33Z","receivedAt":"2023-08-07T17:09:39Z","isPatch":true,"sender":{"key":"oswald.buddenhagen@gmx.de","avatar":"https://avatars.githubusercontent.com/u/812380?v=4"},"body":"... in FAKE_LINES.\n\nThis has been broken ever since it was introduced in 5dcdd7409a\n(t/lib-rebase: prepare for testing `git rebase --rebase-merges`,\n2019-07-31), but it's not actually used, so it's a cosmetic defect\nonly.\n\nSigned-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>\n---\nCc: Phillip Wood <phillip.wood123@gmail.com>\n---\n t/lib-rebase.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/lib-rebase.sh b/t/lib-rebase.sh\nindex 7ca5b918f0..e6179ab529 100644\n--- a/t/lib-rebase.sh\n+++ b/t/lib-rebase.sh\n@@ -49,7 +49,7 @@ set_fake_editor () {\n \taction=\\&\n \tfor line in $FAKE_LINES; do\n \t\tcase $line in\n-\t\tpick|p|squash|s|fixup|f|edit|e|reword|r|drop|d|label|l|reset|r|merge|m)\n+\t\tpick|p|squash|s|fixup|f|edit|e|reword|r|drop|d|label|l|reset|t|merge|m)\n \t\t\taction=\"$line\";;\n \t\texec_*|x_*|break|b)\n \t\t\techo \"$line\" | sed 's/_/ /g' >> \"$1\";;\n-- \n2.40.0.152.g15d061e6df\n\n"},{"id":"480232","messageId":"20230807170935.2336663-4-oswald.buddenhagen@gmx.de","threadId":"59452","inReplyTo":"20230807170935.2336663-1-oswald.buddenhagen@gmx.de","subject":"[PATCH 3/3] t/lib-rebase: improve documentation of set_fake_editor()","fromName":"Oswald Buddenhagen","fromEmail":"oswald.buddenhagen@gmx.de","sentAt":"2023-08-07T17:09:35Z","receivedAt":"2023-08-07T17:09:41Z","isPatch":true,"sender":{"key":"oswald.buddenhagen@gmx.de","avatar":"https://avatars.githubusercontent.com/u/812380?v=4"},"body":"- Make it reflect better what actually happens. This makes it easier to\n  fully exploit the possibilities and to modify the code.\n- Improve the structure, putting more general info further up.\n- Document `fakesha` and `break`.\n\nSigned-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>\n---\nCc: Phillip Wood <phillip.wood123@gmail.com>\n---\n t/lib-rebase.sh | 21 ++++++++++++---------\n 1 file changed, 12 insertions(+), 9 deletions(-)\n\ndiff --git a/t/lib-rebase.sh b/t/lib-rebase.sh\nindex 9ed87ca7ab..184b25b427 100644\n--- a/t/lib-rebase.sh\n+++ b/t/lib-rebase.sh\n@@ -8,18 +8,21 @@\n # - check that non-commit messages have a certain line count with $EXPECT_COUNT\n # - check the commit count in the commit message header with $EXPECT_HEADER_COUNT\n # - rewrite a rebase -i script as directed by $FAKE_LINES.\n-#   $FAKE_LINES consists of a sequence of words separated by spaces.\n-#   The following word combinations are possible:\n+#   $FAKE_LINES consists of a sequence of words separated by spaces;\n+#   spaces inside the words are encoded as underscores.\n+#   The following words are possible:\n #\n-#   \"<lineno>\" -- add a \"pick\" line with the SHA1 taken from the\n-#       specified line.\n+#   \"<cmd>\" -- override the command for the next line specification. Can be\n+#       \"pick\", \"squash\", \"fixup\"|\"fixup_-C\"|\"fixup_-c\", \"edit\", \"reword\",\n+#       \"drop\", \"merge[_-{c|C}_<SHA1>]\", or \"bad\" for an invalid command.\n #\n-#   \"<cmd> <lineno>\" -- add a line with the specified command\n-#       (\"pick\", \"squash\", \"fixup\"|\"fixup_-C\"|\"fixup_-c\", \"edit\", \"reword\" or \"drop\")\n-#       and the SHA1 taken from the specified line.\n+#   \"<lineno>\" -- add a command, using the specified line as a template.\n+#       If the command has not been overridden, the line will be copied\n+#       verbatim, usually resulting in a \"pick\" line.\n #\n-#   \"_\" -- add a space, like \"fixup_-C\" implies \"fixup -C\" and\n-#       \"exec_cmd_with_args\" add an \"exec cmd with args\" line.\n+#   \"fakesha\" -- add a command (\"pick\" by default), using a fake SHA1.\n+#\n+#   \"exec_[...]\", \"break\" -- add the specified command.\n #\n #   \"#\" -- Add a comment line.\n #\n-- \n2.40.0.152.g15d061e6df\n\n"},{"id":"480233","messageId":"20230807170935.2336663-1-oswald.buddenhagen@gmx.de","threadId":"59452","inReplyTo":"a803e1ad-1025-164a-f7ca-cc1a41e4f12b@gmail.com","subject":"[PATCH 0/3] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Oswald Buddenhagen","fromEmail":"oswald.buddenhagen@gmx.de","sentAt":"2023-08-07T17:09:32Z","receivedAt":"2023-08-07T17:09:43Z","isPatch":true,"sender":{"key":"oswald.buddenhagen@gmx.de","avatar":"https://avatars.githubusercontent.com/u/812380?v=4"},"body":"An update to the documentation, and two minor functional changes that don't\nactually change anything given current use cases, and are therefore basically\ndocumentation updates as well.\n\nOswald Buddenhagen (3):\n  t/lib-rebase: set_fake_editor(): fix recognition of reset's short\n    command\n  t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently\n  t/lib-rebase: improve documentation of set_fake_editor()\n\n t/lib-rebase.sh | 25 ++++++++++++++-----------\n 1 file changed, 14 insertions(+), 11 deletions(-)\n\n-- \n2.40.0.152.g15d061e6df\n\n"},{"id":"480234","messageId":"20230807170935.2336663-3-oswald.buddenhagen@gmx.de","threadId":"59452","inReplyTo":"20230807170935.2336663-1-oswald.buddenhagen@gmx.de","subject":"[PATCH 2/3] t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently","fromName":"Oswald Buddenhagen","fromEmail":"oswald.buddenhagen@gmx.de","sentAt":"2023-08-07T17:09:34Z","receivedAt":"2023-08-07T17:09:45Z","isPatch":true,"sender":{"key":"oswald.buddenhagen@gmx.de","avatar":"https://avatars.githubusercontent.com/u/812380?v=4"},"body":"Default next action after 'fakesha' to preserving the command instead\nof forcing 'pick', consistently with other \"instant-effect\" keywords.\nThere is no reason why one would want that inconsistency, so this was\nclearly just an oversight in commit 5dcdd740 (\"t/lib-rebase: prepare\nfor testing `git rebase --rebase-merges`\"). Rectifying it makes the\nbehavior easier to reason about and document.\n\nThis would affect hypothetical \"fakesha <n>\" sequences where line <n>\nalready isn't a pick, which currently don't appear.\n\nSigned-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>\n---\nCc: Phillip Wood <phillip.wood123@gmail.com>\n---\n t/lib-rebase.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/lib-rebase.sh b/t/lib-rebase.sh\nindex e6179ab529..9ed87ca7ab 100644\n--- a/t/lib-rebase.sh\n+++ b/t/lib-rebase.sh\n@@ -64,7 +64,7 @@ set_fake_editor () {\n \t\tfakesha)\n \t\t\ttest \\& != \"$action\" || action=pick\n \t\t\techo \"$action XXXXXXX False commit\" >> \"$1\"\n-\t\t\taction=pick;;\n+\t\t\taction=\\&;;\n \t\t*)\n \t\t\tsed -n \"${line}s/^[a-z][a-z]*/$action/p\" < \"$1\".tmp >> \"$1\"\n \t\t\taction=\\&;;\n-- \n2.40.0.152.g15d061e6df\n\n"},{"id":"480250","messageId":"xmqq7cq6fziv.fsf@gitster.g","threadId":"59452","inReplyTo":"20230807170935.2336663-2-oswald.buddenhagen@gmx.de","subject":"Re: [PATCH 1/3] t/lib-rebase: set_fake_editor(): fix recognition of reset's short command","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2023-08-07T19:00:56Z","receivedAt":"2023-08-07T19:01:16Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:\n\n> ... in FAKE_LINES.\n>\n> This has been broken ever since it was introduced in 5dcdd7409a\n> (t/lib-rebase: prepare for testing `git rebase --rebase-merges`,\n> 2019-07-31), but it's not actually used, so it's a cosmetic defect\n> only.\n\nSharp eyes.  And this makes the list match what is actually used and\ndefined in sequencer.c which is good.\n\nThanks.\n\n>\n> Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>\n> ---\n> Cc: Phillip Wood <phillip.wood123@gmail.com>\n> ---\n>  t/lib-rebase.sh | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/t/lib-rebase.sh b/t/lib-rebase.sh\n> index 7ca5b918f0..e6179ab529 100644\n> --- a/t/lib-rebase.sh\n> +++ b/t/lib-rebase.sh\n> @@ -49,7 +49,7 @@ set_fake_editor () {\n>  \taction=\\&\n>  \tfor line in $FAKE_LINES; do\n>  \t\tcase $line in\n> -\t\tpick|p|squash|s|fixup|f|edit|e|reword|r|drop|d|label|l|reset|r|merge|m)\n> +\t\tpick|p|squash|s|fixup|f|edit|e|reword|r|drop|d|label|l|reset|t|merge|m)\n>  \t\t\taction=\"$line\";;\n>  \t\texec_*|x_*|break|b)\n>  \t\t\techo \"$line\" | sed 's/_/ /g' >> \"$1\";;\n"},{"id":"480251","messageId":"xmqqzg32ekku.fsf@gitster.g","threadId":"59452","inReplyTo":"20230807170935.2336663-3-oswald.buddenhagen@gmx.de","subject":"Re: [PATCH 2/3] t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2023-08-07T19:09:05Z","receivedAt":"2023-08-07T19:09:12Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:\n\n> Default next action after 'fakesha' to preserving the command instead\n> of forcing 'pick', consistently with other \"instant-effect\" keywords.\n> There is no reason why one would want that inconsistency, so this was\n> clearly just an oversight in commit 5dcdd740 (\"t/lib-rebase: prepare\n> for testing `git rebase --rebase-merges`\"). Rectifying it makes the\n> behavior easier to reason about and document.\n>\n> This would affect hypothetical \"fakesha <n>\" sequences where line <n>\n> already isn't a pick, which currently don't appear.\n>\n> Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>\n> ---\n> Cc: Phillip Wood <phillip.wood123@gmail.com>\n> ---\n>  t/lib-rebase.sh | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n\nI do recall seeing this change and remember wondering what the\nfallout from this change would be.  So relative to the previous\nround, the above is a definite improvement to clearly state that no\ntest that is currently in the codebase is affected by this change.\n\nAs to the change itself, I do not much care among (1) what this\npatch does, (2) doing nothing, or (3) barf when the action is not a\npick.  At least, having this step separate from other changes like\nthis round of the series does is a very good thing---when somebody\nwith more knowledge and stake in what the fake-editor does appears\nand explains why forcing pick is a good idea, we can easily revert\nonly this step.\n\nWill queue as-is together with the other two patches.\n\nThanks.\n\n> diff --git a/t/lib-rebase.sh b/t/lib-rebase.sh\n> index e6179ab529..9ed87ca7ab 100644\n> --- a/t/lib-rebase.sh\n> +++ b/t/lib-rebase.sh\n> @@ -64,7 +64,7 @@ set_fake_editor () {\n>  \t\tfakesha)\n>  \t\t\ttest \\& != \"$action\" || action=pick\n>  \t\t\techo \"$action XXXXXXX False commit\" >> \"$1\"\n> -\t\t\taction=pick;;\n> +\t\t\taction=\\&;;\n>  \t\t*)\n>  \t\t\tsed -n \"${line}s/^[a-z][a-z]*/$action/p\" < \"$1\".tmp >> \"$1\"\n>  \t\t\taction=\\&;;\n"},{"id":"480357","messageId":"8ce40f48-f36f-9e81-1a3f-9d8b170c4a0f@gmail.com","threadId":"59452","inReplyTo":"20230807170935.2336663-4-oswald.buddenhagen@gmx.de","subject":"Re: [PATCH 3/3] t/lib-rebase: improve documentation of set_fake_editor()","fromName":"Phillip Wood","fromEmail":"phillip.wood123@gmail.com","sentAt":"2023-08-09T13:04:06Z","receivedAt":"2023-08-09T13:04:12Z","isPatch":true,"sender":{"key":"phillip.wood@dunelm.org.uk","avatar":null},"body":"Hi Oswald\n\nThanks for splitting these patches up. We generally prefer commits \nmessage to be prose explaining the reason for the change rather than \nbullet points.\n\nOn 07/08/2023 18:09, Oswald Buddenhagen wrote:\n> - Make it reflect better what actually happens.\n\n> This makes it easier to\n>    fully exploit the possibilities and to modify the code.\n\nI don't really see how this follows from the first sentence.\n\n> - Improve the structure, putting more general info further up.\n\nGood idea\n\n> - Document `fakesha` and `break`.\n\nGreat\n\n> Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>\n> ---\n> Cc: Phillip Wood <phillip.wood123@gmail.com>\n> ---\n>   t/lib-rebase.sh | 21 ++++++++++++---------\n>   1 file changed, 12 insertions(+), 9 deletions(-)\n> \n> diff --git a/t/lib-rebase.sh b/t/lib-rebase.sh\n> index 9ed87ca7ab..184b25b427 100644\n> --- a/t/lib-rebase.sh\n> +++ b/t/lib-rebase.sh\n> @@ -8,18 +8,21 @@\n>   # - check that non-commit messages have a certain line count with $EXPECT_COUNT\n>   # - check the commit count in the commit message header with $EXPECT_HEADER_COUNT\n>   # - rewrite a rebase -i script as directed by $FAKE_LINES.\n> -#   $FAKE_LINES consists of a sequence of words separated by spaces.\n> -#   The following word combinations are possible:\n> +#   $FAKE_LINES consists of a sequence of words separated by spaces;\n> +#   spaces inside the words are encoded as underscores.\n> +#   The following words are possible:\n>   #\n> -#   \"<lineno>\" -- add a \"pick\" line with the SHA1 taken from the\n> -#       specified line.\n> +#   \"<cmd>\" -- override the command for the next line specification. Can be\n> +#       \"pick\", \"squash\", \"fixup\"|\"fixup_-C\"|\"fixup_-c\", \"edit\", \"reword\",\n> +#       \"drop\", \"merge[_-{c|C}_<SHA1>]\", \n\nThere is an inconsistency here in how we document fixup and merge. The \nformer explicitly lists all possibilities and the latter uses a more \ncompact notation. Note that we use docopt style descriptions for options \nso \"{c|C}\" would be written as \"(c|C)\". Also \"merge -c/C\" takes a \ncommitish (which we could write as <rev>\" rather than a hex object ID.\n\n > or \"bad\" for an invalid command.\n\nThis is a useful addition\n\n> -#   \"<cmd> <lineno>\" -- add a line with the specified command\n> -#       (\"pick\", \"squash\", \"fixup\"|\"fixup_-C\"|\"fixup_-c\", \"edit\", \"reword\" or \"drop\")\n> -#       and the SHA1 taken from the specified line.\n> +#   \"<lineno>\" -- add a command, using the specified line as a template.\n> +#       If the command has not been overridden, the line will be copied\n> +#       verbatim, usually resulting in a \"pick\" line.\n>   #\n> -#   \"_\" -- add a space, like \"fixup_-C\" implies \"fixup -C\" and\n> -#       \"exec_cmd_with_args\" add an \"exec cmd with args\" line.\n> +#   \"fakesha\" -- add a command (\"pick\" by default), using a fake SHA1.\n> +#\n> +#   \"exec_[...]\", \"break\" -- add the specified command.\n\nSomething like\n\texec[_<command ...>]\n\nwould be more accurate I think\n\nI think with a couple of tweaks this would be worthwhile improvement to \nthe documentation. Having comprehensive coverage of all the commands is \nvery welcome.\n\nThanks\n\nPhillip\n\n"},{"id":"480358","messageId":"9a073127-cecb-12d8-c49e-6eceaffcf16b@gmail.com","threadId":"59452","inReplyTo":"20230807170935.2336663-1-oswald.buddenhagen@gmx.de","subject":"Re: [PATCH 0/3] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Phillip Wood","fromEmail":"phillip.wood123@gmail.com","sentAt":"2023-08-09T13:05:59Z","receivedAt":"2023-08-09T13:06:07Z","isPatch":true,"sender":{"key":"phillip.wood@dunelm.org.uk","avatar":null},"body":"On 07/08/2023 18:09, Oswald Buddenhagen wrote:\n> An update to the documentation, and two minor functional changes that don't\n> actually change anything given current use cases, and are therefore basically\n> documentation updates as well.\n\nThanks for re-rolling. I've left a couple of comments on the third \npatch, I don't have anything to add to Junio's comments on the first two.\n\nBest Wishes\n\nPhillip\n\n> Oswald Buddenhagen (3):\n>    t/lib-rebase: set_fake_editor(): fix recognition of reset's short\n>      command\n>    t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently\n>    t/lib-rebase: improve documentation of set_fake_editor()\n> \n>   t/lib-rebase.sh | 25 ++++++++++++++-----------\n>   1 file changed, 14 insertions(+), 11 deletions(-)\n> \n\n"},{"id":"480370","messageId":"20230809171531.2564785-2-oswald.buddenhagen@gmx.de","threadId":"59452","inReplyTo":"20230809171531.2564785-1-oswald.buddenhagen@gmx.de","subject":"[PATCH v2 1/1] t/lib-rebase: improve documentation of set_fake_editor()","fromName":"Oswald Buddenhagen","fromEmail":"oswald.buddenhagen@gmx.de","sentAt":"2023-08-09T17:15:31Z","receivedAt":"2023-08-09T17:15:44Z","isPatch":true,"sender":{"key":"oswald.buddenhagen@gmx.de","avatar":"https://avatars.githubusercontent.com/u/812380?v=4"},"body":"Firstly, make it reflect better what actually happens. Not omitting some\npossibilities makes it easier to fully exploit them, and not\ncontradicting the implementation makes it easier to grok and thus modify\nthe code.\n\nSecondly, improve the overall structure, putting more general info\nfurther up.\n\nThirdly, document `merge`, `fakesha`, and `break`, which were previously\nomitted entirely.\n\nSigned-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>\n\n---\nv2:\n- everything phillip asked for, i think. of course, it's still bullet\n  points, just without the punctuation - i wouldn't know what else to\n  do about it which would be an actual improvement.\n\nCc: Phillip Wood <phillip.wood123@gmail.com>\n---\n t/lib-rebase.sh | 21 ++++++++++++---------\n 1 file changed, 12 insertions(+), 9 deletions(-)\n\ndiff --git a/t/lib-rebase.sh b/t/lib-rebase.sh\nindex 7ca5b918f0..133c856992 100644\n--- a/t/lib-rebase.sh\n+++ b/t/lib-rebase.sh\n@@ -8,18 +8,21 @@\n # - check that non-commit messages have a certain line count with $EXPECT_COUNT\n # - check the commit count in the commit message header with $EXPECT_HEADER_COUNT\n # - rewrite a rebase -i script as directed by $FAKE_LINES.\n-#   $FAKE_LINES consists of a sequence of words separated by spaces.\n-#   The following word combinations are possible:\n+#   $FAKE_LINES consists of a sequence of words separated by spaces;\n+#   spaces inside the words are encoded as underscores.\n+#   The following words are possible:\n #\n-#   \"<lineno>\" -- add a \"pick\" line with the SHA1 taken from the\n-#       specified line.\n+#   \"<cmd>\" -- override the command for the next line specification. Can be\n+#       \"pick\", \"squash\", \"fixup[_-(c|C)]\", \"edit\", \"reword\", \"drop\",\n+#       \"merge[_-{c|C}_<rev>]\", or \"bad\" for an invalid command.\n #\n-#   \"<cmd> <lineno>\" -- add a line with the specified command\n-#       (\"pick\", \"squash\", \"fixup\"|\"fixup_-C\"|\"fixup_-c\", \"edit\", \"reword\" or \"drop\")\n-#       and the SHA1 taken from the specified line.\n+#   \"<lineno>\" -- add a command, using the specified line as a template.\n+#       If the command has not been overridden, the line will be copied\n+#       verbatim, usually resulting in a \"pick\" line.\n #\n-#   \"_\" -- add a space, like \"fixup_-C\" implies \"fixup -C\" and\n-#       \"exec_cmd_with_args\" add an \"exec cmd with args\" line.\n+#   \"fakesha\" -- add a command (\"pick\" by default), using a fake SHA1.\n+#\n+#   \"exec_[command...]\", \"break\" -- add the specified command.\n #\n #   \"#\" -- Add a comment line.\n #\n-- \n2.40.0.152.g15d061e6df\n\n"},{"id":"480371","messageId":"20230809171531.2564785-1-oswald.buddenhagen@gmx.de","threadId":"59452","inReplyTo":"8ce40f48-f36f-9e81-1a3f-9d8b170c4a0f@gmail.com","subject":"[PATCH v2 0/1] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Oswald Buddenhagen","fromEmail":"oswald.buddenhagen@gmx.de","sentAt":"2023-08-09T17:15:30Z","receivedAt":"2023-08-09T17:15:44Z","isPatch":true,"sender":{"key":"oswald.buddenhagen@gmx.de","avatar":"https://avatars.githubusercontent.com/u/812380?v=4"},"body":"An update to the documentation, and two minor functional changes that don't\nactually change anything given current use cases, and are therefore basically\ndocumentation updates as well.\n\nOswald Buddenhagen (1):\n  t/lib-rebase: improve documentation of set_fake_editor()\n\n t/lib-rebase.sh | 21 ++++++++++++---------\n 1 file changed, 12 insertions(+), 9 deletions(-)\n\n-- \n2.40.0.152.g15d061e6df\n\n"},{"id":"480391","messageId":"xmqqfs4sm2fu.fsf@gitster.g","threadId":"59452","inReplyTo":"20230809171531.2564785-2-oswald.buddenhagen@gmx.de","subject":"Re: [PATCH v2 1/1] t/lib-rebase: improve documentation of set_fake_editor()","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2023-08-09T19:38:13Z","receivedAt":"2023-08-09T19:38:22Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:\n\n> Firstly, make it reflect better what actually happens. Not omitting some\n> possibilities makes it easier to fully exploit them, and not\n> contradicting the implementation makes it easier to grok and thus modify\n> the code.\n>\n> Secondly, improve the overall structure, putting more general info\n> further up.\n>\n> Thirdly, document `merge`, `fakesha`, and `break`, which were previously\n> omitted entirely.\n>\n> Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>\n>\n> ---\n> v2:\n> - everything phillip asked for, i think. of course, it's still bullet\n>   points, just without the punctuation - i wouldn't know what else to\n>   do about it which would be an actual improvement.\n\nIf more bits are spent for the explanation of concrete changes (like\n\"move general info first and then describe details\") that back\nsubjective claims (e.g. make it \"better\", \"improve\" the structure),\nthe result probably would read better.  Readers do not have to take\nyour word on it that the result is \"better\", but at least would\nunderstand the reason why you think the result is \"better\" and can\nagree (or disagree) more easily.\n\nI am not Phillip but to me what you wrote in the above look clear\nenough.  Thanks for working on it.\n\n> Cc: Phillip Wood <phillip.wood123@gmail.com>\n> ---\n>  t/lib-rebase.sh | 21 ++++++++++++---------\n>  1 file changed, 12 insertions(+), 9 deletions(-)\n>\n> diff --git a/t/lib-rebase.sh b/t/lib-rebase.sh\n> index 7ca5b918f0..133c856992 100644\n> --- a/t/lib-rebase.sh\n> +++ b/t/lib-rebase.sh\n> @@ -8,18 +8,21 @@\n>  # - check that non-commit messages have a certain line count with $EXPECT_COUNT\n>  # - check the commit count in the commit message header with $EXPECT_HEADER_COUNT\n>  # - rewrite a rebase -i script as directed by $FAKE_LINES.\n> -#   $FAKE_LINES consists of a sequence of words separated by spaces.\n> -#   The following word combinations are possible:\n> +#   $FAKE_LINES consists of a sequence of words separated by spaces;\n> +#   spaces inside the words are encoded as underscores.\n> +#   The following words are possible:\n>  #\n> -#   \"<lineno>\" -- add a \"pick\" line with the SHA1 taken from the\n> -#       specified line.\n> +#   \"<cmd>\" -- override the command for the next line specification. Can be\n> +#       \"pick\", \"squash\", \"fixup[_-(c|C)]\", \"edit\", \"reword\", \"drop\",\n> +#       \"merge[_-{c|C}_<rev>]\", or \"bad\" for an invalid command.\n>  #\n> -#   \"<cmd> <lineno>\" -- add a line with the specified command\n> -#       (\"pick\", \"squash\", \"fixup\"|\"fixup_-C\"|\"fixup_-c\", \"edit\", \"reword\" or \"drop\")\n> -#       and the SHA1 taken from the specified line.\n> +#   \"<lineno>\" -- add a command, using the specified line as a template.\n> +#       If the command has not been overridden, the line will be copied\n> +#       verbatim, usually resulting in a \"pick\" line.\n>  #\n> -#   \"_\" -- add a space, like \"fixup_-C\" implies \"fixup -C\" and\n> -#       \"exec_cmd_with_args\" add an \"exec cmd with args\" line.\n> +#   \"fakesha\" -- add a command (\"pick\" by default), using a fake SHA1.\n> +#\n> +#   \"exec_[command...]\", \"break\" -- add the specified command.\n>  #\n>  #   \"#\" -- Add a comment line.\n>  #\n"},{"id":"480403","messageId":"xmqqh6p7lxxx.fsf@gitster.g","threadId":"59452","inReplyTo":"20230809171531.2564785-1-oswald.buddenhagen@gmx.de","subject":"Re: [PATCH v2 0/1] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2023-08-09T21:15:22Z","receivedAt":"2023-08-09T21:15:35Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:\n\n> An update to the documentation, and two minor functional changes that don't\n> actually change anything given current use cases, and are therefore basically\n> documentation updates as well.\n>\n> Oswald Buddenhagen (1):\n>   t/lib-rebase: improve documentation of set_fake_editor()\n>\n>  t/lib-rebase.sh | 21 ++++++++++++---------\n>  1 file changed, 12 insertions(+), 9 deletions(-)\n\nNow I lost track.  This is slightly different from one of the steps\nin the three-patch series.  Were the other two steps retracted?\n\nMy time quota today to pick up newly sent patches has run out, and\nwe will be in pre-release freeze period any time now, so there is no\nneed for an immediate response, but please help readers easily see\nwhich ones are proposed updates that are still surviving.\n\nThanks.\n"},{"id":"480431","messageId":"ZNS/JteS1nhzk58P@ugly","threadId":"59452","inReplyTo":"xmqqh6p7lxxx.fsf@gitster.g","subject":"Re: [PATCH v2 0/1] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Oswald Buddenhagen","fromEmail":"oswald.buddenhagen@gmx.de","sentAt":"2023-08-10T10:42:46Z","receivedAt":"2023-08-10T10:42:50Z","isPatch":true,"sender":{"key":"oswald.buddenhagen@gmx.de","avatar":"https://avatars.githubusercontent.com/u/812380?v=4"},"body":"On Wed, Aug 09, 2023 at 02:15:22PM -0700, Junio C Hamano wrote:\n>Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:\n>\n>> An update to the documentation, and two minor functional changes that don't\n>> actually change anything given current use cases, and are therefore basically\n>> documentation updates as well.\n>>\n>> Oswald Buddenhagen (1):\n>>   t/lib-rebase: improve documentation of set_fake_editor()\n>>\n>>  t/lib-rebase.sh | 21 ++++++++++++---------\n>>  1 file changed, 12 insertions(+), 9 deletions(-)\n>\n>Now I lost track.  This is slightly different from one of the steps\n>in the three-patch series.  Were the other two steps retracted?\n>\nno, this cover letter was a messup on my side, caused by a lack of \nattention and still suboptimal tooling. this was meant to be an update \nto just this one commit, while keeping the other two intact.\n\nregards\n"},{"id":"480437","messageId":"a2830ab8-e938-56e8-4f28-074262c95ed8@gmail.com","threadId":"59452","inReplyTo":"20230809171531.2564785-2-oswald.buddenhagen@gmx.de","subject":"Re: [PATCH v2 1/1] t/lib-rebase: improve documentation of set_fake_editor()","fromName":"Phillip Wood","fromEmail":"phillip.wood123@gmail.com","sentAt":"2023-08-10T14:37:21Z","receivedAt":"2023-08-10T14:37:30Z","isPatch":true,"sender":{"key":"phillip.wood@dunelm.org.uk","avatar":null},"body":"Hi Oswald\n\nOn 09/08/2023 18:15, Oswald Buddenhagen wrote:\n> Firstly, make it reflect better what actually happens. Not omitting some\n> possibilities makes it easier to fully exploit them, and not\n> contradicting the implementation makes it easier to grok and thus modify\n> the code.\n\nThanks for expanding this first point, the new message looks fine to me. \nThe code changes look good apart from one change in the that got missed.\n\n> -#   \"<lineno>\" -- add a \"pick\" line with the SHA1 taken from the\n> -#       specified line.\n> +#   \"<cmd>\" -- override the command for the next line specification. Can be\n> +#       \"pick\", \"squash\", \"fixup[_-(c|C)]\", \"edit\", \"reword\", \"drop\",\n> +#       \"merge[_-{c|C}_<rev>]\", or \"bad\" for an invalid command.\n\nThis is still using \"{}\" in the merge documentation rather than \"()\" \nlike the new fixup docs.\n\nThanks\n\nPhillip\n"},{"id":"480440","messageId":"xmqq1qgaj3sj.fsf@gitster.g","threadId":"59452","inReplyTo":"a2830ab8-e938-56e8-4f28-074262c95ed8@gmail.com","subject":"Re: [PATCH v2 1/1] t/lib-rebase: improve documentation of set_fake_editor()","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2023-08-10T15:49:32Z","receivedAt":"2023-08-10T15:49:45Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Phillip Wood <phillip.wood123@gmail.com> writes:\n\n> Hi Oswald\n>\n> On 09/08/2023 18:15, Oswald Buddenhagen wrote:\n>> Firstly, make it reflect better what actually happens. Not omitting some\n>> possibilities makes it easier to fully exploit them, and not\n>> contradicting the implementation makes it easier to grok and thus modify\n>> the code.\n>\n> Thanks for expanding this first point, the new message looks fine to\n> me. The code changes look good apart from one change in the that got\n> missed.\n>\n>> -#   \"<lineno>\" -- add a \"pick\" line with the SHA1 taken from the\n>> -#       specified line.\n>> +#   \"<cmd>\" -- override the command for the next line specification. Can be\n>> +#       \"pick\", \"squash\", \"fixup[_-(c|C)]\", \"edit\", \"reword\", \"drop\",\n>> +#       \"merge[_-{c|C}_<rev>]\", or \"bad\" for an invalid command.\n>\n> This is still using \"{}\" in the merge documentation rather than \"()\"\n> like the new fixup docs.\n>\n> Thanks\n\nAh, thanks for sharp eyes.  I can locally tweak these two bytes ;-)\n\n"},{"id":"480441","messageId":"xmqqpm3uhopi.fsf@gitster.g","threadId":"59452","inReplyTo":"ZNS/JteS1nhzk58P@ugly","subject":"Re: [PATCH v2 0/1] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2023-08-10T16:00:41Z","receivedAt":"2023-08-10T16:00:51Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:\n\n> On Wed, Aug 09, 2023 at 02:15:22PM -0700, Junio C Hamano wrote:\n>>Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:\n>>\n>>> An update to the documentation, and two minor functional changes that don't\n>>> actually change anything given current use cases, and are therefore basically\n>>> documentation updates as well.\n>>>\n>>> Oswald Buddenhagen (1):\n>>>   t/lib-rebase: improve documentation of set_fake_editor()\n>>>\n>>>  t/lib-rebase.sh | 21 ++++++++++++---------\n>>>  1 file changed, 12 insertions(+), 9 deletions(-)\n>>\n>>Now I lost track.  This is slightly different from one of the steps\n>>in the three-patch series.  Were the other two steps retracted?\n>>\n> no, this cover letter was a messup on my side, caused by a lack of\n> attention and still suboptimal tooling. this was meant to be an update\n> to just this one commit, while keeping the other two intact.\n\nI see.  It is a bit too late for today's integration cycle to\nresurrect the other two I have discarded, because I have other\nthings to do including the -rc1 release engineering, but I can\neasily go back to the list archive.\n\nFor future reference, in this project, we do not generally replace\nonly a single patch in a three-patch series [*].  We do not want to\ndeal with a mixture of [PATCH v1 1/3], [PATCH v3 2/3], [PATCH v2\n3/3], especially since during the evolution of a series, new patches\nmay become needed, a patch may become split into two, etc.  Instead\neverything gets the new iteration number, i.e. v1 and v2 of patches\n1/3 and 3/3 may be identical and only 2/3 may have differences\nbetween its v1 and v2.  And that is perfectly expected around here.\n\nThanks.\n\n\n[Footnote]\n\n * Of course there are execeptions.  When it is obvious to everybody\n   that the series is more or less done and all things that need to\n   be discussed have been discussed during the review, and the\n   review conclusion is that everything in v4 patch is good except\n   for this minor change necessary in one patch, it would be a good\n   approach to send just a single message, saying \"here is to\n   replace step 2 of the 7 patches\" under the three-dash line and\n   marking it as [PATCH v5 2/7] (or \"v4bis\" or any other marking\n   that makes it clear it is the \"latest\").\n\n"},{"id":"480516","messageId":"xmqqo7jepi1n.fsf@gitster.g","threadId":"59452","inReplyTo":"xmqqpm3uhopi.fsf@gitster.g","subject":"Re: [PATCH v2 0/1] t/lib-rebase: (mostly) cosmetic improvements to set_fake_editor()","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2023-08-10T23:57:24Z","receivedAt":"2023-08-10T23:57:33Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n>> no, this cover letter was a messup on my side, caused by a lack of\n>> attention and still suboptimal tooling. this was meant to be an update\n>> to just this one commit, while keeping the other two intact.\n>\n> I see.  It is a bit too late for today's integration cycle to\n> resurrect the other two I have discarded, because I have other\n> things to do including the -rc1 release engineering, but I can\n> easily go back to the list archive.\n\nNow I did, so instead of queuing this as a replacement of the three,\none of the three from the earlier has been replaced with this, and\nthe push-out of tomorrow will have them in 'seen'.\n\nThis piece-meal replacement may break threading on the mailing list\nbut if we ever need v3 and later for this topic, we will see the\nentire set resent (hopefully), so the problem will correct itself.\nAlso if everybody is happy with all three patches, we may not need\nv3 ;-)\n\nThanks.\n"}]}